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

Sprout from master 2003-04-22 12:44:35 UTC Darin Wright <darin> 'bug 36630 - Change in SourceElementRequestorAdapter'
Cherrypick from master 2003-04-22 14:52:10 UTC Darin Wright <darin> 'prevent tests from haning UI when error dialog opens':
    org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
Delete:
    org.eclipse.jdt.debug.jdi.tests/.classpath
    org.eclipse.jdt.debug.jdi.tests/.cvsignore
    org.eclipse.jdt.debug.jdi.tests/.project
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractJDITest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractReader.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AccessibleTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ArrayReferenceTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ArrayTypeTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/BooleanValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/BreakpointRequestTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ByteValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/CharValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassLoaderReferenceTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareEventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareEventWaiter.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareRequestTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassTypeTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassesByNameTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/DoubleValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventListener.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventReader.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventRequestManagerTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventRequestTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventWaiter.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ExceptionEventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ExceptionRequestTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FieldTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FileConsoleReader.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FloatValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/HotCodeReplacementTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/IntegerValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/InterfaceTypeTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/JDITestCase.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/JDITestSuite.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocalVariableTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocatableTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocationTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LongValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodEntryRequestTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodExitRequestTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MirrorTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ModificationWatchpointEventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/NotYetImplementedException.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/NullConsoleReader.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ObjectReferenceTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/PrimitiveValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ReferenceTypeTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ShortValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StackFrameTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StepEventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StringReferenceTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TestAll.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TextTestResult.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadDeathEventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadGroupReferenceTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadReferenceTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadStartEventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TypeComponentTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TypeTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisconnectEventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisconnectEventWaiter.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisposeTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMInformation.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ValueTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualMachineExitTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualMachineTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/WatchpointEventTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/WatchpointRequestTest.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/MainClass.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/OtherClass.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/Printable.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass1.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass2.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass3.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass4.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass5.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass6.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass7.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz10.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz8.java
    org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz9.java
    org.eclipse.jdt.debug.ui/.classpath
    org.eclipse.jdt.debug.ui/.cvsignore
    org.eclipse.jdt.debug.ui/.options
    org.eclipse.jdt.debug.ui/.project
    org.eclipse.jdt.debug.ui/about.html
    org.eclipse.jdt.debug.ui/build.properties
    org.eclipse.jdt.debug.ui/doc/org_eclipse_jdt_debug_ui.html
    org.eclipse.jdt.debug.ui/doc/org_eclipse_jdt_debug_ui_vmInstallTypePage.html
    org.eclipse.jdt.debug.ui/hglegal2003.htm
    org.eclipse.jdt.debug.ui/icons/full/clcl16/clear_co.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/constant_co.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/deadlock_view.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/exc_catch.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/final_co.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/monitor_view.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/runtoline_co.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/sethitcount_co.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/static_co.gif
    org.eclipse.jdt.debug.ui/icons/full/clcl16/thread_view.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/debug_exc.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/debug_java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/disp_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/insp_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/java_applet.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/java_attach.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/run_exc.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/run_java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/run_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/term_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/var_filters.gif
    org.eclipse.jdt.debug.ui/icons/full/ctool16/watch_exp.gif
    org.eclipse.jdt.debug.ui/icons/full/cview16/thread_and_monitor_view.gif
    org.eclipse.jdt.debug.ui/icons/full/cview16/variable_tab.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/clear_co.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/constant_co.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/deadlock_view.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/exc_catch.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/final_co.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/monitor_view.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/runtoline_co.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/sethitcount_co.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/static_co.gif
    org.eclipse.jdt.debug.ui/icons/full/dlcl16/thread_view.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/debug_java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/disp_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/insp_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/java_applet.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/java_attach.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/run_java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/run_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/term_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/var_filters.gif
    org.eclipse.jdt.debug.ui/icons/full/dtool16/watch_exp.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/clear_co.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/constant_co.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/deadlock_view.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/exc_catch.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/final_co.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/monitor_view.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/runtoline_co.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/sethitcount_co.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/static_co.gif
    org.eclipse.jdt.debug.ui/icons/full/elcl16/thread_view.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/debug_java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/disp_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/insp_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/java_applet.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/java_attach.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/run_java_app.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/run_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/term_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/var_filters.gif
    org.eclipse.jdt.debug.ui/icons/full/etool16/watch_exp.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/brkpi_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/insp_sbook.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/jexception_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/jexceptiond_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/jrtexception_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/jsbook_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/jsbook_run_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/localvariable_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/minus_sign.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/monitor_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/plus_sign.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/read_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/read_obj_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/readwrite_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/readwrite_obj_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/write_obj.gif
    org.eclipse.jdt.debug.ui/icons/full/obj16/write_obj_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/caught_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/caught_ovr_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/conditional_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/conditional_ovr_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/contention_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/contentionformonitor_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/entry_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/entry_ovr_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/error_co.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/exit_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/exit_ovr_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/installed_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/installed_ovr_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/owned_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/ownsmonitor_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/scoped_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/scoped_ovr_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/uncaught_ovr.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/uncaught_ovr_disabled.gif
    org.eclipse.jdt.debug.ui/icons/full/ovr16/warning_co.gif
    org.eclipse.jdt.debug.ui/icons/full/wizban/java_app_wiz.gif
    org.eclipse.jdt.debug.ui/icons/full/wizban/java_attach_wiz.gif
    org.eclipse.jdt.debug.ui/icons/full/wizban/library_wiz.gif
    org.eclipse.jdt.debug.ui/icons/full/wizban/newsbook_wiz.gif
    org.eclipse.jdt.debug.ui/ngibmcpy2003.gif
    org.eclipse.jdt.debug.ui/plugin.properties
    org.eclipse.jdt.debug.ui/plugin.xml
    org.eclipse.jdt.debug.ui/schema/vmInstallTypePage.exsd
    org.eclipse.jdt.debug.ui/scripts/exportplugin.xml
    org.eclipse.jdt.debug.ui/snippetsupport.jar
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/JavaSourceLookupDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/JavaUISourceLocator.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletArgumentsTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletMainTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletParametersTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaArgumentsTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaClasspathTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaConnectTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaMainTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaSourceLookupTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/package.html
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/package.html
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ActionFilterAdapterFactory.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointConditionCompletionProcessor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointUtils.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ConditionalBreakpointErrorDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.properties
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatterCompletionProcessor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatterDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ErrorDialogWithToggle.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/EvaluationContextManager.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ExceptionHandler.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/Filter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/FilterLabelProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/FilterViewerSorter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJDIPreferencesConstants.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJDIStatusConstants.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJavaDebugHelpContextIds.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ImageDescriptorRegistry.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIContentAssistPreference.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIDebugUIPlugin.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIModelPresentation.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDISourceViewer.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugImages.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugPreferencePage.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersManager.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersPreferencePage.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaEvaluationEngineManager.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaHotCodeReplaceListener.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaInspectExpressionActionFilter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaModelListener.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaSourceLocationWorkbenchAdapterFactory.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaStackFrameActionFilter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaStepFilterPreferencePage.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaThreadActionFilter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaVariableActionFilter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWatchExpression.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWatchExpressionActionFilter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWordFinder.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/LocalFileStorageEditorInput.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/MethodActionFilter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/NoLineNumberAttributesStatusHandler.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/StorageEditorInput.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/SuspendTimeoutStatusHandler.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/WatchExpressionDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ZipEntryStorageEditorInput.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractAddStepFilterAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractBreakpointRulerAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractManageBreakpointActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AccessWatchpointToggleAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionDelegateHelper.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.properties
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddAdvancedAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExceptionAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExceptionDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExternalFolderAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExternalJarAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddFolderAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddJarAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddPackageStepFilterAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddProjectAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddTypeStepFilterAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddVariableAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddWatchExpressionAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AttachSourceAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointHitCountAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointLocationVerifier.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointSuspendPolicyToggleAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointToggleAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ConvertToWatchExpressionAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DisplayAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DropToFrameAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EditDetailFormatterAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EditWatchExpressionAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EnableDisableBreakpointRulerAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EnableDisableBreakpointRulerActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EntryToggleAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EvaluateAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionBreakpointFilterEditor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionCaughtToggleAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionUncaughtToggleAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExcludeExceptionLocationAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExecuteAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExitToggleAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InspectAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InstanceFilterViewer.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InstanceFiltersAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPreferencePage.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPreferenceStore.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesRulerAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesRulerActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointRulerAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointRulerActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageMethodBreakpointActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageWatchpointActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ModificationWatchpointToggleAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/MoveDownAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/MoveUpAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/NewDetailFormatterAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ObjectActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ObjectFilter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDeclaringTypeAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDeclaringTypeHierarchyAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDialogAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenReceivingTypeAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenReceivingTypeHierarchyAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenStackFrameAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenTypeAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableConcreteTypeAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableConcreteTypeHierarchyAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableDeclaredTypeAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableDeclaredTypeHierarchyAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableTypeAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/PrimitiveOptionsAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/PrimitiveOptionsDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ProjectSelectionDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ReevaluateWatchExpressionAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RemoveAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RunToLineActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RuntimeClasspathAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowConstantsAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowQualifiedAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowStaticVariablesAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionActionDelegate.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionHandler.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/TerminateEvaluationAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ThreadFilterViewer.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/VariableFilterAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/WatchAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/WatchExpressionAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/ConsoleMessages.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/ConsoleMessages.properties
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/J9ConsoleTracker.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/J9StackTraceHyperlink.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaConsoleTracker.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaNativeStackTraceHyperlink.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaStackTraceHyperlink.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/StringMatcher.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/ClearDisplayAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DataDisplay.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DetailsCompletionProcessor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DetailsViewerConfiguration.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayCompletionProcessor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayMessages.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayMessages.properties
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayView.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayViewAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayViewerConfiguration.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/IDataDisplay.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/JavaInspectExpression.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AddVMDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletLaunchConfigurationUtils.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletSelectionDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletWorkingDirectoryBlock.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ArchiveFileFilter.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ComboFieldEditor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/DefineSystemLibraryQuickFix.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/IAddVMDialogRequestor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/IEntriesChangedListener.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JREContainerWizardPage.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JREResolution.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaAppletLaunchShortcut.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaAppletTabGroup.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaApplicationLaunchShortcut.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaLaunchConfigurationTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JreResolutionGenerator.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LauncherMessages.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LauncherMessages.properties
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ListContentProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LocalJavaApplicationTabGroup.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainMethodFinder.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainTypeSelectionDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/NameValuePairDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RemoteJavaApplicationTabGroup.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathAdvancedDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathEntryLabelProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathViewer.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SelectDefaultSystemLibraryQuickFix.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SelectSystemLibraryQuickFix.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceElementLabelProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceElementQualifierProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceLookupBlock.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/StandardVMCommandTab.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMArgumentsBlock.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMConnectTimeoutStatusHandler.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMContentProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMLabelProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMLibraryBlock.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMPreferencePage.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/WorkingDirectoryBlock.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipContentProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipLabelProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipTreeNode.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/DeadLocksViewContentProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorManager.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorMessages.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorMessages.properties
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorModelPresentation.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorQuitAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorTraceAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsDebugEventHandler.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsView.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsViewContentProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ThreadWrapper.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ThreadsViewContentProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleDeadLocksViewAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleMonitorsViewAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleThreadsViewAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleViewAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ISnippetStateChangedListener.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetEditor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetViewerConfiguration.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookLauncher.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookMain.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookMain1.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SelectImportsAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SelectImportsDialog.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorActionContributor.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorPropertyPage.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetFileDocumentProvider.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetMessages.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetMessages.properties
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenHierarchyOnSelectionAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenOnSelectionAction.java
    org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/StopAction.java
    org.eclipse.jdt.launching.macosx/.classpath
    org.eclipse.jdt.launching.macosx/.cvsignore
    org.eclipse.jdt.launching.macosx/.project
    org.eclipse.jdt.launching.macosx/about.html
    org.eclipse.jdt.launching.macosx/build.properties
    org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/JavaApplicationStub
    org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXDebugVMRunner.java
    org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXLauncherMessages.properties
    org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXLaunchingPlugin.java
    org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMInstall.java
    org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMInstallType.java
    org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMRunner.java
    org.eclipse.jdt.launching.macosx/plugin.properties
    org.eclipse.jdt.launching.macosx/plugin.xml
    org.eclipse.jdt.launching.macosx/scripts/exportplugin.xml
    org.eclipse.jdt.launching/.classpath
    org.eclipse.jdt.launching/.cvsignore
    org.eclipse.jdt.launching/.project
    org.eclipse.jdt.launching/about.html
    org.eclipse.jdt.launching/build.properties
    org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching.html
    org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_classpathProviders.html
    org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_runtimeClasspathEntryResolvers.html
    org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_vmConnectors.html
    org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_vmInstallTypes.html
    org.eclipse.jdt.launching/hglegal2003.htm
    org.eclipse.jdt.launching/java.policy.applet
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/CompositeId.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JREContainer.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JREContainerInitializer.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JRERuntimeClasspathEntryResolver.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaAppletLaunchConfigurationDelegate.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaClasspathVariablesInitializer.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLaunchConfigurationUtils.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLocalApplicationLaunchConfigurationDelegate.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaRemoteApplicationLaunchConfigurationDelegate.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingMessages.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingMessages.properties
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingPlugin.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LibraryInfo.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/ListenerList.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntry.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntryListComparator.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntryResolver.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathProvider.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/SocketAttachConnector.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVM.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMRunner.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMType.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVM.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMDebugger.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMRunner.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/VMDefinitionsContainer.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractJavaLaunchConfigurationDelegate.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstallType.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMRunner.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/ExecutionArguments.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IJavaLaunchConfigurationConstants.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathEntry.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathEntryResolver.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathProvider.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeContainerComparator.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMConnector.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstall.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstallChangedListener.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstallType.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMRunner.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/LibraryLocation.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/PropertyChangeEvent.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/SocketUtil.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/StandardClasspathProvider.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/StandardSourcePathProvider.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/VMRunnerConfiguration.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/VMStandin.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/package.html
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/ArchiveSourceLocation.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/DirectorySourceLocation.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/JavaProjectSourceLocation.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/JavaSourceLocator.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/LocalFileStorage.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/PackageFragmentRootSourceLocation.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/ZipEntryStorage.java
    org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/package.html
    org.eclipse.jdt.launching/lib/launchingsupport.jar
    org.eclipse.jdt.launching/ngibmcpy2003.gif
    org.eclipse.jdt.launching/plugin.properties
    org.eclipse.jdt.launching/plugin.xml
    org.eclipse.jdt.launching/schema/classpathProviders.exsd
    org.eclipse.jdt.launching/schema/runtimeClasspathEntryResolvers.exsd
    org.eclipse.jdt.launching/schema/vmConnectors.exsd
    org.eclipse.jdt.launching/schema/vmInstallTypes.exsd
    org.eclipse.jdt.launching/scripts/buildLaunchingSupportJAR.xml
    org.eclipse.jdt.launching/scripts/exportplugin.xml
    org.eclipse.jdt.launching/support/org/eclipse/jdt/internal/launching/support/LibraryDetector.java
diff --git a/org.eclipse.jdt.debug.jdi.tests/.classpath b/org.eclipse.jdt.debug.jdi.tests/.classpath
deleted file mode 100644
index 3473818..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="tests"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.debug"/>
-    <classpathentry kind="src" path="/org.junit"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.debug.jdi.tests/.cvsignore b/org.eclipse.jdt.debug.jdi.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.jdt.debug.jdi.tests/.project b/org.eclipse.jdt.debug.jdi.tests/.project
deleted file mode 100644
index 14978a5..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/.project
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.debug.jdi.tests</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.jdt.debug</project>
-		<project>org.junit</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractJDITest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractJDITest.java
deleted file mode 100644
index 96ea1d6..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractJDITest.java
+++ /dev/null
@@ -1,1426 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Vector;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import org.eclipse.jdi.Bootstrap;
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.ArrayReference;
-import com.sun.jdi.ArrayType;
-import com.sun.jdi.ClassLoaderReference;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.ClassType;
-import com.sun.jdi.Field;
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.InterfaceType;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.LocalVariable;
-import com.sun.jdi.Location;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.StackFrame;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.VMDisconnectedException;
-import com.sun.jdi.Value;
-import com.sun.jdi.VirtualMachineManager;
-import com.sun.jdi.connect.AttachingConnector;
-import com.sun.jdi.connect.Connector;
-import com.sun.jdi.connect.IllegalConnectorArgumentsException;
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.ExceptionEvent;
-import com.sun.jdi.event.StepEvent;
-import com.sun.jdi.request.AccessWatchpointRequest;
-import com.sun.jdi.request.BreakpointRequest;
-import com.sun.jdi.request.EventRequest;
-import com.sun.jdi.request.ExceptionRequest;
-import com.sun.jdi.request.ModificationWatchpointRequest;
-import com.sun.jdi.request.StepRequest;
-
-/**
- * Tests for com.sun.jdi.* and JDWP commands.
- * These tests assume that the target program is 
- * "org.eclipse.debug.jdi.tests.program.MainClass".
- *
- * Examples of arguments:
- *   -launcher SunVMLauncher -address c:\jdk1.2.2\ -cp d:\target
- *   -launcher J9VMLauncher -address d:\ive\ -cp d:\target
- */
-public abstract class AbstractJDITest extends TestCase {
-	static int TIMEOUT = 10000; //ms
-	static protected int fBackEndPort = 9900;
-	// We want subsequent connections to use different ports.
-	protected String fVMLauncherName;
-	protected String fTargetAddress;
-	protected String fClassPath;
-	protected String fBootPath;
-	protected String fVMType;
-	protected com.sun.jdi.VirtualMachine fVM;
-	protected Process fLaunchedProxy;
-	protected Process fLaunchedVM;
-	protected int fVMTraceFlags = com.sun.jdi.VirtualMachine.TRACE_NONE;
-	protected EventReader fEventReader;
-	protected AbstractReader fConsoleReader;
-	protected AbstractReader fConsoleErrorReader;
-	protected AbstractReader fProxyReader;
-	protected AbstractReader fProxyErrorReader;
-	protected boolean fInControl = true;
-	// Whether this test should control the VM (ie. starting it and shutting it down)
-	protected boolean fVerbose;
-	protected String fStdoutFile;
-	protected String fStderrFile;
-	protected String fProxyoutFile;
-	protected String fProxyerrFile;
-	protected String fVmCmd;
-	protected String fProxyCmd;
-
-	// Stack offset to the MainClass.run() method
-	protected static final int RUN_FRAME_OFFSET = 1;
-
-	/**
-	 * Constructs a test case with a default name.
-	 */
-	public AbstractJDITest() {
-		super("JDI Test");
-	}
-	/**
-	 * Returns the names of the tests that are known to not work
-	 * By default, none are excluded.
-	 */
-	protected String[] excludedTests() {
-		return new String[] {
-		};
-	}
-	/**
-	 * Creates and returns an access watchpoint request
-	 * for the field "fBool" in 
-	 * org.eclipse.debug.jdi.tests.program.MainClass
-	 * NOTE: This assumes that the VM can watch field access.
-	 */
-	protected AccessWatchpointRequest getAccessWatchpointRequest() {
-		// Get the field
-		Field field = getField("fBool");
-
-		// Create an access watchpoint for this field
-		return fVM.eventRequestManager().createAccessWatchpointRequest(field);
-	}
-	/**
-	 * Returns all tests that start with the given string.
-	 * Returns a vector of String.
-	 */
-	protected Vector getAllMatchingTests(String match) {
-		Class theClass = this.getClass();
-		java.lang.reflect.Method[] methods = theClass.getDeclaredMethods();
-		Vector result = new Vector();
-		for (int i = 0; i < methods.length; i++) {
-			java.lang.reflect.Method m = methods[i];
-			String name = m.getName();
-			Class[] parameters = m.getParameterTypes();
-			if (parameters.length == 0 && name.startsWith(match)) {
-				if (!isExcludedTest(name)) {
-					result.add(name);
-				} else
-					System.out.println(name + " is excluded.");
-			}
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns an array reference.
-	 */
-	protected ArrayReference getObjectArrayReference() {
-		// Get static field "fArray"
-		Field field = getField("fArray");
-
-		// Get value of "fArray"
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	
-	/**
-	 * Returns another array reference.
-	 */
-	protected ArrayReference getNonEmptyDoubleArrayReference() {
-		// Get static field "fDoubleArray"
-		Field field = getField("fDoubleArray");
-
-		// Get value of "fDoubleArray"
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	
-	/**
-	 * One-dimensional empty array reference getters
-	 */
-	protected ArrayReference getByteArrayReference() {
-		Field field = getField("byteArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getShortArrayReference() {
-		Field field = getField("shortArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getIntArrayReference() {
-		Field field = getField("intArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getLongArrayReference() {
-		Field field = getField("longArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getDoubleArrayReference() {
-		Field field = getField("doubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getFloatArrayReference() {
-		Field field = getField("floatArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getCharArrayReference() {
-		Field field = getField("charArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getBooleanArrayReference() {
-		Field field = getField("booleanArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	/**
-	 * Two-dimensional array reference getters
-	 */
-	protected ArrayReference getByteDoubleArrayReference() {
-		Field field = getField("byteDoubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getShortDoubleArrayReference() {
-		Field field = getField("shortDoubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getIntDoubleArrayReference() {
-		Field field = getField("intDoubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getLongDoubleArrayReference() {
-		Field field = getField("longDoubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getFloatDoubleArrayReference() {
-		Field field = getField("floatDoubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getDoubleDoubleArrayReference() {
-		Field field = getField("doubleDoubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getCharDoubleArrayReference() {
-		Field field = getField("charDoubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	protected ArrayReference getBooleanDoubleArrayReference() {
-		Field field = getField("booleanDoubleArray");
-		return (ArrayReference) getMainClass().getValue(field);
-	}
-	
-	/**
-	 * Returns the array type.
-	 */
-	protected ArrayType getArrayType() {
-		// Get array reference
-		ArrayReference value = getObjectArrayReference();
-
-		// Get reference type of "fArray"
-		return (ArrayType) value.referenceType();
-	}
-	/**
-	 * One-dimensional primitive array getters
-	 */
-	protected ArrayType getByteArrayType() {
-		ArrayReference value = getByteArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getShortArrayType() {
-		ArrayReference value = getShortArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getIntArrayType() {
-		ArrayReference value = getIntArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getLongArrayType() {
-		ArrayReference value = getLongArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getFloatArrayType() {
-		ArrayReference value = getFloatArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getDoubleArrayType() {
-		ArrayReference value = getDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getCharArrayType() {
-		ArrayReference value = getCharArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getBooleanArrayType() {
-		ArrayReference value = getBooleanArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	/**
-	 * Two-dimensional primitive array getters
-	 */
-	protected ArrayType getByteDoubleArrayType() {
-		ArrayReference value = getByteDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getShortDoubleArrayType() {
-		ArrayReference value = getShortDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getIntDoubleArrayType() {
-		ArrayReference value = getIntDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getLongDoubleArrayType() {
-		ArrayReference value = getLongDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getFloatDoubleArrayType() {
-		ArrayReference value = getFloatDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getDoubleDoubleArrayType() {
-		ArrayReference value = getDoubleDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getCharDoubleArrayType() {
-		ArrayReference value = getCharDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	protected ArrayType getBooleanDoubleArrayType() {
-		ArrayReference value = getBooleanDoubleArrayReference();
-		return (ArrayType) value.referenceType();
-	}
-	
-	/**
-	 * Creates and returns a breakpoint request in the first 
-	 * instruction of the MainClass.triggerBreakpointEvent() method.
-	 */
-	protected BreakpointRequest getBreakpointRequest() {
-		// Create a breakpoint request
-		return fVM.eventRequestManager().createBreakpointRequest(getLocation());
-	}
-	/**
-	 * Returns the class with the given name or null if not loaded.
-	 */
-	protected ClassType getClass(String name) {
-		List classes = fVM.classesByName(name);
-		if (classes.size() == 0)
-			return null;
-		else
-			return (ClassType) classes.get(0);
-	}
-	/**
-	 * Returns the class loader of
-	 * org.eclipse.debug.jdi.tests.program.MainClass
-	 */
-	protected ClassLoaderReference getClassLoaderReference() {
-		// Get main class
-		ClassType type = getMainClass();
-
-		// Get its class loader
-		return type.classLoader();
-	}
-	/**
-	 * Creates and returns an exception request for uncaught exceptions.
-	 */
-	protected ExceptionRequest getExceptionRequest() {
-		return fVM.eventRequestManager().createExceptionRequest(null, false, true);
-	}
-	/**
-	 * Returns the static field "fObject" in 
-	 * org.eclipse.debug.jdi.tests.program.MainClass
-	 */
-	protected Field getField() {
-		return getField("fObject");
-	}
-	/**
-	 * Returns the field with the given name in 
-	 * org.eclipse.debug.jdi.tests.program.MainClass.
-	 */
-	protected Field getField(String fieldName) {
-		// Get main class
-		ClassType type = getMainClass();
-
-		// Get field 
-		Field result = type.fieldByName(fieldName);
-		if (result == null)
-			throw new Error("Unknown field: " + fieldName);
-		else
-			return result;
-	}
-	/**
-	 * Returns the n frame (starting at the top of the stack) of the thread 
-	 * contained in the static field "fThread" of org.eclipse.debug.jdi.tests.program.MainClass.
-	 */
-	protected StackFrame getFrame(int n) {
-		// Make sure the thread is suspended
-		ThreadReference thread = getThread();
-		assertTrue(thread.isSuspended());
-
-		// Get the frame
-		StackFrame frame = null;
-		try {
-			List frames = thread.frames();
-			frame = (StackFrame) frames.get(n);
-		} catch (IncompatibleThreadStateException e) {
-			throw new Error("Thread was not suspended");
-		}
-
-		return frame;
-	}
-	/**
-	 * Returns the interface type org.eclipse.debug.jdi.tests.program.Printable.
-	 */
-	protected InterfaceType getInterfaceType() {
-		List types = fVM.classesByName("org.eclipse.debug.jdi.tests.program.Printable");
-		return (InterfaceType) types.get(0);
-	}
-	/**
-	 * Returns the variable "t" in the frame running MainClass.run().
-	 */
-	protected LocalVariable getLocalVariable() {
-		try {
-			return getFrame(RUN_FRAME_OFFSET).visibleVariableByName("t");
-		} catch (AbsentInformationException e) {
-			return null;
-		}
-	}
-	/**
-	 * Returns the firt location in MainClass.print(OutputStream).
-	 */
-	protected Location getLocation() {
-		return getMethod().location();
-	}
-	/**
-	 * Returns the class org.eclipse.debug.jdi.tests.program.MainClass.
-	 */
-	protected ClassType getMainClass() {
-		return getClass("org.eclipse.debug.jdi.tests.program.MainClass");
-	}
-	/**
-	 * Returns the method "print(Ljava/io/OutputStream;)V" 
-	 * in org.eclipse.debug.jdi.tests.program.MainClass
-	 */
-	protected Method getMethod() {
-		return getMethod("print", "(Ljava/io/OutputStream;)V");
-	}
-	/**
-	 * Returns the method with the given name and signature
-	 * in org.eclipse.debug.jdi.tests.program.MainClass
-	 */
-	protected Method getMethod(String name, String signature) {
-		return getMethod(
-			"org.eclipse.debug.jdi.tests.program.MainClass",
-			name,
-			signature);
-	}
-	/**
-	 * Returns the method with the given name and signature
-	 * in the given class.
-	 */
-	protected Method getMethod(String className, String name, String signature) {
-		// Get main class
-		ClassType type = getClass(className);
-
-		// Get method print(OutputStream)
-		Method method = null;
-		List methods = type.methods();
-		ListIterator iterator = methods.listIterator();
-		while (iterator.hasNext()) {
-			Method m = (Method) iterator.next();
-			if ((m.name().equals(name)) && (m.signature().equals(signature))) {
-				method = m;
-				break;
-			}
-		}
-		if (method == null)
-			throw new Error("Unknown method: " + name + signature);
-		else
-			return method;
-	}
-	/**
-	 * Creates and returns a modification watchpoint request
-	 * for the field "fBool" in
-	 * org.eclipse.debug.jdi.tests.program.MainClass.
-	 * NOTE: This assumes that the VM can watch field modification.
-	 */
-	protected ModificationWatchpointRequest getModificationWatchpointRequest() {
-		// Get the field
-		Field field = getField("fBool");
-
-		// Create a modification watchpoint for this field
-		return fVM.eventRequestManager().createModificationWatchpointRequest(field);
-	}
-	/**
-	 * Returns the value of the static field "fObject" in 
-	 * org.eclipse.debug.jdi.tests.program.MainClass
-	 */
-	protected ObjectReference getObjectReference() {
-		// Get main class
-		ClassType type = getMainClass();
-
-		// Get field "fObject"
-		Field field = getField();
-
-		// Get value of "fObject"
-		return (ObjectReference) type.getValue(field);
-	}
-	/**
-	 * Creates and returns an access watchpoint request
-	 * for the static field "fString" in 
-	 * org.eclipse.debug.jdi.tests.program.MainClass
-	 * NOTE: This assumes that the VM can watch field access.
-	 */
-	protected AccessWatchpointRequest getStaticAccessWatchpointRequest() {
-		// Get the static field
-		Field field = getField("fString");
-
-		// Create an access watchpoint for this field
-		return fVM.eventRequestManager().createAccessWatchpointRequest(field);
-	}
-	/**
-	 * Creates and returns a modification watchpoint request
-	 * for the static field "fString" in
-	 * org.eclipse.debug.jdi.tests.program.MainClass.
-	 * NOTE: This assumes that the VM can watch field modification.
-	 */
-	protected ModificationWatchpointRequest getStaticModificationWatchpointRequest() {
-		// Get the field
-		Field field = getField("fString");
-
-		// Create a modification watchpoint for this field
-		return fVM.eventRequestManager().createModificationWatchpointRequest(field);
-	}
-	/**
-	 * Returns the value of the static field "fString" in 
-	 * org.eclipse.debug.jdi.tests.program.MainClass
-	 */
-	protected StringReference getStringReference() {
-		// Get field "fString"
-		Field field = getField("fString");
-
-		// Get value of "fString"
-		return (StringReference) getMainClass().getValue(field);
-	}
-	/**
-	 * Returns the class java.lang.Object.
-	 */
-	protected ClassType getSystemType() {
-		List classes = fVM.classesByName("java.lang.Object");
-		if (classes.size() == 0)
-			return null;
-		else
-			return (ClassType) classes.get(0);
-	}
-	/**
-	 * Returns the thread contained in the static field "fThread" in 
-	 * org.eclipse.debug.jdi.tests.program.MainClass
-	 */
-	protected ThreadReference getThread() {
-		return getThread("fThread");
-	}
-
-	protected ThreadReference getMainThread() {
-		return getThread("fMainThread");
-	}
-
-	private ThreadReference getThread(String fieldName) {
-		ClassType type = getMainClass();
-		if (type == null)
-			return null;
-
-		// Get static field "fThread"
-		List fields = type.fields();
-		ListIterator iterator = fields.listIterator();
-		Field field = null;
-		while (iterator.hasNext()) {
-			field = (Field) iterator.next();
-			if (field.name().equals(fieldName))
-				break;
-		}
-
-		// Get value of "fThread"
-		Value value = type.getValue(field);
-		if (value == null)
-			return null;
-		else
-			return (ThreadReference) value;
-	}
-	/**
-	 * Returns the VM info for this test.
-	 */
-	VMInformation getVMInfo() {
-		return new VMInformation(
-			fVM,
-			fVMType,
-			fLaunchedVM,
-			fEventReader,
-			fConsoleReader);
-	}
-	/**
-	 * Returns whether the given test is excluded for the VM we are testing.
-	 */
-	private boolean isExcludedTest(String testName) {
-		String[] excludedTests = excludedTests();
-		if (excludedTests == null)
-			return false;
-		for (int i = 0; i < excludedTests.length; i++)
-			if (testName.equals(excludedTests[i]))
-				return true;
-		return false;
-	}
-
-	/**
-	 * Launches the target VM and connects to VM.
-	 */
-	protected void launchTargetAndConnectToVM() {
-		launchTarget();
-		connectToVM();
-	}
-
-	protected boolean vmIsRunning() {
-		boolean isRunning = false;
-		try {
-			if (fLaunchedVM != null)
-				fLaunchedVM.exitValue();
-		} catch (IllegalThreadStateException e) {
-			isRunning = true;
-		}
-		return isRunning;
-	}
-
-	protected void launchTarget() {
-		if (fVmCmd != null)
-			launchCommandLineTarget();
-		else if (fVMLauncherName.equals("SunVMLauncher"))
-			launchSunTarget();
-		else if (fVMLauncherName.equals("IBMVMLauncher"))
-			launchIBMTarget();
-		else
-			launchJ9Target();
-	}
-
-	/**
-	 * Launches the target VM specified on the command line.
-	 */
-	private void launchCommandLineTarget() {
-		try {
-			if (fProxyCmd != null) {
-				fLaunchedProxy = Runtime.getRuntime().exec(fProxyCmd);
-			}
-			fLaunchedVM = Runtime.getRuntime().exec(fVmCmd);
-		} catch (IOException e) {
-			throw new Error("Could not launch the VM because " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Launches the target J9 VM.
-	 */
-	private void launchJ9Target() {
-		try {
-			// Launch proxy
-			String proxyString[] = new String[3];
-			int index = 0;
-			String binDirectory =
-				fTargetAddress
-					+ System.getProperty("file.separator")
-					+ "bin"
-					+ System.getProperty("file.separator");
-			proxyString[index++] = binDirectory + "j9proxy";
-			proxyString[index++] = "localhost:" + (fBackEndPort - 1);
-			proxyString[index++] = "" + fBackEndPort;
-			fLaunchedProxy = Runtime.getRuntime().exec(proxyString);
-
-			// Launch target VM
-			String[] vmString;
-			if (fBootPath.length() > 0)
-				vmString = new String[5];
-			else
-				vmString = new String[4];
-
-			index = 0;
-			vmString[index++] = binDirectory + "j9w";
-			File vm= new File(vmString[index - 1] + ".exe");
-			if (!vm.exists()) {
-				vmString[index - 1] = binDirectory + "j9";
-			}
-			if (fBootPath.length() > 0)
-				vmString[index++] = "-bp:" + fBootPath;
-			vmString[index++] = "-cp:" + fClassPath;
-			vmString[index++] = "-debug:" + (fBackEndPort - 1);
-			vmString[index++] = "org.eclipse.debug.jdi.tests.program.MainClass";
-			fLaunchedVM = Runtime.getRuntime().exec(vmString);
-
-		} catch (IOException e) {
-			throw new Error("Could not launch the VM because " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Launches the target Sun VM.
-	 */
-	private void launchSunTarget() {
-		try {
-			// Launch target VM
-			StringBuffer binDirectory= new StringBuffer();
-			if (fTargetAddress.endsWith("jre")) {
-				binDirectory.append(fTargetAddress.substring(0, fTargetAddress.length() - 4));
-			} else {
-				binDirectory.append(fTargetAddress);
-			}
-			binDirectory.append(System.getProperty("file.separator"));
-			binDirectory.append("bin").append(System.getProperty("file.separator"));
-			String[] vmString;
-			if (fBootPath.length() > 0)
-				vmString = new String[10];
-			else
-				vmString = new String[8];
-
-			int index = 0;
-			vmString[index++] = binDirectory.toString() + "javaw";
-			File vm= new File(vmString[index - 1] + ".exe");
-			if (!vm.exists()) {
-				vmString[index - 1] = binDirectory + "java";
-			}
-			if (fBootPath.length() > 0) {
-				vmString[index++] = "-bootpath";
-				vmString[index++] = fBootPath;
-			}
-			vmString[index++] = "-classpath";
-			vmString[index++] = fClassPath;
-			vmString[index++] = "-Xdebug";
-			vmString[index++] = "-Xnoagent";
-			vmString[index++] = "-Djava.compiler=NONE";
-			vmString[index++] =
-				"-Xrunjdwp:transport=dt_socket,address=" + fBackEndPort + ",suspend=y,server=y";
-			vmString[index++] = "org.eclipse.debug.jdi.tests.program.MainClass";
-			fLaunchedVM = Runtime.getRuntime().exec(vmString);
-
-		} catch (IOException e) {
-			throw new Error("Could not launch the VM because " + e.getMessage());
-		}
-	}
-	/**
-	 * Launches the target IBM VM.
-	 */
-	private void launchIBMTarget() {
-		try {
-			// Launch target VM
-			String binDirectory =
-				fTargetAddress
-					+ System.getProperty("file.separator")
-					+ "bin"
-					+ System.getProperty("file.separator");
-			String[] vmString;
-			if (fBootPath.length() > 0)
-				vmString = new String[10];
-			else
-				vmString = new String[8];
-
-			int index = 0;
-			vmString[index++] = binDirectory + "javaw";
-			if (fBootPath.length() > 0) {
-				vmString[index++] = "-bootpath";
-				vmString[index++] = fBootPath;
-			}
-			vmString[index++] = "-classpath";
-			vmString[index++] = fClassPath;
-			vmString[index++] = "-Xdebug";
-			vmString[index++] = "-Xnoagent";
-			vmString[index++] = "-Djava.compiler=NONE";
-			vmString[index++] =
-				"-Xrunjdwp:transport=dt_socket,address=" + fBackEndPort + ",suspend=y,server=y";
-			vmString[index++] = "org.eclipse.debug.jdi.tests.program.MainClass";
-			fLaunchedVM = Runtime.getRuntime().exec(vmString);
-
-		} catch (IOException e) {
-			throw new Error("Could not launch the VM because " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Conects to the target vm.
-	 */
-	protected void connectToVM() {
-		// Start the console reader if possible so that the VM doesn't block when the stdout is full
-		startConsoleReaders();
-
-		// Contact the VM (try 10 times)
-		for (int i = 0; i < 10; i++) {
-			try {
-				VirtualMachineManager manager = Bootstrap.virtualMachineManager();
-				List connectors = manager.attachingConnectors();
-				if (connectors.size() == 0)
-					break;
-				AttachingConnector connector = (AttachingConnector) connectors.get(0);
-				Map args = connector.defaultArguments();
-				((Connector.Argument) args.get("port")).setValue(String.valueOf(fBackEndPort));
-				((Connector.Argument) args.get("hostname")).setValue("localhost");
-
-				fVM = connector.attach(args);
-				if (fVMTraceFlags != com.sun.jdi.VirtualMachine.TRACE_NONE)
-					fVM.setDebugTraceMode(fVMTraceFlags);
-				break;
-			} catch (IllegalConnectorArgumentsException e) {
-			} catch (IOException e) {
-				System.out.println("Got exception: " + e.getMessage());
-				try {
-					System.out.println(
-						"Could not contact the VM at localhost" + ":" + fBackEndPort + ". Retrying...");
-					Thread.sleep(200);
-				} catch (InterruptedException e2) {
-				}
-			}
-		}
-		if (fVM == null) {
-			if (fLaunchedVM != null) {
-				// If the VM is not running, output error stream
-				try {
-					if (!vmIsRunning()) {
-						InputStream in = fLaunchedVM.getErrorStream();
-						int read;
-						do {
-							read = in.read();
-							if (read != -1)
-								System.out.print((char) read);
-						} while (read != -1);
-					}
-				} catch (IOException e) {
-				}
-
-				// Shut it down
-				killVM();
-			}
-			throw new Error("Could not contact the VM");
-		}
-		startEventReader();
-	}
-	/**
-	 * Initializes the fields that are used by this test only.
-	 */
-	public abstract void localSetUp();
-	/**
-	 * Makes sure the test leaves the VM in the same state it found it.
-	 * Default is to do nothing.
-	 */
-	public void localTearDown() {
-	}
-	/**
-	 * Parses the given arguments and store them in this tests
-	 * fields.
-	 * Returns whether the parsing was successfull.
-	 */
-	protected boolean parseArgs(String[] args) {
-		// Default values
-		String vmVendor = System.getProperty("java.vm.vendor");
-		String vmVersion = System.getProperty("java.vm.version");
-		String targetAddress = System.getProperty("java.home");
-		String vmLauncherName;
-		if (vmVendor != null
-			&& vmVendor.equals("Sun Microsystems Inc.")
-			&& vmVersion != null) {
-			vmLauncherName = "SunVMLauncher";
-		} else if (
-			vmVendor != null && vmVendor.equals("IBM Corporation") && vmVersion != null) {
-			vmLauncherName = "IBMVMLauncher";
-		} else {
-			vmLauncherName = "J9VMLauncher";
-		}
-		String classPath = System.getProperty("java.class.path");
-		String bootPath = "";
-		String vmType = "?";
-		boolean verbose = false;
-
-		// Parse arguments
-		for (int i = 0; i < args.length; ++i) {
-			String arg = args[i];
-			if (arg.startsWith("-")) {
-				if (arg.equals("-verbose") || arg.equals("-v")) {
-					verbose = true;
-				} else {
-					String next = (i < args.length - 1) ? args[++i] : null;
-					// If specified, passed values overide default values
-					if (arg.equals("-launcher")) {
-						vmLauncherName = next;
-					} else if (arg.equals("-address")) {
-						targetAddress = next;
-					} else if (arg.equals("-port")) {
-						fBackEndPort = Integer.parseInt(next);
-					} else if (arg.equals("-cp")) {
-						classPath = next;
-					} else if (arg.equals("-bp")) {
-						bootPath = next;
-					} else if (arg.equals("-vmtype")) {
-						vmType = next;
-					} else if (arg.equals("-stdout")) {
-						fStdoutFile = next;
-					} else if (arg.equals("-stderr")) {
-						fStderrFile = next;
-					} else if (arg.equals("-proxyout")) {
-						fProxyoutFile = next;
-					} else if (arg.equals("-proxyerr")) {
-						fProxyerrFile = next;
-					} else if (arg.equals("-vmcmd")) {
-						fVmCmd = next;
-					} else if (arg.equals("-proxycmd")) {
-						fProxyCmd = next;
-					} else if (arg.equals("-trace")) {
-						if (next.equals("all")) {
-							fVMTraceFlags = com.sun.jdi.VirtualMachine.TRACE_ALL;
-						} else {
-							fVMTraceFlags = Integer.decode(next).intValue();
-						}
-					} else {
-						System.out.println("Invalid option: " + arg);
-						printUsage();
-						return false;
-					}
-				}
-			}
-		}
-		fVMLauncherName = vmLauncherName;
-		fTargetAddress = targetAddress;
-		fClassPath = classPath;
-		fBootPath = bootPath;
-		fVMType = vmType;
-		fVerbose = verbose;
-		return true;
-	}
-	/**
-	 * Prints the various options to pass to the constructor.
-	 */
-	protected void printUsage() {
-		System.out.println("Possible options:");
-		System.out.println("-launcher <Name of the launcher class>");
-		System.out.println("-address <Address of the target VM>");
-		System.out.println("-port <Debug port number>");
-		System.out.println("-cp <Path to the test program>");
-		System.out.println("-bp <Boot classpath for the system class library>");
-		System.out.println("-vmtype <The type of VM: JDK, J9, ...>");
-		System.out.println("-verbose | -v");
-		System.out.println("-stdout <file where VM output is written to>");
-		System.out.println("-stderr <file where VM error output is written to>");
-		System.out.println("-proxyout <file where proxy output is written to>");
-		System.out.println("-proxyerr <file where proxy error output is written to>");
-		System.out.println("-vmcmd <exec string to start VM>");
-		System.out.println("-proxycmd <exec string to start proxy>");
-	}
-	/**
-	 * Set the value of the "fBool" field back to its original value
-	 */
-	protected void resetField() {
-		Field field = getField("fBool");
-		Value value = null;
-		value = fVM.mirrorOf(false);
-		try {
-			getObjectReference().setValue(field, value);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("resetField.2", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("resetField.3", false);
-		}
-	}
-	/**
-	 * Set the value of the "fString" field back to its original value
-	 */
-	protected void resetStaticField() {
-		Field field = getField("fString");
-		Value value = null;
-		value = fVM.mirrorOf("Hello World");
-		try {
-			getMainClass().setValue(field, value);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("resetField.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("resetField.2", false);
-		}
-	}
-	/**
-	 * Runs this test's suite with the given arguments.
-	 */
-	protected void runSuite(String[] args) {
-		// Check args
-		if (!parseArgs(args))
-			return;
-
-		// Run test
-		System.out.println(new java.util.Date());
-		System.out.println("Begin testing " + getName() + "...");
-		junit.textui.TestRunner.run(suite());
-		System.out.println("Done testing " + getName() + ".");
-	}
-	/**
-	 * Sets the 'in control of the VM' flag for this test.
-	 */
-	void setInControl(boolean inControl) {
-		fInControl = inControl;
-	}
-	/**
-	 * Launch target VM and start program in target VM.
-	 */
-	protected void launchTargetAndStartProgram() {
-		launchTargetAndConnectToVM();
-		startProgram();
-	}
-	/**
-	 * Init tests
-	 */
-	protected void setUp() {
-		if (fVM == null && fInControl) {
-			launchTargetAndStartProgram();
-		}
-		try {
-			verbose("Setting up the test");
-			localSetUp();
-		} catch (RuntimeException e) {
-			System.out.println("Runtime exception during set up:");
-			e.printStackTrace();
-		} catch (Error e) {
-			System.out.println("Error during set up:");
-			e.printStackTrace();
-		}
-	}
-	/**
-	 * Sets the VM info for this test.
-	 */
-	void setVMInfo(VMInformation info) {
-		if (info != null) {
-			fVM = info.fVM;
-			fLaunchedVM = info.fLaunchedVM;
-			fEventReader = info.fEventReader;
-			fConsoleReader = info.fConsoleReader;
-		}
-	}
-	/**
-	 * Stop console and event readers.
-	 */
-	protected void stopReaders() {
-		stopEventReader();
-		stopConsoleReaders();
-	}
-	/**
-	 * Shut down the target.
-	 */
-	protected void shutDownTarget() {
-		stopReaders();
-		if (fVM != null) {
-			try {
-				fVM.exit(0);
-			} catch (VMDisconnectedException e) {
-			}
-		}
-
-		fVM = null;
-		fLaunchedVM = null;
-
-		// We want subsequent connections to use different ports, unless a
-		// VM exec sting is given.
-		if (fVmCmd == null)
-			fBackEndPort += 2;
-	}
-	/**
-	 * Starts the threads that reads from the VM and proxy input and error streams
-	 */
-	private void startConsoleReaders() {
-		if (fStdoutFile != null) {
-			fConsoleReader =
-				new FileConsoleReader(
-					"JDI Tests Console Reader",
-					fStdoutFile,
-					fLaunchedVM.getInputStream());
-		} else {
-			fConsoleReader =
-				new NullConsoleReader("JDI Tests Console Reader", fLaunchedVM.getInputStream());
-		}
-		fConsoleReader.start();
-
-		if (fStderrFile != null) {
-			fConsoleErrorReader =
-				new FileConsoleReader(
-					"JDI Tests Console Error Reader",
-					fStderrFile,
-					fLaunchedVM.getErrorStream());
-		} else {
-			fConsoleErrorReader =
-				new NullConsoleReader(
-					"JDI Tests Console Error Reader",
-					fLaunchedVM.getErrorStream());
-		}
-		fConsoleErrorReader.start();
-
-		if (fLaunchedProxy == null)
-			return;
-
-		if (fProxyoutFile != null) {
-			fProxyReader =
-				new FileConsoleReader(
-					"JDI Tests Proxy Reader",
-					fProxyoutFile,
-					fLaunchedProxy.getInputStream());
-		} else {
-			fProxyReader =
-				new NullConsoleReader(
-					"JDI Tests Proxy Reader",
-					fLaunchedProxy.getInputStream());
-		}
-		fProxyReader.start();
-
-		if (fProxyerrFile != null) {
-			fProxyErrorReader =
-				new FileConsoleReader(
-					"JDI Tests Proxy Error Reader",
-					fProxyerrFile,
-					fLaunchedProxy.getErrorStream());
-		} else {
-			fProxyErrorReader =
-				new NullConsoleReader(
-					"JDI Tests Proxy Error Reader",
-					fLaunchedProxy.getErrorStream());
-		}
-		fProxyErrorReader.start();
-	}
-	/**
-	 * Stops the console reader.
-	 */
-	private void stopConsoleReaders() {
-		if (fConsoleReader != null)
-			fConsoleReader.stop();
-		if (fConsoleErrorReader != null)
-			fConsoleErrorReader.stop();
-		if (fProxyReader != null)
-			fProxyReader.stop();
-		if (fProxyErrorReader != null)
-			fProxyErrorReader.stop();
-	}
-	/**
-	 * Starts event reader.
-	 */
-	private void startEventReader() {
-		// Create the VM event reader.
-		fEventReader = new EventReader("JDI Tests Event Reader", fVM.eventQueue());
-	}
-	/**
-	 * Stops the event reader.
-	 */
-	private void stopEventReader() {
-		fEventReader.stop();
-	}
-	protected void killVM() {
-		if (fLaunchedVM != null)
-			fLaunchedVM.destroy();
-		if (fLaunchedProxy != null)
-			fLaunchedProxy.destroy();
-	}
-	/**
-	 * Starts the target program.
-	 */
-	protected void startProgram() {
-		verbose("Starting target program");
-
-		// Request class prepare events
-		EventRequest classPrepareRequest =
-			fVM.eventRequestManager().createClassPrepareRequest();
-		classPrepareRequest.enable();
-
-		// Prepare to receive the token class prepare event
-		ClassPrepareEventWaiter waiter =
-			new ClassPrepareEventWaiter(
-				classPrepareRequest,
-				true,
-				"org.eclipse.debug.jdi.tests.program.MainClass");
-		fEventReader.addEventListener(waiter);
-
-		// Start the event reader (this will start the VM when the VMStartEvent is picked up)
-		fEventReader.start();
-
-		// Wait until the program has started
-		Event event = (ClassPrepareEvent) waitForEvent(waiter, 3 * TIMEOUT);
-		fEventReader.removeEventListener(waiter);
-		if (event == null) {
-			try {
-				System.out.println(
-					"\nThe program doesn't seem to have started after " + (3 * TIMEOUT) + "ms");
-				InputStream errorStream = fLaunchedVM.getErrorStream();
-				int read;
-				do {
-					read = errorStream.read();
-					if (read != -1)
-						System.out.print((char) read);
-				} while (read != -1);
-			} catch (IOException e) {
-			}
-		}
-
-		// Stop class prepare events
-		fVM.eventRequestManager().deleteEventRequest(classPrepareRequest);
-
-		// Wait for the program to be ready to be tested
-		waitUntilReady();
-	}
-	/**
-	 * Returns all tests 
-	 */
-	protected Test suite() {
-		JDITestSuite suite = new JDITestSuite(this);
-		Vector testNames = getAllMatchingTests("testJDI");
-		Iterator iterator = testNames.iterator();
-		while (iterator.hasNext()) {
-			String name = (String) iterator.next();
-			suite.addTest(new JDITestCase(this, name));
-		}
-		return suite;
-	}
-	/**
-	 * Undo the initialization of the test.
-	 */
-	protected void tearDown() {
-		try {
-			super.tearDown();
-		} catch (Exception e) {
-			System.out.println("Exception during tear down:");
-			e.printStackTrace();
-		}
-		try {
-			verbose("Tearing down the test");
-			localTearDown();
-
-			// Ensure that the test didn't leave a modification watchpoint that could change the expected state of the program
-			if (fVM != null) {
-				assertTrue(fVM.eventRequestManager().modificationWatchpointRequests().size() == 0);
-				if (fInControl) {
-					shutDownTarget();
-				}
-			}
-
-		} catch (RuntimeException e) {
-			System.out.println("Runtime exception during tear down:");
-			e.printStackTrace();
-		} catch (Error e) {
-			System.out.println("Error during tear down:");
-			e.printStackTrace();
-		}
-
-	}
-	/**
-	 * Triggers and waits for the given event to come in.
-	 * Let the thread go if asked.
-	 * Throws an Error if the event didn't come in after TIMEOUT ms
-	 */
-	protected Event triggerAndWait(
-		EventRequest request,
-		String eventType,
-		boolean shouldGo) {
-		Event event = triggerAndWait(request, eventType, shouldGo, TIMEOUT);
-		if (event == null)
-			throw new Error(
-				"Event for " + request + " didn't come in after " + TIMEOUT + "ms");
-		else
-			return event;
-	}
-	/**
-	 * Triggers and waits for the given event to come in.
-	 * Let the thread go if asked.
-	 * Returns null if the event didn't come in after the given amount of time (in ms)
-	 */
-	protected Event triggerAndWait(
-		EventRequest request,
-		String eventType,
-		boolean shouldGo,
-		long time) {
-		// Suspend only if asked
-		if (shouldGo)
-			request.setSuspendPolicy(EventRequest.SUSPEND_NONE);
-		else
-			request.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
-
-		// Enable request
-		request.enable();
-
-		// Prepare to receive the event
-		EventWaiter waiter = new EventWaiter(request, shouldGo);
-		fEventReader.addEventListener(waiter);
-
-		// Trigger the event
-		triggerEvent(eventType);
-
-		// Wait for the event to come in
-		Event event = waitForEvent(waiter, TIMEOUT);
-		fEventReader.removeEventListener(waiter);
-
-		if (shouldGo) {
-			// Wait for the program to be ready
-			waitUntilReady();
-		}
-
-		// Clear request
-		fVM.eventRequestManager().deleteEventRequest(request);
-
-		return event;
-	}
-	/**
-	 * Triggers the given type of event. See the MainClass for details on types of event.
-	 */
-	protected void triggerEvent(String eventType) {
-		// Set the "fEventType" field to the given eventType
-		ClassType type = getMainClass();
-		Field field = type.fieldByName("fEventType");
-		assertTrue("1", field != null);
-
-		Value value = null;
-		value = fVM.mirrorOf(eventType);
-		try {
-			type.setValue(field, value);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("2", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("3", false);
-		}
-
-		// Resume the test thread
-		ThreadReference thread = getThread();
-		int suspendCount = thread.suspendCount();
-		for (int i = 0; i < suspendCount; i++)
-			thread.resume();
-	}
-	/**
-	 * Triggers a step event and waits for it to come in.
-	 */
-	protected StepEvent triggerStepAndWait() {
-		return triggerStepAndWait(
-			getThread(),
-			StepRequest.STEP_MIN,
-			StepRequest.STEP_OVER);
-	}
-
-	protected StepEvent triggerStepAndWait(
-		ThreadReference thread,
-		int gran,
-		int depth) {
-		// Request for step events
-		EventRequest eventRequest =
-			fVM.eventRequestManager().createStepRequest(thread, gran, depth);
-		eventRequest.addCountFilter(1);
-		eventRequest.setSuspendPolicy(EventRequest.SUSPEND_NONE);
-		eventRequest.enable();
-
-		return triggerStepAndWait(thread, eventRequest, TIMEOUT);
-	}
-
-	protected StepEvent triggerStepAndWait(
-		ThreadReference thread,
-		EventRequest eventRequest,
-		int timeout) {
-		// Prepare to receive the event
-		EventWaiter waiter = new EventWaiter(eventRequest, true);
-		fEventReader.addEventListener(waiter);
-
-		// Trigger step event
-		int suspendCount = thread.suspendCount();
-		for (int i = 0; i < suspendCount; i++)
-			thread.resume();
-
-		// Wait for the event to come in
-		StepEvent event = (StepEvent) waitForEvent(waiter, timeout);
-		fEventReader.removeEventListener(waiter);
-		if (event == null)
-			throw new Error("StepEvent didn't come in after " + timeout + "ms");
-
-		// Stop getting step events
-		fVM.eventRequestManager().deleteEventRequest(eventRequest);
-
-		// Wait for the program to be ready
-		waitUntilReady();
-
-		return event;
-	}
-	/**
-	 * Output verbose string if asked for.
-	 */
-	protected void verbose(String verboseString) {
-		if (fVerbose)
-			System.out.println(verboseString);
-	}
-	/**
-	 * Waits for an event to come in using the given waiter.
-	 * Waits for the given time. If it times out, returns null.
-	 */
-	protected Event waitForEvent(EventWaiter waiter, long time) {
-		Event event;
-		try {
-			event = waiter.waitEvent(time);
-		} catch (InterruptedException e) {
-			event = null;
-		}
-		return event;
-	}
-	/**
-	 * Waits until the program is ready to be tested.
-	 * The default behaviour is to wait until the "Test Thread" throws and catches
-	 * an exception.
-	 */
-	protected void waitUntilReady() {
-		// Make sure the program is running
-		ThreadReference thread = getThread();
-		while (thread == null || thread.suspendCount() > 0) {
-			fVM.resume();
-			thread = getThread();
-		}
-
-		// Create exception request
-		EventRequest request =
-			fVM.eventRequestManager().createExceptionRequest(null, true, false);
-		request.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
-		request.enable();
-
-		// Prepare to receive the event
-		EventWaiter waiter = new EventWaiter(request, false);
-		fEventReader.addEventListener(waiter);
-
-		while (true) {
-			// Wait for the event to come in
-			ExceptionEvent event = (ExceptionEvent) waitForEvent(waiter, TIMEOUT);
-
-			// Throw error if event is null
-			if (event == null)
-				throw new Error("Target program was not ready after " + TIMEOUT + "ms");
-
-			// Get the method where the exception was thrown
-			Method meth = event.location().method();
-			if (meth == null || !meth.name().equals("printAndSignal"))
-				fVM.resume();
-			else
-				break;
-		}
-
-		// Disable request
-		fEventReader.removeEventListener(waiter);
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractReader.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractReader.java
deleted file mode 100644
index 8142e5b..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AbstractReader.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AccessibleTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AccessibleTest.java
deleted file mode 100644
index 6d9b638..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/AccessibleTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.Accessible;
-
-/**
- * Tests for JDI com.sun.jdi.Accessible.
- */
-public class AccessibleTest extends AbstractJDITest {
-
-	private Accessible fArrayType, fClassType, fInterfaceType, fField, fMethod;
-	/**
-	 * Creates a new test.
-	 */
-	public AccessibleTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get the all kinds of accessible
-
-		// ReferenceType
-		fArrayType = getArrayType();
-		fClassType = getMainClass();
-		fInterfaceType = getInterfaceType();
-
-		// TypeComponent
-		fField = getField();
-		fMethod = getMethod();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new AccessibleTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.Accessible";
-	}
-	/**
-	 * Test JDI isPackagePrivate().
-	 */
-	public void testJDIIsPackagePrivate() {
-		assertTrue("1", !fArrayType.isPackagePrivate());
-		assertTrue("2", !fClassType.isPackagePrivate());
-		assertTrue("3", !fInterfaceType.isPackagePrivate());
-		assertTrue("4", !fField.isPackagePrivate());
-		assertTrue("5", !fMethod.isPackagePrivate());
-	}
-	/**
-	 * Test JDI isPrivate().
-	 */
-	public void testJDIIsPrivate() {
-		assertTrue("1", !fField.isPrivate());
-		assertTrue("2", !fMethod.isPrivate());
-
-		// NB: isPrivate() is undefined for a type
-	}
-	/**
-	 * Test JDI isProtected().
-	 */
-	public void testJDIIsProtected() {
-		assertTrue("1", !fField.isProtected());
-		assertTrue("2", !fMethod.isProtected());
-
-		// NB: isProtected() is undefined for a type
-	}
-	/**
-	 * Test JDI isPublic().
-	 */
-	public void testJDIIsPublic() {
-		assertTrue("1", fArrayType.isPublic());
-		assertTrue("2", fClassType.isPublic());
-		assertTrue("3", fInterfaceType.isPublic());
-		assertTrue("4", fField.isPublic());
-		assertTrue("5", fMethod.isPublic());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ArrayReferenceTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ArrayReferenceTest.java
deleted file mode 100644
index c20b890..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ArrayReferenceTest.java
+++ /dev/null
@@ -1,245 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.List;
-import java.util.ListIterator;
-
-import com.sun.jdi.ArrayReference;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.DoubleValue;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.StringReference;
-
-/**
- * Tests for JDI com.sun.jdi.ArrayReference
- * and JDWP Array command set.
- */
-public class ArrayReferenceTest extends AbstractJDITest {
-
-	private ArrayReference fArray;
-	private ArrayReference fDoubleArray;
-
-	/**
-	 * Creates a new test.
-	 */
-	public ArrayReferenceTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get array references
-		fArray = getObjectArrayReference();
-		fDoubleArray = getNonEmptyDoubleArrayReference();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ArrayReferenceTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ArrayReference";
-	}
-	/**
-	 * Test JDI getValue(int), getValues(), getValues(int,int)
-	 * setValue(Value,int), setValues(List) and setValues(int,List,int,int),
-	 * and JDWP 'Array - Get values' and 'Array - Set values'.
-	 */
-	public void testJDIGetSetDoubleValue() {
-		double one = 1.0;
-		double pi = 3.1415926535;
-		double twos = 2.2;
-		double threes = 3.33;
-		double cnt = 12345;
-		double zero = 0.0;
-		double delta = 0.0;
-
-		DoubleValue dbl = (DoubleValue) fDoubleArray.getValue(0);
-		assertEquals("testJDIGetSetDoubleValue.1", one, dbl.value(), delta);
-
-		DoubleValue piValue = fVM.mirrorOf(pi);
-		DoubleValue cntValue = fVM.mirrorOf(cnt);
-		DoubleValue zeroValue = fVM.mirrorOf(zero);
-		try {
-			fDoubleArray.setValue(0, piValue);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("testJDIGetSetDoubleValue.3.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("testJDIGetSetDoubleValue.3.2", false);
-		}
-		DoubleValue value = (DoubleValue) fDoubleArray.getValue(0);
-		assertEquals("testJDIGetSetDoubleValue.4.1", value, piValue);
-		assertEquals("testJDIGetSetDoubleValue.4.2", pi, value.value(), delta);
-
-		// getValues()
-		List values = fDoubleArray.getValues();
-		double[] expected = new double[] { pi, twos, threes };
-		ListIterator iterator = values.listIterator();
-		while (iterator.hasNext()) {
-			DoubleValue dv = (DoubleValue) iterator.next();
-			boolean included = false;
-			for (int i = 0; i < expected.length; i++) {
-				if (dv.value() == expected[i]) {
-					included = true;
-					break;
-				}
-			}
-			assertTrue("testJDIGetSetDoubleValue.5." + dv.value(), included);
-		}
-
-		// setValues(List)
-		List newValues = values;
-		newValues.set(1, cntValue);
-		try {
-			fDoubleArray.setValues(newValues);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("testJDIGetSetDoubleValue.7.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("testJDIGetSetDoubleValue.7.2", false);
-		}
-		values = fDoubleArray.getValues();
-		assertEquals("testJDIGetSetDoubleValue.8", values, newValues);
-
-		// getValues(int,int)
-		values = fDoubleArray.getValues(1, 2);
-		expected = new double[] { cnt, threes };
-		iterator = values.listIterator();
-		while (iterator.hasNext()) {
-			DoubleValue dv = (DoubleValue) iterator.next();
-			boolean included = false;
-			for (int i = 0; i < expected.length; i++) {
-				if (dv.value() == expected[i]) {
-					included = true;
-					break;
-				}
-			}
-			assertTrue("testJDIGetSetDoubleValue.9." + dv.value(), included);
-		}
-
-		// setValues(int,List,int,int)
-		newValues = fDoubleArray.getValues(0, 2);
-		newValues.set(0, zeroValue);
-		try {
-			fDoubleArray.setValues(0, newValues, 0, 2);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("testJDIGetSetDoubleValue.11.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("testJDIGetSetDoubleValue.11.2", false);
-		}
-		values = fDoubleArray.getValues(0, 2);
-		assertEquals("testJDIGetSetDoubleValue.12", values, newValues);
-	}
-	/**
-	 * Test JDI getValue(int), getValues(), getValues(int,int)
-	 * setValue(Value,int), setValues(List) and setValues(int,List,int,int),
-	 * and JDWP 'Array - Get values' and 'Array - Set values'.
-	 */
-	public void testJDIGetSetValue() {
-		// getValue(int)
-		StringReference string = (StringReference) fArray.getValue(0);
-		assertEquals("1", "foo", string.value());
-
-		// setValue(int,Value)
-		StringReference newValue = null;
-		newValue = fVM.mirrorOf("biz");
-		try {
-			fArray.setValue(0, newValue);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("2.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("2.2", false);
-		}
-		StringReference value = (StringReference) fArray.getValue(0);
-		assertEquals("3", value, newValue);
-
-		// getValues()
-		List values = fArray.getValues();
-		String[] expected = new String[] { "biz", "bar", "hop" };
-		ListIterator iterator = values.listIterator();
-		while (iterator.hasNext()) {
-			StringReference ref = (StringReference) iterator.next();
-			boolean included = false;
-			for (int i = 0; i < expected.length; i++) {
-				if (ref.value().equals(expected[i])) {
-					included = true;
-					break;
-				}
-			}
-			assertTrue("4." + ref.value(), included);
-		}
-
-		// setValues(List)
-		List newValues = values;
-		newValue = fVM.mirrorOf("hip");
-		newValues.set(1, newValue);
-		try {
-			fArray.setValues(newValues);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("5.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("6.2", false);
-		}
-		values = fArray.getValues();
-		assertEquals("7", values, newValues);
-
-		// getValues(int,int)
-		values = fArray.getValues(1, 2);
-		expected = new String[] { "hip", "hop" };
-		iterator = values.listIterator();
-		while (iterator.hasNext()) {
-			StringReference ref = (StringReference) iterator.next();
-			boolean included = false;
-			for (int i = 0; i < expected.length; i++) {
-				if (ref.value().equals(expected[i])) {
-					included = true;
-					break;
-				}
-			}
-			assertTrue("8." + ref.value(), included);
-		}
-
-		// setValues(int,List,int,int)
-		newValues = fArray.getValues(0, 2);
-		newValue = fVM.mirrorOf("rap");
-		newValues.set(0, newValue);
-		try {
-			fArray.setValues(0, newValues, 0, 2);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("9.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("9.2", false);
-		}
-		values = fArray.getValues(0, 2);
-		assertEquals("10", values, newValues);
-
-		// test null value
-		newValues.set(0, null);
-		try {
-			fArray.setValues(0, newValues, 0, 2);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("11.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("11.2", false);
-		}
-		values = fArray.getValues(0, 2);
-		assertEquals("12", values.get(0), null);
-	}
-	/**
-	 * Test JDI length() and JDWP 'Array - Get length'.
-	 */
-	public void testJDILength() {
-		int length = fArray.length();
-		assertEquals("1", 3, length);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ArrayTypeTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ArrayTypeTest.java
deleted file mode 100644
index 27bda01..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ArrayTypeTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ArrayReference;
-import com.sun.jdi.ArrayType;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.Type;
-
-/**
- * Tests for JDI com.sun.jdi.ArrayType
- * and JDWP Array command set.
- */
-public class ArrayTypeTest extends AbstractJDITest {
-
-	private ArrayType fType;
-	/**
-	 * Creates a new test.
-	 */
-	public ArrayTypeTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get array type
-		fType = getArrayType();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ArrayTypeTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ArrayType";
-	}
-	/**
-	 * Test JDI componentSignature().
-	 */
-	public void testJDIComponentSignature() {
-		String signature = fType.componentSignature();
-		assertEquals("1", "Ljava/lang/String;", signature);
-	}
-	/**
-	 * Test JDI componentType().
-	 */
-	public void testJDIComponentType() {
-		Type expected = (Type) fVM.classesByName("java.lang.String").get(0);
-		Type type = null;
-		try {
-			type = fType.componentType();
-		} catch (ClassNotLoadedException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", expected, type);
-	}
-	/**
-	 * Test JDI componentTypeName().
-	 */
-	public void testJDIComponentTypeName() {
-		String typeName = fType.componentTypeName();
-		assertEquals("1", "java.lang.String", typeName);
-	}
-	/**
-	 * Test JDI newInstance(long).
-	 */
-	public void testJDINewInstance() {
-		ArrayReference instance = fType.newInstance(1);
-		assertTrue("1", instance.type().equals(fType));
-		assertEquals("2", 1, instance.length());
-		assertTrue("3", null == instance.getValue(0));
-
-		ArrayReference instance2 = fType.newInstance(5);
-		try {
-			instance2.setValue(3, fVM.mirrorOf("Yo"));
-		} catch (InvalidTypeException exc) {
-		} catch (ClassNotLoadedException exc) {
-		}
-		assertTrue("4", instance2.getValue(2) == null);
-		assertEquals(
-			"5",
-			((StringReference) (instance2.getValue(3))).value(),
-			"Yo");
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/BooleanValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/BooleanValueTest.java
deleted file mode 100644
index 5610e42..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/BooleanValueTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.BooleanValue;
-
-/**
- * Tests for JDI com.sun.jdi.BooleanValue.
- */
-public class BooleanValueTest extends AbstractJDITest {
-
-	private BooleanValue fValue;
-	/**
-	 * Creates a new test.
-	 */
-	public BooleanValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get boolean value for "true"
-		fValue = fVM.mirrorOf(true);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new BooleanValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.BooleanValue";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fValue.equals(fVM.mirrorOf(true)));
-		assertTrue("2", !fValue.equals(fVM.mirrorOf(false)));
-		assertTrue("3", !fValue.equals(new Object()));
-		assertTrue("4", !fValue.equals(null));
-		assertEquals("5", fValue.hashCode(), fVM.mirrorOf(true).hashCode());
-		assertTrue("6", fValue.hashCode() != fVM.mirrorOf(false).hashCode());
-	}
-	/**
-	 * Test JDI value().
-	 */
-	public void testJDIValue() {
-		assertTrue("1", true == fValue.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/BreakpointRequestTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/BreakpointRequestTest.java
deleted file mode 100644
index 7a1d0ba..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/BreakpointRequestTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.request.BreakpointRequest;
-
-/**
- * Tests for JDI com.sun.jdi.request.BreakpointRequest.
- */
-public class BreakpointRequestTest extends AbstractJDITest {
-
-	private BreakpointRequest fRequest;
-	/**
-	 * Creates a new test .
-	 */
-	public BreakpointRequestTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get the breakpoint request
-		fRequest = getBreakpointRequest();
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Delete the breakpoint request we created in this test
-		fVM.eventRequestManager().deleteEventRequest(fRequest);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new BreakpointRequestTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.request.BreakpointRequest";
-	}
-	/**
-	 * Test JDI location().
-	 */
-	public void testJDILocation() {
-		assertEquals("1", getLocation(), fRequest.location());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ByteValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ByteValueTest.java
deleted file mode 100644
index 3efe5ec..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ByteValueTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ByteValue;
-
-/**
- * Tests for JDI com.sun.jdi.ByteValue.
- */
-public class ByteValueTest extends AbstractJDITest {
-
-	private ByteValue fValue;
-	/**
-	 * Creates a new test.
-	 */
-	public ByteValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get byte value for 1
-		fValue = fVM.mirrorOf((byte) 1);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ByteValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ByteValue";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fValue.equals(fVM.mirrorOf((byte) 1)));
-		assertTrue("2", !fValue.equals(fVM.mirrorOf((byte) 2)));
-		assertTrue("3", !fValue.equals(new Object()));
-		assertTrue("4", !fValue.equals(null));
-		assertEquals("5", fValue.hashCode(), fVM.mirrorOf((byte) 1).hashCode());
-		assertTrue("6", fValue.hashCode() != fVM.mirrorOf((byte) 2).hashCode());
-	}
-	/**
-	 * Test JDI value().
-	 */
-	public void testJDIValue() {
-		assertTrue("1", 1 == fValue.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/CharValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/CharValueTest.java
deleted file mode 100644
index 21d4f1b..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/CharValueTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.CharValue;
-
-/**
- * Tests for JDI com.sun.jdi.CharValue.
- */
-public class CharValueTest extends AbstractJDITest {
-
-	private CharValue fValue;
-	/**
-	 * Creates a new test.
-	 */
-	public CharValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get char value for 'a'
-		fValue = fVM.mirrorOf('a');
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new CharValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.CharValue";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fValue.equals(fVM.mirrorOf('a')));
-		assertTrue("2", !fValue.equals(fVM.mirrorOf('b')));
-		assertTrue("3", !fValue.equals(new Object()));
-		assertTrue("4", !fValue.equals(null));
-		assertEquals("5", fValue.hashCode(), fVM.mirrorOf('a').hashCode());
-		assertTrue("6", fValue.hashCode() != fVM.mirrorOf('b').hashCode());
-	}
-	/**
-	 * Test JDI value().
-	 */
-	public void testJDIValue() {
-		assertTrue("1", 'a' == fValue.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassLoaderReferenceTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassLoaderReferenceTest.java
deleted file mode 100644
index 0567605..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassLoaderReferenceTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.Iterator;
-import java.util.List;
-
-import com.sun.jdi.ClassLoaderReference;
-import com.sun.jdi.ReferenceType;
-
-/**
- * Tests for JDI com.sun.jdi.ClassLoaderReference.
- */
-public class ClassLoaderReferenceTest extends AbstractJDITest {
-
-	private ClassLoaderReference fClassLoader;
-	/**
-	 * Creates a new test.
-	 */
-	public ClassLoaderReferenceTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get the class loader of org.eclipse.debug.jdi.tests.program.MainClass
-		fClassLoader = getClassLoaderReference();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ClassLoaderReferenceTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ClassLoaderReference";
-	}
-	/**
-	 * Test JDI definedClasses().
-	 */
-	public void testJDIDefinedClasses() {
-		Iterator defined = fClassLoader.definedClasses().iterator();
-		int i = 0;
-		while (defined.hasNext())
-			assertTrue(
-				Integer.toString(i++),
-				defined.next() instanceof ReferenceType);
-	}
-	/**
-	 * Test JDI visibleClasses().
-	 */
-	public void testJDIVisibleClasses() {
-		List visible = fClassLoader.visibleClasses();
-		Iterator defined = fClassLoader.definedClasses().iterator();
-		while (defined.hasNext()) {
-			ReferenceType next = (ReferenceType) defined.next();
-			assertTrue(next.name(), visible.contains(next));
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareEventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareEventTest.java
deleted file mode 100644
index 4c7b330..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareEventTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.request.ClassPrepareRequest;
-
-/**
- * Tests for JDI com.sun.jdi.event.ClassPrepareEvent.
- */
-public class ClassPrepareEventTest extends AbstractJDITest {
-	private ClassPrepareRequest fRequest;
-	private ClassPrepareEvent fEvent;
-	/**
-	 * Creates a new test.
-	 */
-	public ClassPrepareEventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Trigger a class prepare event
-		fRequest = fVM.eventRequestManager().createClassPrepareRequest();
-		fEvent =
-			(ClassPrepareEvent) triggerAndWait(fRequest,
-				"ClassPrepareEvent",
-				true);
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// The test has resumed the test thread, so suspend it
-		waitUntilReady();
-
-		// Delete the class prepare request
-		fVM.eventRequestManager().deleteEventRequest(fRequest);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ClassPrepareEventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.ClassPrepareEvent";
-	}
-	/**
-	 * Test JDI referenceType().
-	 */
-	public void testJDIReferenceType() {
-		assertEquals(
-			"1",
-			"org.eclipse.debug.jdi.tests.program.TestClass",
-			fEvent.referenceType().name());
-	}
-	/**
-	 * Test JDI thread().
-	 */
-	public void testJDIThread() {
-		assertEquals("1", "Test Thread", fEvent.thread().name());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareEventWaiter.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareEventWaiter.java
deleted file mode 100644
index 3c61d10..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareEventWaiter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.request.EventRequest;
-/**
- * Listen for ClassPrepareEvent for a specific class.
- */
-public class ClassPrepareEventWaiter extends EventWaiter {
-	protected String fClassName;
-	/**
-	 * Creates a new ClassPrepareEventWaiter that waits for the given class to be loaded.
-	 */
-	public ClassPrepareEventWaiter(EventRequest request, boolean shouldGo, String className) {
-		super(request, shouldGo);
-		fClassName = className;
-	}
-	public boolean classPrepare(ClassPrepareEvent event) {
-		if (event.referenceType().name().equals(fClassName)) {
-			notifyEvent(event);
-			return fShouldGo;
-		} else
-			return true;
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareRequestTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareRequestTest.java
deleted file mode 100644
index d4098d3..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassPrepareRequestTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.request.ClassPrepareRequest;
-import com.sun.jdi.request.EventRequestManager;
-
-/**
- * Tests for JDI com.sun.jdi.request.ClassPrepareRequest.
- */
-public class ClassPrepareRequestTest extends AbstractJDITest {
-	/**
-	 * Creates a new test.
-	 */
-	public ClassPrepareRequestTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(String[] args) {
-		new ClassPrepareRequestTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.request.ClassPrepareRequest";
-	}
-	/**
-	 * Test JDI addClassFilter(String).
-	 */
-	public void testJDIAddClassFilterString() {
-		EventRequestManager requestManager = fVM.eventRequestManager();
-
-		// Filter is "org.eclipse.debug.jdi.tests.program.*" and loads org.eclipse.debug.jdi.tests.program.TestClass1
-		ClassPrepareRequest request =
-			requestManager.createClassPrepareRequest();
-		request.addClassFilter("org.eclipse.debug.jdi.tests.program.*");
-		ClassPrepareEvent event =
-			(ClassPrepareEvent) triggerAndWait(request,
-				"ClassPrepareEvent1",
-				true,
-				5000);
-		assertTrue("1", event != null);
-		assertEquals(
-			"2",
-			"org.eclipse.debug.jdi.tests.program.TestClass1",
-			event.referenceType().name());
-		requestManager.deleteEventRequest(request);
-
-		// Filter is "bogus.*" and loads org.eclipse.debug.jdi.tests.program.TestClass2
-		request = requestManager.createClassPrepareRequest();
-		request.addClassFilter("bogus.*");
-		event =
-			(ClassPrepareEvent) triggerAndWait(request,
-				"ClassPrepareEvent2",
-				true,
-				5000);
-		assertTrue("3", event == null);
-		requestManager.deleteEventRequest(request);
-
-		// Filter is "*.TestClass3" and loads org.eclipse.debug.jdi.tests.program.TestClass3
-		request = requestManager.createClassPrepareRequest();
-		request.addClassFilter("*.TestClass3");
-		event =
-			(ClassPrepareEvent) triggerAndWait(request,
-				"ClassPrepareEvent3",
-				true,
-				5000);
-		assertTrue("4", event != null);
-		assertEquals(
-			"5",
-			"org.eclipse.debug.jdi.tests.program.TestClass3",
-			event.referenceType().name());
-		requestManager.deleteEventRequest(request);
-
-		// Filter is "*.eclipse.*.jdi.tests.*4" and loads org.eclipse.debug.jdi.tests.program.TestClass4
-		request = requestManager.createClassPrepareRequest();
-		request.addClassFilter("*.eclipse.*.jdi.tests.program.*4");
-		event =
-			(ClassPrepareEvent) triggerAndWait(request,
-				"ClassPrepareEvent4",
-				true,
-				5000);
-		assertTrue("6", event == null);
-		requestManager.deleteEventRequest(request);
-
-		// Filter is "*.eclipse.debug.jdi.tests.program.*" and loads org.eclipse.debug.jdi.tests.program.TestClass5
-		request = requestManager.createClassPrepareRequest();
-		request.addClassFilter("*.eclipse.debug.jdi.tests.program.*");
-		event =
-			(ClassPrepareEvent) triggerAndWait(request,
-				"ClassPrepareEvent5",
-				true,
-				5000);
-		assertTrue("7", event == null);
-		requestManager.deleteEventRequest(request);
-
-		// Filter is "org.eclipse.debug.jdi.tests.program.TestClass6" and loads org.eclipse.debug.jdi.tests.program.TestClass6
-		request = requestManager.createClassPrepareRequest();
-		request.addClassFilter(
-			"org.eclipse.debug.jdi.tests.program.TestClass6");
-		event =
-			(ClassPrepareEvent) triggerAndWait(request,
-				"ClassPrepareEvent6",
-				true,
-				5000);
-		assertTrue("8", event != null);
-		assertEquals(
-			"9",
-			"org.eclipse.debug.jdi.tests.program.TestClass6",
-			event.referenceType().name());
-		requestManager.deleteEventRequest(request);
-	}
-	/**
-	 * Test JDI addClassExclusionFilter(String).
-	 */
-	public void testJDIAddClassExclusionFilterString() {
-		EventRequestManager requestManager = fVM.eventRequestManager();
-
-		// Filter is "org.eclipse.debug.jdi.tests.program.TestClass*" and loads org.eclipse.debug.jdi.tests.program.TestClass7 and org.eclipse.debug.jdi.tests.program.TestClazz8.
-		ClassPrepareRequest request =
-			requestManager.createClassPrepareRequest();
-		request.addClassExclusionFilter(
-			"org.eclipse.debug.jdi.tests.program.TestClass*");
-		ClassPrepareEvent event =
-			(ClassPrepareEvent) triggerAndWait(request,
-				"ClassPrepareEvent7",
-				true,
-				5000);
-		assertTrue("1", event != null);
-		assertEquals(
-			"2",
-			"org.eclipse.debug.jdi.tests.program.TestClazz8",
-			event.referenceType().name());
-		requestManager.deleteEventRequest(request);
-
-		// Filter is "org.eclipse.debug.jdi.tests.program.TestClazz9" and loads org.eclipse.debug.jdi.tests.program.TestClazz9 and org.eclipse.debug.jdi.tests.program.TestClazz10.
-		request = requestManager.createClassPrepareRequest();
-		request.addClassExclusionFilter(
-			"org.eclipse.debug.jdi.tests.program.TestClazz9");
-		event =
-			(ClassPrepareEvent) triggerAndWait(request,
-				"ClassPrepareEvent8",
-				true,
-				5000);
-		assertTrue("3", event != null);
-		assertEquals(
-			"4",
-			"org.eclipse.debug.jdi.tests.program.TestClazz10",
-			event.referenceType().name());
-		requestManager.deleteEventRequest(request);
-
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassTypeTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassTypeTest.java
deleted file mode 100644
index d616d5c..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassTypeTest.java
+++ /dev/null
@@ -1,360 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.ClassType;
-import com.sun.jdi.Field;
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.InterfaceType;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.InvocationException;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.Value;
-import com.sun.jdi.event.ThreadStartEvent;
-
-/**
- * Tests for JDI com.sun.jdi.ClassType
- * and JDWP Class command set.
- */
-public class ClassTypeTest extends AbstractJDITest {
-
-	private ClassType fType;
-	/**
-	 * Creates a new test.
-	 */
-	public ClassTypeTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get the type org.eclipse.debug.jdi.tests.program.MainClass
-		fType = getMainClass();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ClassTypeTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ClassType";
-	}
-	/**
-	 * Test JDI allFields().
-	 */
-	public void testJDIAllFields() {
-		boolean found = false;
-		Iterator it = fType.allFields().iterator();
-		while (it.hasNext()) {
-			Field fld = (Field) it.next();
-			if (fld.name().equals("fString")) {
-				found = true;
-			}
-		}
-		assertTrue("1", found);
-	}
-	/**
-	 * Test JDI allInterfaces().
-	 */
-	public void testJDIAllInterfaces() {
-		List all = fType.allInterfaces();
-		boolean found = false;
-		Iterator interfaces = fType.allInterfaces().iterator();
-		while (interfaces.hasNext()) {
-			InterfaceType next = (InterfaceType) interfaces.next();
-			assertTrue(next.name(), all.contains(next));
-			if (next.name().equals("java.lang.Comparable"))
-				found = true;
-		}
-		assertTrue("1", found);
-	}
-	/**
-	 * Test JDI allMethods().
-	 */
-	public void testJDIAllMethods() {
-		boolean found = false;
-		Iterator it = fType.allMethods().iterator();
-		while (it.hasNext()) {
-			Method mth = (Method) it.next();
-			if (mth.name().equals("after")) { // in Date
-				found = true;
-			}
-		}
-		assertTrue("1", found);
-	}
-	/**
-	 * Test JDI concreteMethodByName().
-	 */
-	public void testJDIConcreteMethodByName() {
-		Method method = fType.concreteMethodByName("run", "()V");
-		assertTrue("1", method != null);
-		assertEquals("2", fType, method.declaringType());
-		assertTrue("3", fType.concreteMethodByName("xxx", "(I)Z") == null);
-	}
-	/**
-	 * Test JDI interfaces().
-	 */
-	public void testJDIInterfaces() {
-		boolean found = false;
-		boolean extra = false;
-		List interfaces = fType.interfaces();
-		assertEquals("1", 2, interfaces.size());
-		Iterator iterator = interfaces.iterator();
-		int i = 0;
-		while (iterator.hasNext()) {
-			Object next = iterator.next();
-			assertTrue("2." + i++, next instanceof InterfaceType);
-			InterfaceType ift = (InterfaceType) next;
-			if (ift.name().equals("java.lang.Runnable"))
-				found = true;
-			if (ift.name().equals("java.lang.Comparable"))
-				extra = true;
-		}
-		assertTrue("1", found);
-		assertTrue("2", !extra);
-	}
-	/**
-	 * Test JDI invokeMethod(ThreadReference, Method, Value[]).
-	 */
-	public void testJDIInvokeMethod() {
-		// Make sure the entire VM is not suspended before we start a new thread
-		// (otherwise this new thread will start suspended and we will never get the
-		// ThreadStart event)
-		fVM.resume();
-
-		ThreadStartEvent event =
-			(ThreadStartEvent) triggerAndWait(fVM
-				.eventRequestManager()
-				.createThreadStartRequest(),
-				"ThreadStartEvent",
-				false);
-		ThreadReference thread = event.thread();
-		Method inv1 =
-			fType.concreteMethodByName(
-				"invoke1",
-				"(ILjava/lang/Object;)Ljava/lang/String;");
-		List args = new ArrayList();
-		args.add(fVM.mirrorOf(41));
-		args.add(null);
-		Exception oops = null;
-		Value val = null;
-		try {
-			val = fType.invokeMethod(thread, inv1, args, 0);
-		} catch (Exception exc) {
-			oops = exc;
-		}
-		assertTrue("1", oops == null);
-		assertEquals("2", val == null ? null : ((StringReference) val).value(), "41");
-	}
-	/**
-	 * Test JDI invokeMethod - failure.
-	 */
-	public void testJDIInvokeMethodFail() {
-		// Make sure the entire VM is not suspended before we start a new thread
-		// (otherwise this new thread will start suspended and we will never get the
-		// ThreadStart event)
-		fVM.resume();
-
-		ThreadStartEvent event =
-			(ThreadStartEvent) triggerAndWait(fVM
-				.eventRequestManager()
-				.createThreadStartRequest(),
-				"ThreadStartEvent",
-				false);
-		ThreadReference thread = event.thread();
-		Method inv2 = fType.concreteMethodByName("invoke2", "()V");
-		Exception good = null;
-		Exception oops = null;
-		try {
-			fType.invokeMethod(thread, inv2, new ArrayList(), 0);
-		} catch (InvocationException exc) {
-			good = exc;
-		} catch (Exception exc) {
-			oops = exc;
-		}
-		assertTrue("1", oops == null);
-		assertTrue("2", good != null);
-	}
-	/**
-	 * Test JDI locationsOfLine(int).
-	 */
-	public void testJDILocationsOfLine() {
-		int lineNumber = getLocation().lineNumber();
-		List locations = null;
-		try {
-			locations = fType.locationsOfLine(lineNumber);
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", 1, locations.size());
-	}
-	/**
-	 * Test JDI methodByName
-	 */
-	public void testJDIMethodByName() {
-		assertTrue("1", fType.methodsByName("main").size() == 1);
-	}
-	/**
-	 * Test JDI methodByNameAndSignature
-	 */
-	public void testJDIMethodByNameAndSignature() {
-		assertTrue("1", fType.methodsByName("printAndSignal", "()V").size() == 1);
-	}
-	/**
-	 * Test JDI methods().
-	 */
-	public void testJDIMethods() {
-		boolean found = false;
-		Iterator it = fType.methods().iterator();
-		while (it.hasNext()) {
-			Method mth = (Method) it.next();
-			if (mth.name().equals("printAndSignal"))
-				found = true;
-		}
-		assertTrue("1", found);
-	}
-	/**
-	 * Test JDI newInstance(ThreadReference, Method, Value[]).
-	 */
-	public void testJDINewInstance() {
-		// Make sure the entire VM is not suspended before we start a new thread
-		// (otherwise this new thread will start suspended and we will never get the
-		// ThreadStart event)
-		fVM.resume();
-
-		ThreadStartEvent event =
-			(ThreadStartEvent) triggerAndWait(fVM
-				.eventRequestManager()
-				.createThreadStartRequest(),
-				"ThreadStartEvent",
-				false);
-		ThreadReference thread = event.thread();
-		Method constructor =
-			(Method) fType
-				.methodsByName("<init>", "(ILjava/lang/Object;Ljava/lang/Object;)V")
-				.get(0);
-		ObjectReference result = null;
-		ArrayList arguments = new ArrayList();
-		arguments.add(fVM.mirrorOf(0));
-		arguments.add(fVM.allThreads().get(0));
-		arguments.add(null);
-
-		try {
-			result = fType.newInstance(thread, constructor, arguments, 0);
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("2", false);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("3", false);
-		} catch (InvocationException e) {
-			assertTrue("4", false);
-		}
-		assertTrue("5", result != null);
-		assertTrue("6", result.referenceType().equals(fType));
-		waitUntilReady();
-	}
-	/**
-	 * Test JDI setValue(Field,Value) and JDWP 'Class - Set Fields Values'.
-	 */
-	public void testJDISetValue() {
-
-		// Get static field "fInt"
-		Field field = fType.fieldByName("fInt");
-		assertTrue("1", field != null);
-		assertTrue("2", field.isStatic());
-
-		// Remember old value
-		Value oldValue = fType.getValue(field);
-
-		// Set to new value
-		Value newValue = fVM.mirrorOf(1234);
-		try {
-			fType.setValue(field, newValue);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("3.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("3.2", false);
-		}
-
-		// Ensure the value as been set
-		assertEquals("4", fType.getValue(field), newValue);
-
-		// Cleanup
-		try {
-			fType.setValue(field, oldValue);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("5.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("5.2", false);
-		}
-
-		// Get static field "fString" to test if it can be set to null.
-		field = fType.fieldByName("fString");
-		assertTrue("6", field != null);
-		assertTrue("7", field.isStatic());
-
-		// Remember old value
-		oldValue = fType.getValue(field);
-
-		// Set to new value
-		newValue = null;
-		try {
-			fType.setValue(field, newValue);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("8.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("8.2", false);
-		}
-
-		// Ensure the value as been set
-		assertEquals("9", fType.getValue(field), newValue);
-
-		// Cleanup
-		try {
-			fType.setValue(field, oldValue);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("10.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("10.2", false);
-		}
-	}
-	/**
-	 * Test JDI subclasses().
-	 */
-	public void testJDISubclasses() {
-		List subclasses = fType.subclasses();
-		assertEquals("1", 1, subclasses.size());
-		Iterator iterator = subclasses.iterator();
-		while (iterator.hasNext()) {
-			ClassType sub = (ClassType) iterator.next();
-			assertEquals("2 " + sub.name(), fType, sub.superclass());
-		}
-	}
-	/**
-	 * Test JDI superclass() and JDWP 'Class - Get superclass'.
-	 */
-	public void testJDISuperclass() {
-		ClassType superclass = fType.superclass();
-		assertEquals("1", "java.util.Date", superclass.name());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassesByNameTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassesByNameTest.java
deleted file mode 100644
index 830e67c..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ClassesByNameTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.List;
-
-import com.sun.jdi.Type;
-
-/**
- * Tests for JDI com.sun.jdi.VirtualMachine.classesByName
- */
-public class ClassesByNameTest extends AbstractJDITest {
-
-	/**
-	 * Creates a new test.
-	 */
-	public ClassesByNameTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ClassesByNameTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.VirtualMachine.classesByName";
-	}
-	/**
-	 * Test that there is a class object for 'int[]'
-	 */
-	public void testJDIIntArray() {
-		List classes = fVM.classesByName("int[]");
-		assertTrue(
-			"Should be a class for int[]",
-			classes.size() == 1
-				&& ((Type) classes.get(0)).signature().equals("[I"));
-	}
-	/**
-	 * Test that there is a class object for 'int[][]'
-	 */
-	public void testJDIIntDoubleArray() {
-		List classes = fVM.classesByName("int[][]");
-		assertTrue(
-			"Should be a class for int[][]",
-			classes.size() == 1
-				&& ((Type) classes.get(0)).signature().equals("[[I"));
-	}
-	public void testJDILongArray() {
-		List classes = fVM.classesByName("long[]");
-		assertTrue(
-			"Should be a class for long[]",
-			classes.size() == 1
-				&& ((Type) classes.get(0)).signature().equals("[J"));
-	}
-	public void testJDILongDoubleArray() {
-		List classes = fVM.classesByName("long[][]");
-		assertTrue(
-			"Should be a class for long[][]",
-			classes.size() == 1
-				&& ((Type) classes.get(0)).signature().equals("[[J"));
-	}
-	/**
-	 * Test that there is a class object for 'java.lang.String[]'
-	 */
-	public void testJDIStringArray() {
-		List classes = fVM.classesByName("java.lang.String[]");
-		assertTrue(
-			"Should be a class for java.lang.String[]",
-			classes.size() == 1
-				&& ((Type) classes.get(0)).signature().equals(
-					"[Ljava/lang/String;"));
-	}
-	/**
-	 * Test that there is a class object for 'java.lang.String'
-	 */
-	public void testJDIString() {
-		List classes = fVM.classesByName("java.lang.String");
-		assertTrue(
-			"Should be a class for java.lang.String",
-			classes.size() == 1
-				&& ((Type) classes.get(0)).signature().equals(
-					"Ljava/lang/String;"));
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/DoubleValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/DoubleValueTest.java
deleted file mode 100644
index 67414f2..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/DoubleValueTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.DoubleValue;
-
-/**
- * Tests for JDI com.sun.jdi.DoubleValue.
- */
-public class DoubleValueTest extends AbstractJDITest {
-
-	private DoubleValue fValue;
-	/**
-	 * Creates a new test.
-	 */
-	public DoubleValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get double value for 12345.6789
-		fValue = fVM.mirrorOf(12345.6789);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new DoubleValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.DoubleValue";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fValue.equals(fVM.mirrorOf(12345.6789)));
-		assertTrue("2", !fValue.equals(fVM.mirrorOf(98765.4321)));
-		assertTrue("3", !fValue.equals(new Object()));
-		assertTrue("4", !fValue.equals(null));
-		assertEquals(
-			"5",
-			fValue.hashCode(),
-			fVM.mirrorOf(12345.6789).hashCode());
-		assertTrue("6", fValue.hashCode() != fVM.mirrorOf(98765.4321).hashCode());
-	}
-	/**
-	 * Test JDI value().
-	 */
-	public void testJDIValue() {
-		assertTrue("1", 12345.6789 == fValue.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventListener.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventListener.java
deleted file mode 100644
index b043816..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventListener.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.event.AccessWatchpointEvent;
-import com.sun.jdi.event.BreakpointEvent;
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.event.ClassUnloadEvent;
-import com.sun.jdi.event.ExceptionEvent;
-import com.sun.jdi.event.MethodEntryEvent;
-import com.sun.jdi.event.MethodExitEvent;
-import com.sun.jdi.event.ModificationWatchpointEvent;
-import com.sun.jdi.event.StepEvent;
-import com.sun.jdi.event.ThreadDeathEvent;
-import com.sun.jdi.event.ThreadStartEvent;
-import com.sun.jdi.event.VMDeathEvent;
-import com.sun.jdi.event.VMDisconnectEvent;
-
-/**
- * An event listener that handles all kinds of event coming from the VM.
- */
-
-public interface EventListener {
-	/**
-	 * Handles an access watchpoint event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean accessWatchpoint(AccessWatchpointEvent event);
-	/**
-	 * Handles a breakpoint event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean breakpoint(BreakpointEvent event);
-	/**
-	 * Handles a class prepare event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean classPrepare(ClassPrepareEvent event);
-	/**
-	 * Handles a class unload event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean classUnload(ClassUnloadEvent event);
-	/**
-	 * Handles an exception event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean exception(ExceptionEvent event);
-	public boolean methodEntry(MethodEntryEvent event);
-	public boolean methodExit(MethodExitEvent event);
-	/**
-	 * Handles a modification watchpoint event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean modificationWatchpoint(ModificationWatchpointEvent event);
-	/**
-	 * Handles a step event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean step(StepEvent event);
-	/**
-	 * Handles a thread death event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean threadDeath(ThreadDeathEvent event);
-	/**
-	 * Handles a thread start event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean threadStart(ThreadStartEvent event);
-	/**
-	 * Handles a vm death event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean vmDeath(VMDeathEvent event);
-	/**
-	 * Handles a vm disconnect event.
-	 * Returns whether the VM should be resumed if it was interrupted.
-	 */
-	public boolean vmDisconnect(VMDisconnectEvent event);
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventReader.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventReader.java
deleted file mode 100644
index d1b5ee3..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventReader.java
+++ /dev/null
@@ -1,136 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.Vector;
-
-import com.sun.jdi.VMDisconnectedException;
-import com.sun.jdi.event.AccessWatchpointEvent;
-import com.sun.jdi.event.BreakpointEvent;
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.event.ClassUnloadEvent;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.EventIterator;
-import com.sun.jdi.event.EventQueue;
-import com.sun.jdi.event.EventSet;
-import com.sun.jdi.event.ExceptionEvent;
-import com.sun.jdi.event.MethodEntryEvent;
-import com.sun.jdi.event.MethodExitEvent;
-import com.sun.jdi.event.ModificationWatchpointEvent;
-import com.sun.jdi.event.StepEvent;
-import com.sun.jdi.event.ThreadDeathEvent;
-import com.sun.jdi.event.ThreadStartEvent;
-import com.sun.jdi.event.VMDeathEvent;
-import com.sun.jdi.event.VMDisconnectEvent;
-import com.sun.jdi.request.EventRequest;
-
-/**
- * An event reader that continuously reads events coming from the VM
- * and dispatch them to the registered listeners.
- */
-
-public class EventReader extends AbstractReader {
-	private EventQueue fEventQueue;
-	private Vector fEventListeners = new Vector(); // A Vector of EventListener
-	/*
-	 * Creates a new event reader that will read from the given event queue.
-	 */
-	public EventReader(String name, EventQueue queue) {
-		super(name);
-		fEventQueue = queue;
-	}
-	/*
-	 * Registers the given event listener.
-	 */
-	public synchronized void addEventListener(EventListener listener) {
-		fEventListeners.addElement(listener);
-	}
-	/**
-	 * Dispatches the given event to the given listener.
-	 * Returns whether the VM should be resumed.
-	 */
-	private boolean dispath(Event event, EventListener listener) {
-		if (event instanceof AccessWatchpointEvent)
-			return listener.accessWatchpoint((AccessWatchpointEvent) event);
-		if (event instanceof BreakpointEvent)
-			return listener.breakpoint((BreakpointEvent) event);
-		if (event instanceof ClassPrepareEvent)
-			return listener.classPrepare((ClassPrepareEvent) event);
-		if (event instanceof ClassUnloadEvent)
-			return listener.classUnload((ClassUnloadEvent) event);
-		if (event instanceof ExceptionEvent)
-			return listener.exception((ExceptionEvent) event);
-		if (event instanceof MethodEntryEvent)
-			return listener.methodEntry((MethodEntryEvent) event);
-		if (event instanceof MethodExitEvent)
-			return listener.methodExit((MethodExitEvent) event);
-		if (event instanceof ModificationWatchpointEvent)
-			return listener.modificationWatchpoint(
-				(ModificationWatchpointEvent) event);
-		if (event instanceof StepEvent)
-			return listener.step((StepEvent) event);
-		if (event instanceof ThreadDeathEvent)
-			return listener.threadDeath((ThreadDeathEvent) event);
-		if (event instanceof ThreadStartEvent)
-			return listener.threadStart((ThreadStartEvent) event);
-		if (event instanceof VMDisconnectEvent)
-			return listener.vmDisconnect((VMDisconnectEvent) event);
-		if (event instanceof VMDeathEvent)
-			return listener.vmDeath((VMDeathEvent) event);
-		return true;
-	}
-	/**
-	 * Continuously reads events that are coming from the event queue.
-	 */
-	protected void readerLoop() {
-		while (!fIsStopping) {
-			try {
-				if (!fIsStopping) {
-					// Get the next event
-					EventSet eventSet = fEventQueue.remove();
-
-					// Dispatch the events
-					boolean shouldGo = true;
-					EventIterator iterator = eventSet.eventIterator();
-					while (iterator.hasNext()) {
-						Event event = iterator.nextEvent();
-						for (int i = 0; i < fEventListeners.size(); i++) {
-							EventListener listener =
-								(EventListener) fEventListeners.elementAt(i);
-							shouldGo = shouldGo & dispath(event, listener);
-						}
-						if (event instanceof VMDeathEvent)
-							stop();
-					}
-
-					// Let the VM go if it was interrupted
-					if ((!fIsStopping)
-						&& (eventSet != null)
-						&& (eventSet.suspendPolicy() == EventRequest.SUSPEND_ALL)
-						&& shouldGo)
-						synchronized (this) {
-							fEventQueue.virtualMachine().resume();
-						}
-				}
-			} catch (InterruptedException e) {
-				if (!fIsStopping) {
-					System.out.println("Event reader loop was interrupted");
-					return;
-				}
-			} catch (VMDisconnectedException e) {
-				return;
-			}
-		}
-	}
-	/*
-	 * De-registers the given event listener.
-	 */
-	public synchronized void removeEventListener(EventListener listener) {
-		fEventListeners.removeElement(listener);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventRequestManagerTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventRequestManagerTest.java
deleted file mode 100644
index 3d07d5e..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventRequestManagerTest.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventRequestTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventRequestTest.java
deleted file mode 100644
index d94dadb..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventRequestTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.LinkedList;
-import java.util.List;
-
-import com.sun.jdi.request.EventRequest;
-import com.sun.jdi.request.StepRequest;
-
-/**
- * Tests for JDI com.sun.jdi.request.EventRequest.
- */
-public class EventRequestTest extends AbstractJDITest {
-
-	private List fRequests = new LinkedList();
-	/**
-	 * Creates a new test.
-	 */
-	public EventRequestTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get all kinds of request
-		if (fVM.canWatchFieldAccess())
-			fRequests.add(getAccessWatchpointRequest());
-		fRequests.add(getBreakpointRequest());
-		fRequests.add(fVM.eventRequestManager().createClassPrepareRequest());
-		fRequests.add(fVM.eventRequestManager().createClassUnloadRequest());
-		fRequests.add(getExceptionRequest());
-		if (fVM.canWatchFieldModification())
-			fRequests.add(getModificationWatchpointRequest());
-		fRequests.add(
-			fVM.eventRequestManager().createStepRequest(
-				getThread(),
-				StepRequest.STEP_LINE,
-				StepRequest.STEP_OVER));
-		fRequests.add(fVM.eventRequestManager().createThreadDeathRequest());
-		fRequests.add(fVM.eventRequestManager().createThreadStartRequest());
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Delete the requests we created in this test
-		fVM.eventRequestManager().deleteEventRequests(fRequests);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new EventRequestTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.request.EventRequest";
-	}
-	/**
-	 * Test JDI disable(), enable(), isEnable() and setEnable(boolean).
-	 */
-	public void testJDIEnable() {
-		for (int i = 0; i < fRequests.size(); i++) {
-			EventRequest request = (EventRequest) fRequests.get(i);
-			assertTrue("1." + i, !request.isEnabled());
-			request.setEnabled(true);
-			assertTrue("2." + i, request.isEnabled());
-			request.setEnabled(false);
-			assertTrue("3." + i, !request.isEnabled());
-			request.enable();
-			assertTrue("4." + i, request.isEnabled());
-			request.disable();
-			assertTrue("5." + i, !request.isEnabled());
-		}
-	}
-	/**
-	 * Test JDI setSuspendPolicy(int) and suspendPolicy().
-	 */
-	public void testJDISuspendPolicy() {
-		int policy = EventRequest.SUSPEND_EVENT_THREAD;
-		for (int i = 0; i < fRequests.size(); i++) {
-			EventRequest request = (EventRequest) fRequests.get(i);
-			request.setSuspendPolicy(policy);
-		}
-		for (int i = 0; i < fRequests.size(); i++) {
-			EventRequest request = (EventRequest) fRequests.get(i);
-			assertTrue(String.valueOf(i), request.suspendPolicy() == policy);
-		}
-	}
-	/**
-	 * Test JDI putProperty and getProperty.
-	 */
-	public void testJDIProperties() {
-		EventRequest request = (EventRequest) fRequests.get(0);
-		request.putProperty(new Integer(0), "prop1");
-		String prop = (String) request.getProperty(new Integer(0));
-		assertTrue("1", prop.equals("prop1"));
-
-		request.putProperty(new Integer(0), null);
-		prop = (String) request.getProperty(new Integer(0));
-		assertTrue("2", prop == null);
-
-		request.putProperty(new Integer(0), "prop2");
-		request.putProperty(new Integer(0), "prop3");
-		prop = (String) request.getProperty(new Integer(0));
-		assertTrue("3", prop.equals("prop3"));
-
-		request.putProperty(new Integer(0), null);
-		prop = (String) request.getProperty(new Integer(0));
-		assertTrue("4", prop == null);
-
-		request.putProperty(new Integer(1), null);
-		prop = (String) request.getProperty(new Integer(1));
-		assertTrue("5", prop == null);
-
-		request.putProperty(new Integer(1), "prop1");
-		prop = (String) request.getProperty(new Integer(1));
-		assertTrue("6", prop.equals("prop1"));
-
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventTest.java
deleted file mode 100644
index b64b88b..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import com.sun.jdi.event.Event;
-import com.sun.jdi.request.EventRequest;
-
-/**
- * Tests for JDI com.sun.jdi.event.Event.
- */
-public class EventTest extends AbstractJDITest {
-	private HashMap fAllEvents = new HashMap();
-	/**
-	 * Creates a new test.
-	 */
-	public EventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// All events...
-
-		EventRequest request;
-
-		// AccessWatchpointEvent
-		if (fVM.canWatchFieldAccess()) {
-			request = getAccessWatchpointRequest();
-			fAllEvents.put(
-				request,
-				triggerAndWait(request, "AccessWatchpointEvent", true));
-		}
-
-		// BreakpointEvent
-		request = getBreakpointRequest();
-		fAllEvents.put(
-			request,
-			triggerAndWait(request, "BreakpointEvent", true));
-
-		// ClassPrepareEvent
-		// TO DO
-
-		// ClassUnloadEvent
-		// TO DO
-
-		// ExceptionEvent
-		// TO DO
-
-		// ModificationWatchpointEvent
-		if (fVM.canWatchFieldModification()) {
-			request = getModificationWatchpointRequest();
-			fAllEvents.put(
-				request,
-				triggerAndWait(request, "ModificationWatchpointEvent", true));
-		}
-
-		// StepEvent
-		// TO DO
-
-		// ThreadEndEvent
-		// TO DO
-
-		// ThreadStartEvent
-		// TO DO
-
-		// VMDeathEvent
-		// TO DO?
-
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Ensure that the modification of the "fBool" field has completed
-		fVM.resume();
-		waitUntilReady();
-
-		// Remove the requests
-		fVM.eventRequestManager().deleteEventRequests(
-			new LinkedList(fAllEvents.keySet()));
-
-		// Set the value of the "fBool" field back to its original value
-		resetField();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new EventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.Event";
-	}
-	/**
-	 * Test JDI request().
-	 */
-	public void testJDIRequest() {
-		Iterator iterator = fAllEvents.keySet().iterator();
-		while (iterator.hasNext()) {
-			EventRequest request = (EventRequest) iterator.next();
-			Event event = (Event) fAllEvents.get(request);
-
-			assertEquals(event.toString(), request, event.request());
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventWaiter.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventWaiter.java
deleted file mode 100644
index 8a0d691..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/EventWaiter.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.event.AccessWatchpointEvent;
-import com.sun.jdi.event.BreakpointEvent;
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.event.ClassUnloadEvent;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.ExceptionEvent;
-import com.sun.jdi.event.MethodEntryEvent;
-import com.sun.jdi.event.MethodExitEvent;
-import com.sun.jdi.event.ModificationWatchpointEvent;
-import com.sun.jdi.event.StepEvent;
-import com.sun.jdi.event.ThreadDeathEvent;
-import com.sun.jdi.event.ThreadStartEvent;
-import com.sun.jdi.event.VMDeathEvent;
-import com.sun.jdi.event.VMDisconnectEvent;
-import com.sun.jdi.request.EventRequest;
-
-/**
- * Listen for a specific kind of event.
- */
-public class EventWaiter implements EventListener {
-	protected EventRequest fRequest;
-	protected boolean fShouldGo;
-	protected Event fEvent;
-	/**
-	 * Creates a new EventWaiter for the given request. Sets whether it
-	 * should let the VM go after it got the event.
-	 */
-	public EventWaiter(EventRequest request, boolean shouldGo) {
-		fRequest = request;
-		fShouldGo = shouldGo;
-	}
-	public boolean accessWatchpoint(AccessWatchpointEvent event) {
-		return handleEvent(event);
-	}
-	public boolean methodEntry(MethodEntryEvent event) {
-		return handleEvent(event);
-	}
-	public boolean methodExit(MethodExitEvent event) {
-		return handleEvent(event);
-	}
-	public boolean breakpoint(BreakpointEvent event) {
-		return handleEvent(event);
-	}
-	public boolean classPrepare(ClassPrepareEvent event) {
-		return handleEvent(event);
-	}
-	public boolean classUnload(ClassUnloadEvent event) {
-		return handleEvent(event);
-	}
-	public boolean exception(ExceptionEvent event) {
-		return handleEvent(event);
-	}
-	/**
-	 * Handles an incoming event.
-	 * Returns whether the VM should be resumed if it was suspended.
-	 */
-	protected boolean handleEvent(Event event) {
-		if ((event.request() != null) && (event.request().equals(fRequest))) {
-			notifyEvent(event);
-			return fShouldGo;
-		} else
-			return true;
-	}
-	public boolean modificationWatchpoint(ModificationWatchpointEvent event) {
-		return handleEvent(event);
-	}
-	/**
-	 * Notify any object that is waiting for an event.
-	 */
-	synchronized protected void notifyEvent(Event event) {
-		notify();
-		fEvent = event;
-	}
-	public boolean step(StepEvent event) {
-		return handleEvent(event);
-	}
-	public boolean threadDeath(ThreadDeathEvent event) {
-		return handleEvent(event);
-	}
-	public boolean threadStart(ThreadStartEvent event) {
-		return handleEvent(event);
-	}
-	public boolean vmDeath(VMDeathEvent event) {
-		if (fEvent == null) {
-			// This is the last event we can ever get an this was not the one we expected
-			notifyEvent(null);
-			return true;
-		}
-		return handleEvent(event);
-	}
-	public boolean vmDisconnect(VMDisconnectEvent event) {
-		return handleEvent(event);
-	}
-	/**
-	 * Waits for the first event corresponding to this waiter's request.
-	 */
-	synchronized public Event waitEvent() throws InterruptedException {
-		if (fEvent == null) // If event didn't already come in
-			wait();
-		Event result = fEvent;
-		fEvent = null;
-		return result;
-	}
-	/**
-	 * Waits for the first event corresponding to this waiter's request
-	 * for the given time (in ms). If it times out, return null.
-	 */
-	synchronized public Event waitEvent(long time)
-		throws InterruptedException {
-		if (fEvent == null) // If event didn't already come in
-			wait(time);
-		Event result = fEvent;
-		fEvent = null;
-		return result;
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ExceptionEventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ExceptionEventTest.java
deleted file mode 100644
index 89a667a..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ExceptionEventTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.event.ExceptionEvent;
-
-/**
- * Tests for JDI com.sun.jdi.event.ExceptionEvent.
- */
-public class ExceptionEventTest extends AbstractJDITest {
-
-	private ExceptionEvent fEvent;
-	/**
-	 * Creates a new test.
-	 */
-	public ExceptionEventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Trigger an exception event
-		fEvent =
-			(ExceptionEvent) triggerAndWait(getExceptionRequest(),
-				"ExceptionEvent",
-				false);
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// The test has interrupted the VM, so let it go
-		fVM.resume();
-
-		// The test has resumed the test thread, so suspend it
-		waitUntilReady();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ExceptionEventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.ExceptionEvent";
-	}
-	/**
-	 * Test JDI catchLocation().
-	 */
-	public void testJDICatchLocation() {
-		// Uncaught exception
-		assertTrue("1", fEvent.catchLocation() == null);
-
-		// TO DO: Caught exception
-	}
-	/**
-	 * Test JDI exception().
-	 */
-	public void testJDIException() {
-		ReferenceType expected =
-			(ReferenceType) fVM.classesByName("java.lang.Error").get(0);
-		assertEquals("1", expected, fEvent.exception().referenceType());
-	}
-	/**
-	 * Test JDI thread().
-	 */
-	public void testJDIThread() {
-		assertEquals("1", "Test Exception Event", fEvent.thread().name());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ExceptionRequestTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ExceptionRequestTest.java
deleted file mode 100644
index 4244f4b..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ExceptionRequestTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.request.ExceptionRequest;
-
-/**
- * Tests for JDI com.sun.jdi.request.ExceptionRequest.
- */
-public class ExceptionRequestTest extends AbstractJDITest {
-
-	private ExceptionRequest fRequest;
-	/**
-	 * Creates a new test .
-	 */
-	public ExceptionRequestTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get the exception request
-		fRequest = getExceptionRequest();
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Delete the exception request we created in this test
-		fVM.eventRequestManager().deleteEventRequest(fRequest);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ExceptionRequestTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.request.ExceptionRequest";
-	}
-	/**
-	 * Test JDI exception().
-	 */
-	public void testJDIException() {
-		assertTrue("1", fRequest.exception() == null);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FieldTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FieldTest.java
deleted file mode 100644
index a3e9edd..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FieldTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.Field;
-
-/**
- * Tests for JDI com.sun.jdi.Field.
- */
-public class FieldTest extends AbstractJDITest {
-
-	private Field fField;
-	/**
-	 * Creates a new test.
-	 */
-	public FieldTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get static field "fObject"
-		fField = getField();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new FieldTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.Field";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fField.equals(fField));
-		Field other = getField("fString");
-		assertTrue("2", !fField.equals(other));
-		assertTrue("3", !fField.equals(new Object()));
-		assertTrue("4", !fField.equals(null));
-	}
-	/**
-	 * Test JDI isTransient().
-	 */
-	public void testJDIIsTransient() {
-		assertTrue("1", !fField.isTransient());
-	}
-	/**
-	 * Test JDI isVolatile().
-	 */
-	public void testJDIIsVolatile() {
-		assertTrue("1", !fField.isVolatile());
-	}
-	/**
-	 * Test JDI type().
-	 */
-	public void testJDIType() {
-		try {
-			assertEquals("1", getMainClass(), fField.type());
-		} catch (ClassNotLoadedException e) {
-			assertTrue("2", false);
-		}
-	}
-	/**
-	 * Test JDI typeName().
-	 */
-	public void testJDITypeName() {
-		assertEquals(
-			"1",
-			"org.eclipse.debug.jdi.tests.program.MainClass",
-			fField.typeName());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FileConsoleReader.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FileConsoleReader.java
deleted file mode 100644
index b44382e..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FileConsoleReader.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-public class FileConsoleReader extends AbstractReader {
-	private InputStream fInput;
-	private FileOutputStream fFileOutputStream;
-	/*
-	 * Creates a new console reader that will read from the given input stream.
-	 */
-	public FileConsoleReader(String name, String fileName, InputStream input) {
-		super(name);
-		fInput = input;
-		try {
-			fFileOutputStream = new FileOutputStream(new File(fileName));
-		} catch (IOException e) {
-			System.out.println("Got exception: " + e.getMessage());
-		}
-	}
-	/**
-	 * Continuously reads events that are coming from the event queue.
-	 */
-	protected void readerLoop() {
-		BufferedReader input = new BufferedReader(new InputStreamReader(fInput));
-		try {
-			int read = 0;
-			while (!fIsStopping && read != -1) {
-				read = input.read();
-				if (read != -1) {
-					fFileOutputStream.write(read);
-				}
-				fFileOutputStream.flush();
-			}
-		} catch (IOException e) {
-		}
-	}
-
-	public void stop() {
-		try {
-			fFileOutputStream.close();
-		} catch (IOException e) {
-			System.out.println("Got exception: " + e.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FloatValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FloatValueTest.java
deleted file mode 100644
index d535922..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/FloatValueTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.FloatValue;
-
-/**
- * Tests for JDI com.sun.jdi.FloatValue.
- */
-public class FloatValueTest extends AbstractJDITest {
-
-	private FloatValue fValue;
-	/**
-	 * Creates a new test.
-	 */
-	public FloatValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get float value for 123.45f
-		fValue = fVM.mirrorOf(123.45f);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new FloatValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.FloatType";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fValue.equals(fVM.mirrorOf(123.45f)));
-		assertTrue("2", !fValue.equals(fVM.mirrorOf(54.321f)));
-		assertTrue("3", !fValue.equals(new Object()));
-		assertTrue("4", !fValue.equals(null));
-		assertEquals("5", fValue.hashCode(), fVM.mirrorOf(123.45f).hashCode());
-		assertTrue("6", fValue.hashCode() != fVM.mirrorOf(54.321f).hashCode());
-	}
-	/**
-	 * Test JDI value().
-	 */
-	public void testJDIValue() {
-		assertTrue("1", 123.45f == fValue.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/HotCodeReplacementTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/HotCodeReplacementTest.java
deleted file mode 100644
index 419f9de..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/HotCodeReplacementTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.Location;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StackFrame;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.event.ClassPrepareEvent;
-import com.sun.jdi.event.ClassUnloadEvent;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.StepEvent;
-import com.sun.jdi.request.ClassPrepareRequest;
-import com.sun.jdi.request.ClassUnloadRequest;
-import com.sun.jdi.request.EventRequest;
-import com.sun.jdi.request.StepRequest;
-
-/**
- * Tests for the hot code replacement JDI extension.
- */
-public class HotCodeReplacementTest extends AbstractJDITest {
-	/**
-	 * Creates a new test.
-	 */
-	public HotCodeReplacementTest() {
-		super();
-	}
-	private void dropTopFrame(
-		ThreadReference thread,
-		org.eclipse.jdi.hcr.ThreadReference hcrThread) {
-		// Get stack size
-		int stackSize = 0;
-		try {
-			stackSize = thread.frames().size();
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("dropTopFrame.1", false);
-		}
-
-		// Create and install step out request
-		StepRequest request =
-			fVM.eventRequestManager().createStepRequest(
-				thread,
-				StepRequest.STEP_MIN,
-				StepRequest.STEP_OUT);
-		request.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
-		request.enable();
-
-		// Prepare to receive the event
-		EventWaiter waiter = new EventWaiter(request, false);
-		fEventReader.addEventListener(waiter);
-
-		// Do return
-		boolean finallyBlocksSkipped = hcrThread.doReturn(null, true);
-		assertTrue("dropTopFrame.2", !finallyBlocksSkipped);
-
-		// Wait for the event to come in
-		Event event = waitForEvent(waiter, 10000); // Wait 10s max
-		assertTrue("dropTopFrame.3", event != null);
-		fEventReader.removeEventListener(waiter);
-		fVM.eventRequestManager().deleteEventRequest(request);
-
-		// Check thread has dropped top frame
-		assertTrue("dropTopFrame.4", thread.isSuspended());
-		int newStackSize = 0;
-		try {
-			newStackSize = thread.frames().size();
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("dropTopFrame.5", false);
-		}
-		assertEquals("dropTopFrame.6", stackSize - 1, newStackSize);
-	}
-	
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		waitUntilReady();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(String[] args) {
-		new HotCodeReplacementTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "Hot code replacement extension to JDI (org.eclipse.jdi.hcr) tests";
-	}
-	private void reenterOnExit(ThreadReference thread) {
-		// Get top frame's location
-		Location location = null;
-		try {
-			StackFrame frame = (StackFrame) thread.frames(0, 1).get(0);
-			location = frame.location();
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("reenterOnExit.1", false);
-		}
-
-		// Create and install reenter step request
-		org.eclipse.jdi.hcr.EventRequestManager eventRequestManager =
-			(org.eclipse.jdi.hcr.EventRequestManager) fVM.eventRequestManager();
-		org.eclipse.jdi.hcr.ReenterStepRequest request =
-			eventRequestManager.createReenterStepRequest(thread);
-		request.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
-		request.enable();
-
-		// Prepare to receive the step event
-		EventWaiter waiter = new EventWaiter(request, false);
-		fEventReader.addEventListener(waiter);
-
-		// Resume thread with a doReturn so that the frame is reentered right away
-		 ((org.eclipse.jdi.hcr.ThreadReference) thread).doReturn(null, false);
-
-		// Wait for the step event to come in
-		StepEvent event = (StepEvent) waitForEvent(waiter, 10000); // Wait 10s max
-		assertTrue("reenterOnExit.2", event != null);
-		fEventReader.removeEventListener(waiter);
-		fVM.eventRequestManager().deleteEventRequest(request);
-
-		// Check that the top frame location is as expected
-		Location newLocation = null;
-		try {
-			StackFrame frame = (StackFrame) thread.frames(0, 1).get(0);
-			newLocation = frame.location();
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("reenterOnExit.3", false);
-		}
-		assertTrue("reenterOnExit.4", !newLocation.equals(location));
-		assertTrue("reenterOnExit.5", newLocation.codeIndex() <= location.codeIndex());
-
-	}
-	private void reloadClasses() {
-		// Gets the old class
-		ReferenceType oldType = getMainClass();
-
-		// Create and install class unload and class prepare event requests
-		ClassUnloadRequest unloadRequest =
-			fVM.eventRequestManager().createClassUnloadRequest();
-		unloadRequest.setSuspendPolicy(EventRequest.SUSPEND_NONE);
-		unloadRequest.enable();
-		ClassPrepareRequest loadRequest =
-			fVM.eventRequestManager().createClassPrepareRequest();
-		loadRequest.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
-		loadRequest.enable();
-
-		// Prepare to receive the class unload event
-		EventWaiter unloadEventWaiter = new EventWaiter(unloadRequest, true);
-		fEventReader.addEventListener(unloadEventWaiter);
-
-		// Prepare to receive the class prepare event
-		EventWaiter loadEventWaiter = new EventWaiter(loadRequest, true);
-		fEventReader.addEventListener(loadEventWaiter);
-
-		// Reload classes
-		org.eclipse.jdi.hcr.VirtualMachine vm =
-			(org.eclipse.jdi.hcr.VirtualMachine) fVM;
-		int result =
-			vm.classesHaveChanged(
-				new String[] { "org.eclipse.debug.jdi.tests.program.MainClass" });
-		assertEquals("reloadClasses.1", org.eclipse.jdi.hcr.VirtualMachine.RELOAD_SUCCESS, result);
-
-		// Wait for the class unload event to come in
-		ClassUnloadEvent unloadEvent =
-			(ClassUnloadEvent) waitForEvent(unloadEventWaiter, 10000);
-		// Wait 10s max
-		assertTrue("reloadClasses.2", unloadEvent != null);
-		fEventReader.removeEventListener(unloadEventWaiter);
-		fVM.eventRequestManager().deleteEventRequest(unloadRequest);
-		assertEquals(
-			"reloadClasses.3",
-			"org.eclipse.debug.jdi.tests.program.MainClass",
-			unloadEvent.className());
-
-		// Wait for the class prepare event to come in
-		ClassPrepareEvent loadEvent =
-			(ClassPrepareEvent) waitForEvent(loadEventWaiter, 10000);
-		// Wait 10s max
-		assertTrue("reloadClasses.4", loadEvent != null);
-		fEventReader.removeEventListener(loadEventWaiter);
-		fVM.eventRequestManager().deleteEventRequest(loadRequest);
-		ReferenceType newType = loadEvent.referenceType();
-		assertEquals(
-			"reloadClasses.5",
-			"org.eclipse.debug.jdi.tests.program.MainClass",
-			newType.name());
-		assertTrue("reloadClasses.6", !oldType.equals(newType));
-	}
-	/**
-	 * Use case 1:
-	 * . get a thread and suspend it
-	 * . get hot code replacement capabilities
-	 * . drop the top a frame
-	 * . reload some classes
-	 * . request reeenter on exit
-	 * . resume thread
-	 * . get step event
-	 * . get class file version for some classes
-	 */
-	public void testJDIUseCase1() {
-		// Get the suspended thread
-		ThreadReference thread = getThread();
-		assertTrue("1", thread.isSuspended());
-		assertEquals("2", 1, thread.suspendCount());
-		org.eclipse.jdi.hcr.ThreadReference hcrThread =
-			(org.eclipse.jdi.hcr.ThreadReference) thread;
-
-		org.eclipse.jdi.hcr.VirtualMachine vm =
-			(org.eclipse.jdi.hcr.VirtualMachine) fVM;
-
-		
-		// Drop the top a frame
-		try {
-			if (vm.canDoReturn()) {
-				dropTopFrame(thread, hcrThread);
-			}
-		} catch (UnsupportedOperationException e) {
-			//not using a VM that supports the extension
-			return;
-		}
-
-		// Reload classes
-		if (vm.canReloadClasses())
-			reloadClasses();
-
-		// Reenter on exit
-		if (vm.canReenterOnExit())
-			reenterOnExit(thread);
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		waitUntilReady();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/IntegerValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/IntegerValueTest.java
deleted file mode 100644
index 580564a..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/IntegerValueTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.IntegerValue;
-
-/**
- * Tests for JDI com.sun.jdi.IntegerValue.
- */
-public class IntegerValueTest extends AbstractJDITest {
-
-	private IntegerValue fValue;
-	/**
-	 * Creates a new test.
-	 */
-	public IntegerValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get int value for 12345
-		fValue = fVM.mirrorOf(12345);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new IntegerValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.IntegerValue";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fValue.equals(fVM.mirrorOf(12345)));
-		assertTrue("2", !fValue.equals(fVM.mirrorOf(54321)));
-		assertTrue("3", !fValue.equals(new Object()));
-		assertTrue("4", !fValue.equals(null));
-		assertEquals("5", fValue.hashCode(), fVM.mirrorOf(12345).hashCode());
-		assertTrue("6", fValue.hashCode() != fVM.mirrorOf(54321).hashCode());
-	}
-	/**
-	 * Test JDI value().
-	 */
-	public void testJDIValue() {
-		assertTrue("1", 12345 == fValue.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/InterfaceTypeTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/InterfaceTypeTest.java
deleted file mode 100644
index 9608a64..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/InterfaceTypeTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.Iterator;
-import java.util.List;
-
-import com.sun.jdi.ClassType;
-import com.sun.jdi.InterfaceType;
-import com.sun.jdi.Method;
-
-/**
- * Tests for JDI com.sun.jdi.InterfaceType
- * and JDWP Interface command set.
- */
-public class InterfaceTypeTest extends AbstractJDITest {
-
-	private InterfaceType fType;
-	/**
-	 * Creates a new test.
-	 */
-	public InterfaceTypeTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get interface type "org.eclipse.debug.jdi.tests.program.Printable"
-		fType = getInterfaceType();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new InterfaceTypeTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.InterfaceType";
-	}
-	/**
-	 * Test JDI allFields().
-	 */
-	public void testJDIAllFields() {
-		assertEquals("1", 1, fType.allFields().size());
-	}
-	/**
-	 * Test JDI allMethods().
-	 */
-	public void testJDIAllMethods() {
-		boolean found = false;
-		Iterator it = fType.allMethods().iterator();
-		while (it.hasNext()) {
-			Method mth = (Method) it.next();
-			if (mth.name().equals("print")) {
-				found = true;
-			}
-		}
-		assertTrue("1", fType.allMethods().size() == 1);
-		assertTrue("2", found);
-	}
-	/**
-	 * Test JDI implementors().
-	 */
-	public void testJDIImplementors() {
-		List implementors = fType.implementors();
-		assertEquals("1", 1, implementors.size());
-		ClassType implementor = (ClassType) implementors.get(0);
-		assertEquals("2", getMainClass(), implementor);
-	}
-	/**
-	 * Test JDI subinterfaces().
-	 */
-	public void testJDISubinterfaces() {
-		List subinterfaces = fType.subinterfaces();
-		assertEquals("1", 0, subinterfaces.size());
-	}
-	/**
-	 * Test JDI superinterfaces().
-	 */
-	public void testJDISuperinterfaces() {
-		List superinterfaces = fType.superinterfaces();
-		assertEquals("1", 1, superinterfaces.size());
-		InterfaceType superinterface = (InterfaceType) superinterfaces.get(0);
-		InterfaceType expected =
-			(InterfaceType) fVM.classesByName("java.lang.Cloneable").get(0);
-		assertEquals("2", expected, superinterface);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/JDITestCase.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/JDITestCase.java
deleted file mode 100644
index dc29b4b..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/JDITestCase.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.lang.reflect.Method;
-import junit.framework.TestCase;
-
-/**
- * Wrapper to be able to use the JDI tests in a test suite without
- * starting and shuting down the VM after each test.
- */
-public class JDITestCase extends TestCase {
-	private AbstractJDITest fTest;
-	/**
-	 * Creates a new test for the given JDI test.
-	 */
-	public JDITestCase(AbstractJDITest test, String name) {
-		super(name);
-		fTest = test;
-	}
-	/**
-	 * Override to run the test and assert its state.
-	 * @exception Throwable if any exception is thrown
-	 */
-	protected void runTest() throws Throwable {
-		Method runMethod = null;
-		try {
-			runMethod = fTest.getClass().getMethod(getName(), new Class[0]);
-		} catch (NoSuchMethodException e) {
-			e.fillInStackTrace();
-			throw e;
-		}
-		try {
-			fTest.verbose("Running " + getName());
-			runMethod.invoke(fTest, new Class[0]);
-		} catch (java.lang.reflect.InvocationTargetException e) {
-			if (e.getTargetException() instanceof NotYetImplementedException)
-				System.out.println("\n" + getName() + " is not yet implemented.");
-			else {
-				e.fillInStackTrace();
-				throw e.getTargetException();
-			}
-		} catch (IllegalAccessException e) {
-			e.fillInStackTrace();
-			throw e;
-		}
-	}
-	/**
-	 * Init tests
-	 */
-	protected void setUp() {
-		// Ignore setUp since it is done once for all tests in the test suite
-	}
-	/**
-	 * Tears down the fixture.
-	 */
-	protected void tearDown() {
-		// Ignore tearDown since it is done once for all tests in the test suite
-	}
-	/**
-	 * Returns a string representation of the test case
-	 */
-	public String toString() {
-		return fTest.getClass().getName() + "." + getName() + "()";
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/JDITestSuite.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/JDITestSuite.java
deleted file mode 100644
index 245d8b8..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/JDITestSuite.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import junit.framework.TestResult;
-import junit.framework.TestSuite;
-
-/**
- * A JDI test suite runs all tests defined in a JDI test case class.
- * It runs the setUp method once before running the tests and the
- * tearDown method once after.
- */
-public class JDITestSuite extends TestSuite {
-	private AbstractJDITest fTest;
-	/**
-	 * Creates a new test suite for the given JDI test.
-	 */
-	public JDITestSuite(AbstractJDITest test) {
-		super();
-		fTest = test;
-	}
-	/**
-	 * Runs the tests and collects their result in a TestResult.
-	 */
-	public void run(TestResult result) {
-		fTest.setUp();
-		super.run(result);
-		fTest.tearDown();
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocalVariableTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocalVariableTest.java
deleted file mode 100644
index 72d5701..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocalVariableTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.LocalVariable;
-
-/**
- * Tests for JDI com.sun.jdi.LocalVariable.
- */
-public class LocalVariableTest extends AbstractJDITest {
-
-	private LocalVariable fVar;
-	/**
-	 * Creates a new test.
-	 */
-	public LocalVariableTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Wait for the program to be ready
-		waitUntilReady();
-
-		// Get local variable "t" in the frame running MainClass.run()
-		fVar = getLocalVariable();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new LocalVariableTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.LocalVariable";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fVar.equals(fVar));
-		LocalVariable other = null;
-		try {
-			other = getFrame(RUN_FRAME_OFFSET).visibleVariableByName("o");
-		} catch (AbsentInformationException e) {
-			assertTrue("2", false);
-		}
-		assertTrue("3", !fVar.equals(other));
-		assertTrue("4", !fVar.equals(new Object()));
-		assertTrue("5", !fVar.equals(null));
-		assertTrue("6", fVar.hashCode() != other.hashCode());
-	}
-	/**
-	 * Test JDI isArgument().
-	 */
-	public void testJDIIsArgument() {
-		assertTrue("1", !fVar.isArgument());
-	}
-	/**
-	 * Test JDI isVisible(StackFrame).
-	 */
-	public void testJDIIsVisible() {
-		assertTrue("1", fVar.isVisible(getFrame(RUN_FRAME_OFFSET)));
-
-		boolean gotException = false;
-		try {
-			fVar.isVisible(getFrame(0));
-		} catch (IllegalArgumentException e) {
-			gotException = true;
-		}
-		assertTrue("2", gotException);
-	}
-	/**
-	 * Test JDI name().
-	 */
-	public void testJDIName() {
-		assertEquals("1", "t", fVar.name());
-	}
-	/**
-	 * Test JDI signature().
-	 */
-	public void testJDISignature() {
-		assertEquals("1", "Ljava/lang/Thread;", fVar.signature());
-	}
-	/**
-	 * Test JDI type().
-	 */
-	public void testJDIType() {
-		try {
-			assertEquals(
-				"1",
-				fVM.classesByName("java.lang.Thread").get(0),
-				fVar.type());
-		} catch (ClassNotLoadedException e) {
-			assertTrue("2", false);
-		}
-	}
-	/**
-	 * Test JDI typeName().
-	 */
-	public void testJDITypeName() {
-		assertEquals("1", "java.lang.Thread", fVar.typeName());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocatableTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocatableTest.java
deleted file mode 100644
index 6c04169..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocatableTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.Locatable;
-import com.sun.jdi.Location;
-import com.sun.jdi.Method;
-import com.sun.jdi.request.AccessWatchpointRequest;
-import com.sun.jdi.request.BreakpointRequest;
-import com.sun.jdi.request.ModificationWatchpointRequest;
-
-/**
- * Tests for JDI com.sun.jdi.Locatable.
- */
-public class LocatableTest extends AbstractJDITest {
-
-	private List fLocatables = new LinkedList();
-	private List fRequests = new LinkedList();
-	/**
-	 * Creates a new test.
-	 */
-	public LocatableTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get all kinds of locatable
-
-		BreakpointRequest bp = getBreakpointRequest();
-		fLocatables.add(bp); // BreakpointRequest
-
-		//ExceptionRequest er = getExceptionRequest();
-		//fLocatables.add(triggerAndWait(er, 'e')); // ExceptionEvent
-
-		fLocatables.add(getMethod()); // Method
-
-		fLocatables.add(triggerStepAndWait()); // StepEvent
-
-		fRequests.add(bp);
-		fLocatables.add(triggerAndWait(bp, "BreakpointEvent", true));
-		// BreakpointEvent
-
-		if (fVM.canWatchFieldAccess()) {
-			AccessWatchpointRequest ap = getAccessWatchpointRequest();
-			fRequests.add(ap);
-			fLocatables.add(triggerAndWait(ap, "AccessWatchpointEvent", true));
-			// AccessWatchpointEvent
-		}
-
-		if (fVM.canWatchFieldModification()) {
-			ModificationWatchpointRequest mp =
-				getModificationWatchpointRequest();
-			fRequests.add(mp);
-			fLocatables.add(
-				triggerAndWait(mp, "ModificationWatchpointEvent", false));
-			// ModificationWatchpointEvent
-		}
-
-		// Note we can use the stack frame only if the thread is suspended,
-		// that's why the previoue triggerAndWait doesn't resume the thread
-		// and this Locatable is added last in the list
-		fLocatables.add(getFrame(RUN_FRAME_OFFSET)); // StackFrame
-
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Ensure that the modification of the "fBool" field has completed
-		fVM.resume();
-		waitUntilReady();
-
-		// Delete the event requests we created in this test
-		fVM.eventRequestManager().deleteEventRequests(fRequests);
-
-		// Set the value of the "fBool" field back to its original value
-		resetField();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new LocatableTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.Locatable";
-	}
-	/**
-	 * Test JDI location()
-	 */
-	public void testJDILocation() {
-		ListIterator iterator = fLocatables.listIterator();
-		while (iterator.hasNext()) {
-			Locatable locatable = (Locatable) iterator.next();
-			Location location = locatable.location();
-			assertTrue("1." + locatable, location != null);
-			assertTrue(
-				"2." + locatable,
-				(location.codeIndex()) >= 0 || (location.codeIndex() == -1));
-			assertTrue("3." + locatable, location.declaringType() != null);
-			assertTrue(
-				"4." + locatable,
-				(location.lineNumber() > 0) || (location.lineNumber() == -1));
-			assertTrue(
-				"5." + locatable,
-				(location.method() instanceof Method)
-					|| (location.method() == null));
-			try {
-				assertTrue(
-					"6." + locatable,
-					(location.sourceName() instanceof String)
-						|| (location.sourceName() == null));
-			} catch (AbsentInformationException e) {
-				assertTrue("7", false);
-			}
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocationTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocationTest.java
deleted file mode 100644
index 58b7c91..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LocationTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.Location;
-import com.sun.jdi.Method;
-import com.sun.jdi.ReferenceType;
-
-/**
- * Tests for JDI com.sun.jdi.Location.
- */
-public class LocationTest extends AbstractJDITest {
-
-	private Location fLocation;
-	/**
-	 * Creates a new test.
-	 */
-	public LocationTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Ensure we're in a good state
-		fVM.resume();
-		waitUntilReady();
-
-		// Get the location of the stack frame running the method MainClass.run()
-		fLocation = getLocation();
-
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new LocationTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.Location";
-	}
-	/**
-	 * Test JDI codeIndex().
-	 */
-	public void testJDICodeIndex() {
-		fLocation.codeIndex();
-	}
-	/**
-	 * Test JDI declaringType().
-	 */
-	public void testJDIDeclaringType() {
-		ReferenceType expected = getMainClass();
-		ReferenceType declaringType = fLocation.declaringType();
-		assertEquals("1", expected.name(), declaringType.name());
-		// Use name to work around a pb in Sun's VM
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fLocation.equals(fLocation));
-		Location other = getFrame(0).location();
-		assertTrue("2", !fLocation.equals(other));
-		assertTrue("3", !fLocation.equals(new Object()));
-		assertTrue("4", !fLocation.equals(null));
-		assertTrue("5", fLocation.hashCode() != other.hashCode());
-	}
-	/**
-	 * Test JDI lineNumber().
-	 */
-	public void testJDILineNumber() {
-		assertEquals("1", 110, fLocation.lineNumber());
-	}
-	/**
-	 * Test JDI method().
-	 */
-	public void testJDIMethod() {
-		Method method = fLocation.method();
-		assertEquals("1", "print", method.name());
-	}
-	/**
-	 * Test JDI sourceName().
-	 */
-	public void testJDISourceName() {
-		String sourceName = null;
-		try {
-			sourceName = fLocation.sourceName();
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", "MainClass.java", sourceName);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LongValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LongValueTest.java
deleted file mode 100644
index ec3e443..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/LongValueTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.LongValue;
-
-/**
- * Tests for JDI com.sun.jdi.LongValue.
- */
-public class LongValueTest extends AbstractJDITest {
-
-	private LongValue fValue;
-	/**
-	 * Creates a new test.
-	 */
-	public LongValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get long value for 123456789l
-		fValue = fVM.mirrorOf(123456789l);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new LongValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.LongValue";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fValue.equals(fVM.mirrorOf(123456789l)));
-		assertTrue("2", !fValue.equals(fVM.mirrorOf(987654321l)));
-		assertTrue("3", !fValue.equals(new Object()));
-		assertTrue("4", !fValue.equals(null));
-		assertEquals(
-			"5",
-			fValue.hashCode(),
-			fVM.mirrorOf(123456789l).hashCode());
-		assertTrue("6", fValue.hashCode() != fVM.mirrorOf(987654321l).hashCode());
-	}
-	/**
-	 * Test JDI value().
-	 */
-	public void testJDIValue() {
-		assertTrue("1", 123456789l == fValue.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodEntryRequestTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodEntryRequestTest.java
deleted file mode 100644
index 1b07dfe..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodEntryRequestTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ClassType;
-import com.sun.jdi.Method;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.MethodEntryEvent;
-import com.sun.jdi.request.MethodEntryRequest;
-
-public class MethodEntryRequestTest extends AbstractJDITest {
-
-	public void localSetUp() {
-	}
-
-	public void localTearDown() {
-		fVM.resume();
-		waitUntilReady();
-	}
-
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new MethodEntryRequestTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.MethodEntryRequest";
-	}
-
-	protected MethodEntryRequest getMethodEntryRequest() {
-		return fVM.eventRequestManager().createMethodEntryRequest();
-	}
-
-	public void testJDIWithoutFilter() {
-		MethodEntryRequest request = getMethodEntryRequest();
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodEntryEvent event = (MethodEntryEvent) e;
-		assertEquals(getThread(), event.thread());
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIWithClassExclusionFilter() {
-		MethodEntryRequest request = getMethodEntryRequest();
-		request.addClassExclusionFilter("org.eclipse.debug.jdi.tests.program.*");
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodEntryEvent event = (MethodEntryEvent) e;
-		Method m = event.method();
-		ReferenceType r = m.location().declaringType();
-		assertTrue("1", !r.name().startsWith("org.eclipse.debug.jdi.tests.program."));
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIWithClassFilter1() {
-		MethodEntryRequest request = getMethodEntryRequest();
-		ClassType clazz = getClass("java.io.PrintStream");
-		request.addClassFilter(clazz);
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodEntryEvent event = (MethodEntryEvent) e;
-		Method m = event.method();
-		ReferenceType r = m.location().declaringType();
-		assertEquals(clazz, r);
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIWithClassFilter2() {
-		MethodEntryRequest request = getMethodEntryRequest();
-		request.addClassFilter("java.io.PrintStream");
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodEntryEvent event = (MethodEntryEvent) e;
-		Method m = event.method();
-		ReferenceType r = m.location().declaringType();
-		assertEquals("java.io.PrintStream", r.name());
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIWithThreadFilter() {
-		MethodEntryRequest request = getMethodEntryRequest();
-		ThreadReference thr = getMainThread();
-		request.addThreadFilter(thr);
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodEntryEvent event = (MethodEntryEvent) e;
-		assertEquals(thr, event.thread());
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodExitRequestTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodExitRequestTest.java
deleted file mode 100644
index 7a5293d..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodExitRequestTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ClassType;
-import com.sun.jdi.Method;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.event.Event;
-import com.sun.jdi.event.MethodExitEvent;
-import com.sun.jdi.request.MethodExitRequest;
-
-public class MethodExitRequestTest extends AbstractJDITest {
-
-	public void localSetUp() {
-	}
-	public void localTearDown() {
-		fVM.resume();
-		waitUntilReady();
-	}
-
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new MethodExitRequestTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.MethodExitRequest";
-	}
-
-	protected MethodExitRequest getMethodExitRequest() {
-		return fVM.eventRequestManager().createMethodExitRequest();
-	}
-	public void testJDIWithoutFilter() {
-		MethodExitRequest request = getMethodExitRequest();
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodExitEvent event = (MethodExitEvent) e;
-		assertEquals(getThread(), event.thread());
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIWithClassExclusionFilter() {
-		MethodExitRequest request = getMethodExitRequest();
-		request.addClassExclusionFilter("org.eclipse.debug.jdi.tests.program.*");
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodExitEvent event = (MethodExitEvent) e;
-		Method m = event.method();
-		ReferenceType r = m.location().declaringType();
-		assertTrue("1", !r.name().startsWith("org.eclipse.debug.jdi.tests.program."));
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIWithClassFilter1() {
-		MethodExitRequest request = getMethodExitRequest();
-		ClassType clazz = getClass("java.io.PrintStream");
-		request.addClassFilter(clazz);
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodExitEvent event = (MethodExitEvent) e;
-		Method m = event.method();
-		ReferenceType r = m.location().declaringType();
-		assertEquals(clazz, r);
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIWithClassFilter2() {
-		MethodExitRequest request = getMethodExitRequest();
-		request.addClassFilter("java.io.PrintStream");
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodExitEvent event = (MethodExitEvent) e;
-		Method m = event.method();
-		ReferenceType r = m.location().declaringType();
-		assertEquals("java.io.PrintStream", r.name());
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIWithThreadFilter() {
-		MethodExitRequest request = getMethodExitRequest();
-		ThreadReference thr = getMainThread();
-		request.addThreadFilter(thr);
-
-		Event e = triggerAndWait(request, "BreakpointEvent", true);
-		assertEquals(request, e.request());
-
-		MethodExitEvent event = (MethodExitEvent) e;
-		assertEquals(thr, event.thread());
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodTest.java
deleted file mode 100644
index f4d2c82..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MethodTest.java
+++ /dev/null
@@ -1,249 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.List;
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.LocalVariable;
-import com.sun.jdi.Location;
-import com.sun.jdi.Method;
-import com.sun.jdi.NativeMethodException;
-import com.sun.jdi.VoidType;
-
-/**
- * Tests for JDI com.sun.jdi.Method
- * and JDWP Method command set.
- */
-public class MethodTest extends AbstractJDITest {
-
-	private Method fMethod1;
-	/**
-	 * Creates a new test.
-	 */
-	public MethodTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get method useLocalVars(Thread, MainClass)
-		fMethod1 =
-			getMethod(
-				"useLocalVars",
-				"(Ljava/lang/Thread;Lorg/eclipse/debug/jdi/tests/program/MainClass;)V");
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new MethodTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.Method";
-	}
-	/**
-	 * Test JDI arguments() and JDWP 'Method - Get variable table'.
-	 */
-	public void testJDIArguments() {
-		List arguments = null;
-		try {
-			arguments = fMethod1.arguments();
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", 2, arguments.size());
-		assertEquals("3", "t", ((LocalVariable) arguments.get(0)).name());
-		assertEquals("4", "o", ((LocalVariable) arguments.get(1)).name());
-	}
-	/**
-	 * Test JDI argumentTypeNames().
-	 */
-	public void testJDIArgumentTypeNames() {
-		List names = fMethod1.argumentTypeNames();
-		assertEquals("1", 2, names.size());
-		assertEquals("2", "java.lang.Thread", names.get(0));
-		assertEquals(
-			"3",
-			"org.eclipse.debug.jdi.tests.program.MainClass",
-			names.get(1));
-	}
-	/**
-	 * Test JDI argumentTypes().
-	 */
-	public void testJDIArgumentTypes() {
-		List types = null;
-		try {
-			types = fMethod1.argumentTypes();
-		} catch (ClassNotLoadedException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", 2, types.size());
-		assertEquals("3", fVM.classesByName("java.lang.Thread").get(0), types.get(0));
-		assertEquals(
-			"4",
-			fVM.classesByName("org.eclipse.debug.jdi.tests.program.MainClass").get(0),
-			types.get(1));
-	}
-	/**
-	 * Test JDI bytecodes().
-	 */
-	public void testJDIBytecodes() {
-		if (!fVM.canGetBytecodes())
-			return;
-
-		byte[] bytecodes = fMethod1.bytecodes();
-		assertEquals("1", 27, bytecodes.length);
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fMethod1.equals(fMethod1));
-		Method other = getMethod("run", "()V");
-		assertTrue("2", !fMethod1.equals(other));
-		assertTrue("3", !fMethod1.equals(new Object()));
-		assertTrue("4", !fMethod1.equals(null));
-		assertTrue("5", fMethod1.hashCode() != other.hashCode());
-	}
-	/**
-	 * Test JDI isAbstract().
-	 */
-	public void testJDIIsAbstract() {
-		assertTrue("1", !fMethod1.isAbstract());
-	}
-	/**
-	 * Test JDI isConstructor().
-	 */
-	public void testJDIIsConstructor() {
-		assertTrue("1", !fMethod1.isConstructor());
-	}
-	/**
-	 * Test JDI isNative().
-	 */
-	public void testJDIIsNative() {
-		assertTrue("1", !fMethod1.isNative());
-	}
-	/**
-	 * Test JDI isStaticInitializer().
-	 */
-	public void testJDIIsStaticInitializer() {
-		assertTrue("1", !fMethod1.isStaticInitializer());
-	}
-	/**
-	 * Test JDI isSynchronized().
-	 */
-	public void testJDIIsSynchronized() {
-		assertTrue("1", !fMethod1.isSynchronized());
-	}
-	/**
-	 * Test JDI locationOfCodeIndex(long).
-	 */
-	public void testJDILocationOfCodeIndex() {
-		Location expected = fMethod1.location();
-		Location result = fMethod1.locationOfCodeIndex(expected.codeIndex());
-		assertEquals("1", expected, result);
-	}
-	/**
-	 * Test JDI locationsOfLine(int) and JDWP 'Method - Get line table'.
-	 */
-	public void testJDILocationsOfLine() {
-		int expected = fMethod1.location().lineNumber();
-		List locations = null;
-		try {
-			locations = fMethod1.locationsOfLine(expected);
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", 1, locations.size());
-		assertEquals("3", expected, ((Location) locations.get(0)).lineNumber());
-	}
-	/**
-	 * Test JDI returnType().
-	 */
-	public void testJDIReturnType() {
-		try {
-			assertTrue("1", fMethod1.returnType() instanceof VoidType);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("2", false);
-		}
-	}
-	/**
-	 * Test JDI returnTypeName().
-	 */
-	public void testJDIReturnTypeName() {
-		assertEquals("1", "void", fMethod1.returnTypeName());
-	}
-	/**
-	 * Test JDI variables() and JDWP 'Method - Get variable table'.
-	 */
-	public void testJDIVariables() {
-		List variables = null;
-		try {
-			variables = fMethod1.variables();
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", 2, variables.size());
-		assertEquals("3", "t", ((LocalVariable) variables.get(0)).name());
-		assertEquals("4", "o", ((LocalVariable) variables.get(1)).name());
-	}
-
-	/**
-	 * Test JDI variables() and JDWP 'Method - Get variable table'
-	 * for native method.
-	 */
-	public void testJDINativeMethodVariables() {
-		Method method = getMethod("java.lang.Thread", "sleep", "(J)V");
-
-		try {
-			method.variables();
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		} catch (NativeMethodException nme) {
-			return;
-		}
-		assertTrue("Should have thrown native method exception", false);
-	}
-
-	/**
-	 * Test JDI variables() and JDWP 'Method - Get variable table'
-	 * for non-native method with a long argument.
-	 */
-	public void testJDIMethodVariablesWithLong() {
-		List variables = null;
-		Method method = getMethod("variablesTest", "(J)V");
-
-		try {
-			variables = method.variables();
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("1", 1, variables.size());
-	}
-
-	/**
-	 * Test JDI variablesByName(String) and JDWP 'Method - Get variable table'.
-	 */
-	public void testJDIVariablesByName() {
-		String varName = "t";
-		List variables = null;
-		try {
-			variables = fMethod1.variablesByName(varName);
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", 1, variables.size());
-		assertEquals("3", varName, ((LocalVariable) variables.get(0)).name());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MirrorTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MirrorTest.java
deleted file mode 100644
index 3cb83c8..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/MirrorTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-
-import com.sun.jdi.Mirror;
-import com.sun.jdi.request.AccessWatchpointRequest;
-import com.sun.jdi.request.BreakpointRequest;
-import com.sun.jdi.request.ModificationWatchpointRequest;
-
-/**
- * Tests for JDI com.sun.jdi.Mirror.
- */
-public class MirrorTest extends AbstractJDITest {
-	List fMirrors = new LinkedList();
-	/**
-	 * Creates a new test.
-	 */
-	public MirrorTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get all kinds of concrete mirror that can be found in the VM
-		// in alphabetical order.
-
-		//TO DO: Add events too
-
-		fMirrors = new LinkedList();
-
-		if (fVM.canWatchFieldAccess())
-			fMirrors.add(getAccessWatchpointRequest());
-		// AccessWatchpointRequest
-
-		fMirrors.add(getObjectArrayReference()); // ArrayReference
-		fMirrors.add(getArrayType()); // ArrayType
-		fMirrors.add(fVM.mirrorOf(true)); // BooleanValue
-		fMirrors.add(getBreakpointRequest()); // BreakpointRequest
-		fMirrors.add(fVM.mirrorOf((byte) 1)); // ByteValue
-		fMirrors.add(fVM.mirrorOf('1')); // CharValue
-		fMirrors.add(getClassLoaderReference()); // ClassLoaderReference
-		fMirrors.add(getMainClass()); // ClassType
-		fMirrors.add(fVM.mirrorOf(12345.6789)); // DoubleValue
-		fMirrors.add(fVM.eventRequestManager()); // EventRequestManager
-		fMirrors.add(fVM.eventQueue()); // EventQueue
-		fMirrors.add(getField()); // Field
-		fMirrors.add(fVM.mirrorOf(123.45f)); // FieldValue
-		fMirrors.add(fVM.mirrorOf(12345)); // IntegerValue
-		fMirrors.add(getInterfaceType()); // InterfaceType
-		fMirrors.add(getLocalVariable()); // LocalVariable
-		fMirrors.add(getLocation()); // Location
-		fMirrors.add(fVM.mirrorOf(123456789l)); // LongValue
-		fMirrors.add(getMethod()); // Method
-
-		if (fVM.canWatchFieldModification())
-			fMirrors.add(getModificationWatchpointRequest());
-		// ModificationWatchpointRequest
-
-		fMirrors.add(getObjectReference()); // ObjectReference
-		fMirrors.add(fVM.mirrorOf((short) 12345)); // ShortValue
-		fMirrors.add(getFrame(RUN_FRAME_OFFSET)); // StackFrame
-		fMirrors.add(getStringReference()); // StringReference
-		fMirrors.add(getThread().threadGroup()); // ThreadGroupReference
-		fMirrors.add(getThread()); // ThreadReference
-		fMirrors.add(fVM); // VirtualMachine
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		ListIterator iterator = fMirrors.listIterator();
-		while (iterator.hasNext()) {
-			Object mirror = iterator.next();
-
-			// Delete the access watchpoint request we created in this test
-			if (mirror instanceof AccessWatchpointRequest)
-				fVM.eventRequestManager().deleteEventRequest(
-					(AccessWatchpointRequest) mirror);
-
-			// Delete the breakpoint request we created in this test
-			if (mirror instanceof BreakpointRequest)
-				fVM.eventRequestManager().deleteEventRequest(
-					(BreakpointRequest) mirror);
-
-			// Delete the modification watchpoint request we created in this test
-			if (mirror instanceof ModificationWatchpointRequest)
-				fVM.eventRequestManager().deleteEventRequest(
-					(ModificationWatchpointRequest) mirror);
-		}
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new MirrorTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.Mirror";
-	}
-	/**
-	 * Test JDI toString().
-	 */
-	public void testJDIToString() {
-		for (int i = 0; i < fMirrors.size(); i++) {
-			Mirror mirror = (Mirror) fMirrors.get(i);
-			assertTrue(Integer.toString(i), mirror.toString() instanceof String);
-		}
-	}
-	/**
-	 * Test JDI virtualMachine().
-	 */
-	public void testJDIVirtualMachine() {
-		for (int i = 0; i < fMirrors.size(); i++) {
-			Mirror mirror = (Mirror) fMirrors.get(i);
-			assertEquals(Integer.toString(i), fVM, mirror.virtualMachine());
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ModificationWatchpointEventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ModificationWatchpointEventTest.java
deleted file mode 100644
index 8a04c0c..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ModificationWatchpointEventTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.StringReference;
-import com.sun.jdi.event.ModificationWatchpointEvent;
-import com.sun.jdi.request.WatchpointRequest;
-
-/**
- * Tests for JDI com.sun.jdi.ModificationWatchpointEvent.
- */
-public class ModificationWatchpointEventTest extends AbstractJDITest {
-
-	private ModificationWatchpointEvent fWatchpointEvent;
-	private WatchpointRequest fWatchpointRequest;
-	/**
-	 * Creates a new test.
-	 */
-	public ModificationWatchpointEventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Trigger a static modification watchpoint event
-		fWatchpointRequest = getStaticModificationWatchpointRequest();
-		fWatchpointEvent =
-			(ModificationWatchpointEvent) triggerAndWait(fWatchpointRequest,
-				"StaticModificationWatchpointEvent",
-				false);
-		// Interrupt the VM so that we can test valueToBe()
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Ensure that the modification of the "fString" field has completed
-		fVM.resume();
-		waitUntilReady();
-
-		// Remove the modification watchpoint request
-		fVM.eventRequestManager().deleteEventRequest(fWatchpointRequest);
-
-		// Set the value of the "fString" field back to its original value
-		resetStaticField();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ModificationWatchpointEventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.ModificationWatchpointEvent";
-	}
-	/**
-	 * Test JDI valueToBe().
-	 */
-	public void testJDIValueToBe() {
-		assertEquals(
-			"1",
-			"Hello Universe",
-			((StringReference) fWatchpointEvent.valueToBe()).value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/NotYetImplementedException.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/NotYetImplementedException.java
deleted file mode 100644
index 65cba62..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/NotYetImplementedException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-public class NotYetImplementedException extends RuntimeException {
-	/**
-	 * NotYetImplemented constructor comment.
-	 */
-	public NotYetImplementedException() {
-		super();
-	}
-	/**
-	 * NotYetImplemented constructor comment.
-	 * @param s java.lang.String
-	 */
-	public NotYetImplementedException(String s) {
-		super(s);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/NullConsoleReader.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/NullConsoleReader.java
deleted file mode 100644
index 9067ea2..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/NullConsoleReader.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-/**
- * A null console reader that continuously reads from the VM input stream
- * so that the VM doesn't block when the program writes to the stout.
- */
-
-public class NullConsoleReader extends AbstractReader {
-	private InputStream fInput;
-	/*
-	 * Creates a new console reader that will read from the given input stream.
-	 */
-	public NullConsoleReader(String name, InputStream input) {
-		super(name);
-		fInput = input;
-	}
-	/**
-	 * Continuously reads events that are coming from the event queue.
-	 */
-	protected void readerLoop() {
-		java.io.BufferedReader input =
-			new BufferedReader(new InputStreamReader(fInput));
-		try {
-			int read = 0;
-			while (!fIsStopping && read != -1) {
-				read = input.read();
-			}
-		} catch (IOException e) {
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ObjectReferenceTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ObjectReferenceTest.java
deleted file mode 100644
index 3206d76..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ObjectReferenceTest.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Vector;
-
-import junit.framework.Test;
-
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.ClassType;
-import com.sun.jdi.Field;
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.InvocationException;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.Value;
-import com.sun.jdi.event.ThreadStartEvent;
-
-/**
- * Tests for JDI com.sun.jdi.ObjectReference
- * and JDWP Object command set.
- */
-public class ObjectReferenceTest extends AbstractJDITest {
-
-	private ObjectReference fObject;
-
-	/**
-	 * Creates a new test.
-	 */
-	public ObjectReferenceTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Make sure the object is in expected state (eg. it has not entered a monitor)
-		waitUntilReady();
-
-		// Get static field "fObject"
-		fObject = getObjectReference();
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// The test has resumed and suspended the Test Thread. Make sure this
-		// thread is suspended at the right location
-		waitUntilReady();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ObjectReferenceTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ObjectReference";
-	}
-	/**
-	 * Returns all tests 
-	 */
-	protected Test suite() {
-		JDITestSuite suite = (JDITestSuite) super.suite();
-		Vector testNames = getAllMatchingTests("testLast");
-		Iterator iterator = testNames.iterator();
-		while (iterator.hasNext()) {
-			String name = (String) iterator.next();
-			suite.addTest(new JDITestCase(this, name));
-		}
-		return suite;
-	}
-	/**
-	 * Test JDI disableCollection(). enableCollection() and isCollected().
-	 */
-	public void testJDIDisableEnableCollection() {
-		assertTrue("1", !fObject.isCollected());
-		fObject.disableCollection();
-		fObject.enableCollection();
-	}
-	/**
-	 * Test JDI entryCount().
-	 */
-	public void testJDIEntryCount() {
-		if (fVM.canGetMonitorInfo()) {
-			// Ensure we're in a good state
-			fVM.resume();
-			waitUntilReady();
-
-			try {
-				assertEquals("1", 1, fObject.entryCount());
-			} catch (IncompatibleThreadStateException e) {
-				assertTrue("2", false);
-			}
-		}
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fObject.equals(fObject));
-		ObjectReference other = getThread();
-		assertTrue("2", !fObject.equals(other));
-		assertTrue("3", !fObject.equals(new Object()));
-		assertTrue("4", !fObject.equals(null));
-		assertTrue("5", fObject.hashCode() != other.hashCode());
-	}
-	/**
-	 * Test JDI getValue(Field), getValues(List) and setValue(Field,Value)
-	 * and JDWP 'Object - Get Fields Values' and 'Object - Set Fields Values'.
-	 */
-	public void testJDIGetSetValues() {
-		// setup
-		ReferenceType type = fObject.referenceType();
-		List fields = type.fields();
-		ListIterator iterator = fields.listIterator();
-		List instanceFields = new LinkedList();
-		while (iterator.hasNext()) {
-			Field field = (Field) iterator.next();
-			if (!field.isStatic())
-				instanceFields.add(field);
-		}
-		Field field = (Field) instanceFields.get(4);
-		assertEquals("1", "fChar", field.name());
-
-		// getValues(List)
-		Map values = fObject.getValues(instanceFields);
-		assertTrue("2", values.size() == 7);
-		Value value = (Value) values.get(field);
-		assertEquals("3", value, fVM.mirrorOf('a'));
-
-		// setValue(Field,Value)
-		Value newValue = fVM.mirrorOf('b');
-		try {
-			fObject.setValue(field, newValue);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("4.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("4.2", false);
-		}
-
-		// getValue(Field)
-		assertEquals("5", fObject.getValue(field), newValue);
-
-		// test set and get null value.
-		field = (Field) instanceFields.get(5);
-
-		assertEquals("6", "fString2", field.name());
-		try {
-			fObject.setValue(field, null);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("7.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("7.2", false);
-		}
-
-		// getValue(Field)
-		assertEquals("8", fObject.getValue(field), null);
-
-		// test get final value.
-		field = (Field) instanceFields.get(6);
-		assertEquals("9", "fString3", field.name());
-
-		// The value is null and should be because it's final
-		//assertEquals("10", fVM.mirrorOf("HEY"), fObject.getValue(field));
-
-	}
-	/**
-	 * Test JDI invokeMethod.
-	 */
-	public void testJDIInvokeMethod() {
-		// Make sure the entire VM is not suspended before we start a new thread
-		// (otherwise this new thread will start suspended and we will never get the
-		// ThreadStart event)
-		fVM.resume();
-		waitUntilReady();
-
-		ThreadStartEvent event =
-			(ThreadStartEvent) triggerAndWait(fVM
-				.eventRequestManager()
-				.createThreadStartRequest(),
-				"ThreadStartEvent",
-				false);
-		ThreadReference thread = event.thread();
-		ClassType ct = (ClassType) fObject.referenceType();
-		Method inv =
-			ct.concreteMethodByName("invoke3", "(Ljava/lang/String;Ljava/lang/Object;)I");
-		List args = new ArrayList();
-		args.add(fVM.mirrorOf("888"));
-		args.add(null);
-		Exception oops = null;
-		Value val = null;
-		try {
-			val = fObject.invokeMethod(thread, inv, args, 0);
-		} catch (ClassNotLoadedException exc) {
-			oops = exc;
-		} catch (IncompatibleThreadStateException exc) {
-			oops = exc;
-		} catch (InvalidTypeException exc) {
-			oops = exc;
-		} catch (InvocationException exc) {
-			oops = exc;
-		}
-		assertTrue("1", oops == null);
-		assertEquals("2", val == null ? 0 : ((IntegerValue) val).value(), 888);
-	}
-	/**
-	 * Test JDI invokeMethod - failure.
-	 */
-	public void testJDIInvokeMethodFail() {
-		// Make sure the entire VM is not suspended before we start a new thread
-		// (otherwise this new thread will start suspended and we will never get the
-		// ThreadStart event)
-		fVM.resume();
-		waitUntilReady();
-
-		ThreadStartEvent event =
-			(ThreadStartEvent) triggerAndWait(fVM
-				.eventRequestManager()
-				.createThreadStartRequest(),
-				"ThreadStartEvent",
-				false);
-		ThreadReference thread = event.thread();
-		ClassType ct = (ClassType) fObject.referenceType();
-		Method inv = ct.concreteMethodByName("invoke4", "()J");
-		Exception good = null, oops = null;
-		try {
-			fObject.invokeMethod(thread, inv, new ArrayList(), 0);
-		} catch (ClassNotLoadedException exc) {
-			oops = exc;
-		} catch (IncompatibleThreadStateException exc) {
-			oops = exc;
-		} catch (InvalidTypeException exc) {
-			oops = exc;
-		} catch (InvocationException exc) {
-			good = exc;
-		}
-		assertTrue("1", oops == null);
-		assertTrue("2", good != null);
-	}
-	/**
-	 * Test JDI owningThread().
-	 */
-	public void testJDIOwningThread() {
-		if (fVM.canGetMonitorInfo()) {
-			// Ensure we're in a good state
-			fVM.resume();
-			waitUntilReady();
-
-			try {
-				assertEquals("1", getThread(), fObject.owningThread());
-			} catch (IncompatibleThreadStateException e) {
-				assertTrue("2", false);
-			}
-		}
-	}
-	/**
-	 * Test JDI referenceType() and JDWP 'Type - Get type'.
-	 */
-	public void testJDIReferenceType() {
-		ReferenceType type = fObject.referenceType();
-		assertEquals("1", type.name(), "org.eclipse.debug.jdi.tests.program.MainClass");
-	}
-	/**
-	 * Test JDI uniqueID().
-	 */
-	public void testJDIUniqueID() {
-		fObject.uniqueID();
-	}
-	/**
-	 * Test JDI waitingThreads().
-	 */
-	public void testJDIWaitingThreads() {
-		if (fVM.canGetMonitorInfo()) {
-			try {
-				assertEquals("1", 0, fObject.waitingThreads().size());
-			} catch (IncompatibleThreadStateException e) {
-				assertTrue("2", false);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/PrimitiveValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/PrimitiveValueTest.java
deleted file mode 100644
index d420b37..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/PrimitiveValueTest.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.PrimitiveValue;
-
-/**
- * Tests for JDI com.sun.jdi.PrimitiveValue.
- */
-public class PrimitiveValueTest extends AbstractJDITest {
-
-	private PrimitiveValue fBoolean,
-		fByte,
-		fChar,
-		fDouble,
-		fFloat,
-		fInt,
-		fLong,
-		fShort;
-	/**
-	 * Creates a new test.
-	 */
-	public PrimitiveValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get all kinds of prinitive values
-		fBoolean = fVM.mirrorOf(true);
-		fByte = fVM.mirrorOf((byte) 1);
-		fChar = fVM.mirrorOf('a');
-		fDouble = fVM.mirrorOf(12345.6789);
-		fFloat = fVM.mirrorOf(12345.6789f);
-		fInt = fVM.mirrorOf(12345);
-		fLong = fVM.mirrorOf(123456789l);
-		fShort = fVM.mirrorOf((short) 12345);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new PrimitiveValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.PrimitiveValue";
-	}
-	/**
-	 * Test JDI booleanValue().
-	 */
-	public void testJDIBooleanValue() {
-		assertTrue("1", fBoolean.booleanValue());
-		assertTrue("2", fByte.booleanValue());
-		assertTrue("3", fChar.booleanValue());
-		assertTrue("4", fDouble.booleanValue());
-		assertTrue("5", fFloat.booleanValue());
-		assertTrue("6", fInt.booleanValue());
-		assertTrue("7", fLong.booleanValue());
-		assertTrue("8", fShort.booleanValue());
-	}
-	/**
-	 * Test JDI byteValue().
-	 */
-	public void testJDIByteValue() {
-		assertEquals("1", 1, fBoolean.byteValue());
-		assertEquals("2", 1, fByte.byteValue());
-		assertEquals("3", 97, fChar.byteValue());
-		assertEquals("4", 57, fDouble.byteValue());
-		assertEquals("5", 57, fFloat.byteValue());
-		assertEquals("6", 57, fInt.byteValue());
-		assertEquals("7", 21, fLong.byteValue());
-		assertEquals("8", 57, fShort.byteValue());
-	}
-	/**
-	 * Test JDI charValue().
-	 */
-	public void testJDICharValue() {
-		assertEquals("1", (char) 1, fBoolean.charValue());
-		assertEquals("2", (char) 1, fByte.charValue());
-		assertEquals("3", 'a', fChar.charValue());
-		assertEquals("4", (char) 12345, fDouble.charValue());
-		assertEquals("5", (char) 12345, fFloat.charValue());
-		assertEquals("6", (char) 12345, fInt.charValue());
-		assertEquals("7", (char) 52501, fLong.charValue());
-		assertEquals("8", (char) 12345, fShort.charValue());
-	}
-	/**
-	 * Test JDI doubleValue().
-	 */
-	public void testJDIDoubleValue() {
-		assertEquals("1", (double) 1, fBoolean.doubleValue(), 0);
-		assertEquals("2", (double) 1, fByte.doubleValue(), 0);
-		assertEquals("3", (double) 97, fChar.doubleValue(), 0);
-		assertEquals("4", (double) 12345.6789, fDouble.doubleValue(), 0);
-		assertEquals("5", (double) 12345.6789, fFloat.doubleValue(), 0.001);
-		assertEquals("6", (double) 12345, fInt.doubleValue(), 0);
-		assertEquals("7", (double) 123456789, fLong.doubleValue(), 0);
-		assertEquals("8", (double) 12345, fShort.doubleValue(), 0);
-	}
-	/**
-	 * Test JDI floatValue().
-	 */
-	public void testJDIFloatValue() {
-		assertEquals("1", (float) 1, fBoolean.floatValue(), 0);
-		assertEquals("2", (float) 1, fByte.floatValue(), 0);
-		assertEquals("3", (float) 97, fChar.floatValue(), 0);
-		assertEquals("4", (float) 12345.6789, fDouble.floatValue(), 0);
-		assertEquals("5", (float) 12345.6789, fFloat.floatValue(), 0.001);
-		assertEquals("6", (float) 12345, fInt.floatValue(), 0);
-		assertEquals("7", (float) 123456789, fLong.floatValue(), 100);
-		assertEquals("8", (float) 12345, fShort.floatValue(), 0);
-	}
-	/**
-	 * Test JDI intValue().
-	 */
-	public void testJDIIntValue() {
-		assertEquals("1", 1, fBoolean.intValue());
-		assertEquals("2", 1, fByte.intValue());
-		assertEquals("3", 97, fChar.intValue());
-		assertEquals("4", 12345, fDouble.intValue());
-		assertEquals("5", 12345, fFloat.intValue());
-		assertEquals("6", 12345, fInt.intValue());
-		assertEquals("7", 123456789, fLong.intValue());
-		assertEquals("8", 12345, fShort.intValue());
-	}
-	/**
-	 * Test JDI longValue().
-	 */
-	public void testJDILongValue() {
-		assertEquals("1", 1l, fBoolean.longValue());
-		assertEquals("2", 1l, fByte.longValue());
-		assertEquals("3", 97l, fChar.longValue());
-		assertEquals("4", 12345l, fDouble.longValue());
-		assertEquals("5", 12345l, fFloat.longValue());
-		assertEquals("6", 12345l, fInt.longValue());
-		assertEquals("7", 123456789l, fLong.longValue());
-		assertEquals("8", 12345l, fShort.longValue());
-	}
-	/**
-	 * Test JDI shortValue().
-	 */
-	public void testJDIShortValue() {
-		assertEquals("1", 1, fBoolean.shortValue());
-		assertEquals("2", 1, fByte.shortValue());
-		assertEquals("3", 97, fChar.shortValue());
-		assertEquals("4", 12345, fDouble.shortValue());
-		assertEquals("5", 12345, fFloat.shortValue());
-		assertEquals("6", 12345, fInt.shortValue());
-		assertEquals("7", -13035, fLong.shortValue());
-		assertEquals("8", 12345, fShort.shortValue());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ReferenceTypeTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ReferenceTypeTest.java
deleted file mode 100644
index ef635f3..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ReferenceTypeTest.java
+++ /dev/null
@@ -1,365 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-
-import com.sun.jdi.Field;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-
-/**
- * Tests for JDI com.sun.jdi.ReferenceType
- * and JDWP Type command set.
- */
-public class ReferenceTypeTest extends AbstractJDITest {
-
-	private List fTypes = new LinkedList();
-
-	// These must match what is done in localSetUp
-	private boolean[] fSystemClassLoader = { true, true, false, false };
-	private boolean[] fHasMethods = { true, false, true, true };
-	private boolean[] fIsAbstract = { false, false, false, true };
-	private boolean[] fIsFinal = { false, true, false, false };
-	private boolean[] fIsStatic = { false, false, false, false };
-	private String[] fTypeName =
-		{
-			"java.lang.Object",
-			"java.lang.String[]",
-			"org.eclipse.debug.jdi.tests.program.MainClass",
-			"org.eclipse.debug.jdi.tests.program.Printable" };
-	private int fObjectIndex = 0;
-	private int fMainClassIndex = 2;
-
-	/**
-	 * Creates a new test.
-	 */
-	public ReferenceTypeTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get all kinds of reference type
-		fTypes.add(getSystemType());
-		fTypes.add(getArrayType());
-		fTypes.add(getMainClass());
-		fTypes.add(getInterfaceType());
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ReferenceTypeTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ReferenceType";
-	}
-	/**
-	 * Test JDI allFields().
-	 */
-	public void testJDIAllFields() {
-		Iterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			Iterator all = type.allFields().iterator();
-			int i = 0;
-			while (all.hasNext())
-				assertTrue("1." + type.name() + "." + i++, all.next() instanceof Field);
-		}
-	}
-	/**
-	 * Test JDI allMethods().
-	 */
-	public void testJDIAllMethods() {
-		Iterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			Iterator all = type.allMethods().iterator();
-			int i = 0;
-			while (all.hasNext())
-				assertTrue("1." + type.name() + "." + i++, all.next() instanceof Method);
-		}
-	}
-	/**
-	 * Test JDI classLoader() and JDWP 'Type - Get class loader'.
-	 */
-	public void testJDIClassLoader() {
-		for (int i = 0; i < fTypes.size(); ++i) {
-			ReferenceType type = (ReferenceType) fTypes.get(i);
-			ObjectReference classLoader = type.classLoader();
-			assertTrue("1." + i, (classLoader == null) == fSystemClassLoader[i]);
-		}
-	}
-	/**
-	 * Test JDI classObject().
-	 */
-	public void testJDIClassObject() {
-		ListIterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			assertTrue(type.name(), type.classObject() instanceof ObjectReference);
-		}
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		ReferenceType other =
-			(ReferenceType) fVM.classesByName("java.lang.String").get(0);
-		ListIterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			assertTrue("1." + type.name() + ".1", type.equals(type));
-			assertTrue("1." + type.name() + ".2", !type.equals(other));
-			assertTrue("1." + type.name() + ".3", !type.equals(fVM));
-			assertTrue("1." + type.name() + ".4", !type.equals(new Object()));
-			assertTrue("1." + type.name() + ".5", !type.equals(null));
-			assertTrue("1." + type.name() + ".6", type.hashCode() != other.hashCode());
-		}
-	}
-	/**
-	 * Test JDI failedToInitialize().
-	 */
-	public void testJDIFailedToInitialize() {
-		ListIterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			assertTrue("1." + type.name(), !type.failedToInitialize());
-		}
-	}
-	/**
-	 * Test JDI fieldByName(String).
-	 */
-	public void testJDIFieldByName() {
-		// NB: This tests the class type only, it should test the others too
-		ReferenceType type = (ReferenceType) fTypes.get(fMainClassIndex);
-		Field field = type.fieldByName("fObject");
-		assertTrue("1." + type.name(), field != null);
-	}
-	/**
-	 * Test JDI fields() and JDWP 'Type - Get Fields'.
-	 */
-	public void testJDIFields() {
-		Iterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			Iterator fields = type.fields().iterator();
-			int i = 0;
-			while (fields.hasNext())
-				assertTrue("1." + i++ +"." + type.name(), fields.next() instanceof Field);
-		}
-	}
-	/**
-	 * Test JDI getValue(Field) and JDWP 'Type - Get Fields Values'.
-	 */
-	public void testJDIGetValue() {
-		// NB: This tests the class type only, it should test the others too
-		ReferenceType type = (ReferenceType) fTypes.get(fMainClassIndex);
-		Field field = type.fieldByName("fInt");
-		assertTrue("1." + type.name(), field != null);
-		assertTrue("2." + type.name(), type.getValue(field) instanceof IntegerValue);
-	}
-	/**
-	 * Test JDI getValues(List) and JDWP 'Type - Get Fields Values'.
-	 */
-	public void testJDIGetValues() {
-		// NB: This tests the class type only, it should test the others too
-		ReferenceType type = (ReferenceType) fTypes.get(fMainClassIndex);
-
-		// Get field values
-		List fields = type.fields();
-		ListIterator iterator = fields.listIterator();
-		List staticFields = new LinkedList();
-		while (iterator.hasNext()) {
-			Field field = (Field) iterator.next();
-			if (field.isStatic())
-				staticFields.add(field);
-		}
-		Map values = type.getValues(staticFields);
-		assertEquals("1." + type.name(), 8, values.size());
-
-		// Get value of field fInt in MainClass
-		Field field = (Field) staticFields.get(0);
-		int i = 0;
-		while (!field.name().equals("fInt"))
-			field = (Field) staticFields.get(++i);
-
-		// Ensure it is an integer value
-		assertTrue("2." + type.name(), values.get(field) instanceof IntegerValue);
-	}
-	/**
-	 * Test JDI isAbstract().
-	 */
-	public void testJDIIsAbstract() {
-		ListIterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			if (type.name().equals("org.eclipse.debug.jdi.tests.program.Printable"))
-				assertTrue("1." + type.name(), type.isAbstract());
-			else
-				assertTrue("2." + type.name(), !type.isAbstract());
-		}
-	}
-	/**
-	 * Test JDI isFinal().
-	 */
-	public void testJDIIsFinal() {
-		for (int i = 0; i < fTypes.size(); ++i) {
-			ReferenceType type = (ReferenceType) fTypes.get(i);
-			assertTrue("1." + i, type.isFinal() == fIsFinal[i]);
-		}
-	}
-	/**
-	 * Test JDI isInitialized().
-	 */
-	public void testJDIIsInitialized() {
-		ListIterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			assertTrue("1." + type.name(), type.isInitialized());
-		}
-	}
-	/**
-	 * Test JDI isPrepared().
-	 */
-	public void testJDIIsPrepared() {
-		ListIterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			assertTrue("1." + type.name(), type.isPrepared());
-		}
-	}
-	/**
-	 * Test JDI isStatic().
-	 */
-	public void testJDIIsStatic() {
-		ListIterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			assertTrue("1." + type.name(), !type.isStatic());
-		}
-	}
-	/**
-	 * Test JDI isVerified().
-	 */
-	public void testJDIIsVerified() {
-		for (int i = 0; i < fTypes.size(); ++i) {
-			if (i != fObjectIndex) {
-				ReferenceType type = (ReferenceType) fTypes.get(i);
-				assertTrue("1." + type.name(), type.isVerified());
-			}
-		}
-	}
-	/**
-	 * Test JDI methods() and JDWP 'Type - Get Methods'.
-	 */
-	public void testJDIMethods() {
-		for (int i = 0; i < fTypes.size(); ++i) {
-			ReferenceType type = (ReferenceType) fTypes.get(i);
-			List methods = type.methods();
-			assertTrue("" + i, (methods.size() != 0) == fHasMethods[i]);
-		}
-	}
-	/**
-	 * Test JDI methodsByName(String) and methodsByName(String, String).
-	 */
-	public void testJDIMethodsByName() {
-		Iterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-
-			// methodsByName(String)
-			Iterator methods = type.methodsByName("run").iterator();
-			while (methods.hasNext())
-				assertTrue("1." + type.name(), methods.next() instanceof Method);
-			assertEquals("2", 0, type.methodsByName("fraz").size());
-
-			// methodsByName(String, String)
-			methods = type.methodsByName("run", "()V").iterator();
-			while (methods.hasNext())
-				assertTrue("3." + type.name(), methods.next() instanceof Method);
-			assertEquals("4", 0, type.methodsByName("fraz", "()Z").size());
-		}
-	}
-	/**
-	 * Test JDI isAbstract(), isFinal() and isStatic() 
-	 * and JDWP 'Type - Get modifiers'.
-	 */
-	public void testJDIModifiers() {
-		for (int i = 0; i < fTypes.size(); ++i) {
-			ReferenceType type = (ReferenceType) fTypes.get(i);
-			if (i != 2) {
-				// i == 2 corresponds to an ArrayType, isAbstract() is undefined
-				assertTrue("1." + i, type.isAbstract() == fIsAbstract[i]);
-			}
-			assertTrue("2." + i, type.isFinal() == fIsFinal[i]);
-			assertTrue("3." + i, type.isStatic() == fIsStatic[i]);
-		}
-	}
-	/**
-	 * Test JDI name() and JDWP 'Type - Get signature'.
-	 */
-	public void testJDIName() {
-		for (int i = 0; i < fTypes.size(); ++i) {
-			ReferenceType type = (ReferenceType) fTypes.get(i);
-			assertEquals("" + i, type.name(), fTypeName[i]);
-		}
-	}
-	/**
-	 * Test JDI nestedTypes().
-	 */
-	public void testJDINestedTypes() {
-		// NB: This tests the class type only, it should test the others too
-		ReferenceType type = getClass("org.eclipse.debug.jdi.tests.program.OtherClass");
-		assertTrue("1." + type.name(), type != null);
-		List nestedTypes = type.nestedTypes();
-		assertEquals("2." + type.name(), 1, nestedTypes.size());
-		assertTrue("3." + type.name(), nestedTypes.get(0) instanceof ReferenceType);
-	}
-	/**
-	 * Test JDI visibleFields().
-	 */
-	public void testJDIVisibleFields() {
-		Iterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			List all = type.allFields();
-			Iterator visible = type.visibleFields().iterator();
-			while (visible.hasNext()) {
-				Field next = (Field) visible.next();
-				assertTrue("1." + type.name() + "." + next.name(), all.contains(next));
-			}
-		}
-	}
-	/**
-	 * Test JDI visibleMethods().
-	 */
-	public void testJDIVisibleMethods() {
-		Iterator iterator = fTypes.listIterator();
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			List all = type.allMethods();
-			Iterator visible = type.visibleMethods().iterator();
-			while (visible.hasNext()) {
-				Method next = (Method) visible.next();
-				assertTrue("1." + type.name() + "." + next.name(), all.contains(next));
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ShortValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ShortValueTest.java
deleted file mode 100644
index 2184e66..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ShortValueTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ShortValue;
-
-/**
- * Tests for JDI com.sun.jdi.ShortValue.
- */
-public class ShortValueTest extends AbstractJDITest {
-
-	private ShortValue fValue;
-	/**
-	 * Creates a new test.
-	 */
-	public ShortValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get short value for 12345
-		fValue = fVM.mirrorOf((short) 12345);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ShortValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ShortValue";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		assertTrue("1", fValue.equals(fVM.mirrorOf((short) 12345)));
-		assertTrue("2", !fValue.equals(fVM.mirrorOf((short) 54321)));
-		assertTrue("3", !fValue.equals(new Object()));
-		assertTrue("4", !fValue.equals(null));
-		assertEquals(
-			"5",
-			fValue.hashCode(),
-			fVM.mirrorOf((short) 12345).hashCode());
-		assertTrue(
-			"6",
-			fValue.hashCode() != fVM.mirrorOf((short) 54321).hashCode());
-	}
-	/**
-	 * Test JDI value().
-	 */
-	public void testJDIValue() {
-		assertTrue("1", (short) 12345 == fValue.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StackFrameTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StackFrameTest.java
deleted file mode 100644
index 8338a6f..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StackFrameTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import com.sun.jdi.AbsentInformationException;
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.LocalVariable;
-import com.sun.jdi.Location;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.StackFrame;
-import com.sun.jdi.ThreadReference;
-
-/**
- * Tests for JDI com.sun.jdi.StackFrame.
- */
-public class StackFrameTest extends AbstractJDITest {
-
-	private StackFrame fFrame;
-	/**
-	 * Creates a new test.
-	 */
-	public StackFrameTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get the frame running MainClass.run()
-		fFrame = getFrame(RUN_FRAME_OFFSET);
-
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new StackFrameTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.StackFrame";
-	}
-	/**
-	 * Test JDI equals() and hashCode().
-	 */
-	public void testJDIEquality() {
-		StackFrame sameFrame = getFrame(RUN_FRAME_OFFSET);
-		StackFrame otherFrame = getFrame(0);
-
-		// Not identical
-		assertTrue("1", fFrame != sameFrame);
-		// But equal
-		assertTrue("2", fFrame.equals(sameFrame));
-		assertTrue("3", fFrame.hashCode() == sameFrame.hashCode());
-
-		assertTrue("4", fFrame.equals(fFrame));
-		assertTrue("5", fFrame.hashCode() == fFrame.hashCode());
-
-		assertTrue("6", !fFrame.equals(otherFrame));
-
-		assertTrue("7", !fFrame.equals(new Object()));
-		assertTrue("8", !fFrame.equals(null));
-	}
-	/**
-	 * Test JDI location().
-	 */
-	public void testJDILocation() {
-		assertTrue("1", fFrame.location() instanceof Location);
-	}
-	/**
-	 * Test JDI setValue(LocalVariable, Value), getValue(LocalVariable) and
-	 * getValues(List).
-	 */
-	public void testJDISetGetValue() {
-		// setValue
-		ThreadReference thread = (ThreadReference) fVM.allThreads().get(0);
-		LocalVariable var = getLocalVariable();
-		try {
-			fFrame.setValue(var, thread);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("1.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("1.2", false);
-		}
-
-		// getValue(LocalVariable)
-		ThreadReference value =
-			(ThreadReference) fFrame.getValue(getLocalVariable());
-		assertEquals("2", thread, value);
-
-		// getValues(List)
-		List vars = new LinkedList();
-		vars.add(var);
-		Map values = fFrame.getValues(vars);
-		value = (ThreadReference) values.get(var);
-		assertEquals("3", thread, value);
-
-		// test null value
-		var = getLocalVariable();
-		try {
-			fFrame.setValue(var, null);
-		} catch (ClassNotLoadedException e) {
-			assertTrue("4.1", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("4.2", false);
-		}
-
-		value = (ThreadReference) fFrame.getValue(getLocalVariable());
-		assertEquals("5", null, value);
-
-	}
-	/**
-	 * Test JDI thisObject().
-	 */
-	public void testJDIThisObject() {
-		ObjectReference object = fFrame.thisObject();
-		ReferenceType expected = getMainClass();
-		ReferenceType referenceType = object.referenceType();
-		assertEquals("1", expected, referenceType);
-	}
-	/**
-	 * Test JDI thread().
-	 */
-	public void testJDIThread() {
-		assertEquals("1", getThread(), fFrame.thread());
-	}
-	/**
-	 * Test JDI visibleVariableByName(String).
-	 */
-	public void testJDIVisibleVariableByName() {
-		LocalVariable var = null;
-		try {
-			var = fFrame.visibleVariableByName("t");
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", getLocalVariable(), var);
-		try {
-			var = fFrame.visibleVariableByName("bogus");
-		} catch (AbsentInformationException e) {
-			assertTrue("3", false);
-		}
-		assertTrue("4", null == var);
-	}
-	/**
-	 * Test JDI visibleVariables().
-	 */
-	public void testJDIVisibleVariables() {
-		List vars = null;
-		try {
-			vars = fFrame.visibleVariables();
-		} catch (AbsentInformationException e) {
-			assertTrue("1", false);
-		}
-		assertEquals("2", 2, vars.size());
-
-		LocalVariable var;
-		int i = 0;
-		do {
-			var = (LocalVariable) vars.get(i++);
-		} while (!var.name().equals("t"));
-		assertEquals("3", getLocalVariable(), var);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StepEventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StepEventTest.java
deleted file mode 100644
index 78ea55a..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StepEventTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ClassType;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.event.StepEvent;
-import com.sun.jdi.request.EventRequest;
-import com.sun.jdi.request.StepRequest;
-
-/**
- * Tests for JDI com.sun.jdi.event.StepEvent.
- */
-public class StepEventTest extends AbstractJDITest {
-
-	private StepEvent fStepEvent;
-	/**
-	 * Creates a new test.
-	 */
-	public StepEventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Trigger a step event
-		fStepEvent = triggerStepAndWait();
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// The test has resumed the test thread, so suspend it
-		waitUntilReady();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new StepEventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.StepEvent";
-	}
-	/**
-	 * Test JDI thread().
-	 */
-	public void testJDIThread() {
-		assertEquals("1", "Test Thread", fStepEvent.thread().name());
-	}
-	/**
-	 * Test all possible steps.
-	 */
-	public void testJDIVariousSteps() {
-		ThreadReference thread = getThread();
-		triggerStepAndWait(thread, StepRequest.STEP_MIN, StepRequest.STEP_INTO);
-		waitUntilReady();
-		triggerStepAndWait(thread, StepRequest.STEP_MIN, StepRequest.STEP_OVER);
-		waitUntilReady();
-		triggerStepAndWait(thread, StepRequest.STEP_LINE, StepRequest.STEP_INTO);
-		waitUntilReady();
-		triggerStepAndWait(thread, StepRequest.STEP_LINE, StepRequest.STEP_OVER);
-		waitUntilReady();
-		triggerStepAndWait(thread, StepRequest.STEP_LINE, StepRequest.STEP_OUT);
-		waitUntilReady();
-	}
-
-	public void testJDIClassFilter1() {
-		// Request for step events
-		StepRequest request = getRequest();
-		request.addClassFilter("java.lang.NegativeArraySizeException");
-		request.enable();
-		StepEvent event = null;
-		try {
-			event = triggerStepAndWait(getThread(), request, 1000);
-		} catch (Error e) {
-		}
-		if (event != null) {
-			assertTrue("1", false);
-		}
-		waitUntilReady();
-		fVM.eventRequestManager().deleteEventRequest(request);
-
-		request = getRequest();
-		request.addClassFilter("java.lang.*");
-		request.enable();
-		event = null;
-		try {
-			event = triggerStepAndWait(getThread(), request, 1000);
-		} catch (Error e) {
-		}
-		if (event != null) {
-			assertTrue("1", false);
-		}
-		waitUntilReady();
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIClassFilter2() {
-		// Request for step events
-		StepRequest request = getRequest();
-		ClassType clazz = getClass("java.lang.NegativeArraySizeException");
-		request.addClassFilter(clazz);
-		request.enable();
-		StepEvent event = null;
-		try {
-			event = triggerStepAndWait(getThread(), request, 1000);
-		} catch (Error e) {
-		}
-		if (event != null) {
-			assertTrue("1", false);
-		}
-		waitUntilReady();
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIClassExclusionFilter1() {
-		// Request for step events
-		StepRequest request = getRequest();
-		request.addClassExclusionFilter(
-			"org.eclipse.debug.jdi.tests.program.MainClass");
-		request.enable();
-		StepEvent event = null;
-		try {
-			event = triggerStepAndWait(getThread(), request, 1000);
-		} catch (Error e) {
-		}
-		if (event != null) {
-			assertTrue("1", false);
-		}
-		waitUntilReady();
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public void testJDIClassExclusionFilter2() {
-		StepRequest request = getRequest();
-		request.addClassExclusionFilter("org.eclipse.*");
-		request.addClassExclusionFilter("java.lang.*");
-		request.enable();
-		StepEvent event = null;
-		try {
-			event = triggerStepAndWait(getThread(), request, 1000);
-		} catch (Error e) {
-		}
-		if (event != null) {
-			System.out.println(event.location().declaringType());
-			assertTrue("1", false);
-		}
-		waitUntilReady();
-		fVM.eventRequestManager().deleteEventRequest(request);
-	}
-
-	public StepRequest getRequest() {
-		StepRequest eventRequest =
-			fVM.eventRequestManager().createStepRequest(
-				getThread(),
-				StepRequest.STEP_LINE,
-				StepRequest.STEP_OVER);
-		eventRequest.addCountFilter(1);
-		eventRequest.setSuspendPolicy(EventRequest.SUSPEND_NONE);
-		return eventRequest;
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StringReferenceTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StringReferenceTest.java
deleted file mode 100644
index e245a22..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/StringReferenceTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.StringReference;
-
-/**
- * Tests for JDI com.sun.jdi.StringReference
- * and JDWP String command set.
- */
-public class StringReferenceTest extends AbstractJDITest {
-
-	private StringReference fString;
-	/**
-	 * Creates a new test.
-	 */
-	public StringReferenceTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get static field "fString"
-		fString = getStringReference();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new StringReferenceTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.StringReference";
-	}
-	/**
-	 * Test JDI value() and JDWP 'String - Get value'.
-	 */
-	public void testJDIValue() {
-		String value = fString.value();
-		assertEquals("1", "Hello World", value);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TestAll.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TestAll.java
deleted file mode 100644
index a00ed7f..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TestAll.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Enumeration;
-import java.util.Vector;
-
-/**
- * Run all tests
- */
-public class TestAll {
-/**
- * Returns all the test case classes (a Vector of Class) that are
- * relevant for the given VM information.
- * NB1: This doesn't include the VirtualMachineTest class.
- * NB2: The last element must be the VMDeathEventTest class since 
- *      it shuts the VM down.
- */
-protected static Vector getAllTestCases(VMInformation info) {
-	Vector classes = new Vector();
-	classes.addElement(AccessibleTest.class);
-	classes.addElement(ArrayReferenceTest.class);
-	classes.addElement(ArrayTypeTest.class);
-	classes.addElement(BooleanValueTest.class);
-	classes.addElement(BreakpointRequestTest.class);
-	classes.addElement(ByteValueTest.class);
-	classes.addElement(CharValueTest.class);
-	classes.addElement(ClassLoaderReferenceTest.class);
-	classes.addElement(ClassPrepareEventTest.class);
-	classes.addElement(ClassPrepareRequestTest.class);
-	classes.addElement(ClassTypeTest.class);
-	classes.addElement(DoubleValueTest.class);
-	classes.addElement(EventRequestManagerTest.class);
-	classes.addElement(EventRequestTest.class);
-	classes.addElement(EventTest.class);
-	classes.addElement(ExceptionEventTest.class);
-	classes.addElement(ExceptionRequestTest.class);
-	classes.addElement(FieldTest.class);
-	classes.addElement(FloatValueTest.class);
-	classes.addElement(HotCodeReplacementTest.class);
-	classes.addElement(IntegerValueTest.class);
-	classes.addElement(InterfaceTypeTest.class);
-	classes.addElement(LocalVariableTest.class);
-	classes.addElement(LocatableTest.class);
-	classes.addElement(LocationTest.class);
-	classes.addElement(LongValueTest.class);
-	classes.addElement(MethodTest.class);
-	classes.addElement(MethodEntryRequestTest.class);
-	classes.addElement(MethodExitRequestTest.class);
-	classes.addElement(MirrorTest.class);
-
-	if (info.fVM.canWatchFieldModification())
-		classes.addElement(ModificationWatchpointEventTest.class);
-		
-	classes.addElement(ObjectReferenceTest.class);
-	classes.addElement(PrimitiveValueTest.class);
-	classes.addElement(ReferenceTypeTest.class);
-	classes.addElement(ShortValueTest.class);
-	classes.addElement(StackFrameTest.class);
-	classes.addElement(StepEventTest.class);
-	classes.addElement(StringReferenceTest.class);
-	classes.addElement(ThreadDeathEventTest.class);
-	classes.addElement(ThreadGroupReferenceTest.class);
-	classes.addElement(ThreadReferenceTest.class);
-	classes.addElement(ThreadStartEventTest.class);
-	classes.addElement(TypeComponentTest.class);
-	classes.addElement(TypeTest.class);
-	classes.addElement(ValueTest.class);
-
-	if (info.fVM.canWatchFieldAccess() && info.fVM.canWatchFieldModification()) {
-		classes.addElement(WatchpointEventTest.class);
-		classes.addElement(WatchpointRequestTest.class);
-	}
-
-	classes.addElement(VirtualMachineExitTest.class);
-	classes.addElement(VMDisconnectEventTest.class);
-	classes.addElement(VMDisposeTest.class);	// note that this test does not restore the state properly.
-	return classes;
-}
-/**
- * Run all tests with the given arguments.
- * @see AbstractJDITest.parseArgs(String[]) for details on the arguments.
- */
-public static void main(String[] arguments) throws Throwable {
-	// Create test result
-	TextTestResult result= new TextTestResult();
-
-	// Run the VirtualMachineTest
-	AbstractJDITest test= run(result, VirtualMachineTest.class, arguments, null);
-
-	// Was it possible to run the first test?
-	if (test == null)
-		return;
-	
-	// Get the VM info
-	VMInformation info = test.getVMInfo();
-
-	// Get all test cases
-	Vector classes= getAllTestCases(info);
-
-	// Run the other tests
-	Enumeration enum= classes.elements();
-	while (enum.hasMoreElements()) {
-		Class testClass= (Class)enum.nextElement();
-		test= run(result, testClass, arguments, info);
-		info= test.getVMInfo(); // In case the test has changed this info
-	}
-
-	// Shut down the VM 
-	test.shutDownTarget();
-
-	// Show the result
-	result.print();
-}
-/**
- * Runs the given test with the given arguments.
- * Returns the instance that was created.
- * Returns null if there was a problem with the arguments.
- * @see AbstractJDITest(String[]) for details on the arguments.
- */
-private static AbstractJDITest run(junit.framework.TestResult result, Class testClass, String[] arguments, VMInformation info) throws Throwable {
-	// Create test
-	Class[] argTypes= {};
-	Constructor construct = null;
-	try {
-		construct = testClass.getConstructor(argTypes);
-	} catch (NoSuchMethodException e) {
-	}
-	AbstractJDITest test = null;
-	try {
-		test = (AbstractJDITest) construct.newInstance(new Object[]{});
-	} catch (InstantiationException e) {
-	} catch (IllegalAccessException e) {
-	} catch (InvocationTargetException e) {
-		throw e.getTargetException();
-	}
-	if (!test.parseArgs(arguments))
-		return null;
-	test.setVMInfo(info);
-	test.setInControl(false);
-
-	// Run test
-	System.out.println("\n" + new java.util.Date());
-	System.out.println("Begin testing " + test.getName() + "...");
-	long startTime= System.currentTimeMillis();
-	test.suite().run(result);
-	long endTime= System.currentTimeMillis();
-	long runTime= endTime-startTime;
-	System.out.println("\nTime: "+runTime/1000+"."+runTime%1000);
-	System.out.println("Done testing " + test.getName() + ".");
-	
-	return test;
-}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TextTestResult.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TextTestResult.java
deleted file mode 100644
index efa2dbb..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TextTestResult.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.Enumeration;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.Test;
-import junit.framework.TestFailure;
-import junit.framework.TestResult;
-
-class TextTestResult extends TestResult {
-
-	public synchronized void addError(Test test, Throwable t) {
-		super.addError(test, t);
-		System.out.println("E");
-	}
-	public synchronized void addFailure(Test test, AssertionFailedError t) {
-		super.addFailure(test, t);
-		System.out.print("F");
-	}
-	/**
-	 * Prints failures to the standard output
-	 */
-	public synchronized void print() {
-		printHeader();
-		printErrors();
-		printFailures();
-	}
-	/**
-	 * Prints the errors to the standard output
-	 */
-	public void printErrors() {
-		if (errorCount() != 0) {
-			if (errorCount() == 1)
-				System.out.println("There was " + errorCount() + " error:");
-			else
-				System.out.println("There were " + errorCount() + " errors:");
-
-			int i = 1;
-			for (Enumeration e = errors(); e.hasMoreElements(); i++) {
-				TestFailure failure = (TestFailure) e.nextElement();
-				System.out.println(i + ") " + failure.failedTest());
-				failure.thrownException().printStackTrace();
-				System.out.println();
-			}
-		}
-	}
-	/**
-	 * Prints failures to the standard output
-	 */
-	public void printFailures() {
-		if (failureCount() != 0) {
-			if (failureCount() == 1)
-				System.out.println("There was " + failureCount() + " failure:");
-			else
-				System.out.println(
-					"There were " + failureCount() + " failures:");
-
-			int i = 1;
-			for (Enumeration e = failures(); e.hasMoreElements(); i++) {
-				TestFailure failure = (TestFailure) e.nextElement();
-				System.out.print(i + ") " + failure.failedTest());
-				Throwable t = failure.thrownException();
-				if (t.getMessage() != null)
-					System.out.println(" \"" + t.getMessage() + "\"");
-				else {
-					System.out.println();
-					failure.thrownException().printStackTrace();
-				}
-			}
-		}
-	}
-	/**
-	 * Prints the header of the report
-	 */
-	public void printHeader() {
-		if (wasSuccessful()) {
-			System.out.println();
-			System.out.print("OK");
-			System.out.println(" (" + runCount() + " tests)");
-
-		} else {
-			System.out.println();
-			System.out.println("!!!FAILURES!!!");
-			System.out.println("Test Results:");
-			System.out.println(
-				"Run: "
-					+ runCount()
-					+ " Failures: "
-					+ failureCount()
-					+ " Errors: "
-					+ errorCount());
-		}
-	}
-	public synchronized void startTest(Test test) {
-		super.startTest(test);
-		System.out.print(".");
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadDeathEventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadDeathEventTest.java
deleted file mode 100644
index 6bb1e07..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadDeathEventTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ObjectCollectedException;
-import com.sun.jdi.event.ThreadDeathEvent;
-
-/**
- * Tests for JDI com.sun.jdi.event.ThreadDeathEvent.
- */
-public class ThreadDeathEventTest extends AbstractJDITest {
-
-	private ThreadDeathEvent fEvent;
-	/**
-	 * Creates a new test.
-	 */
-	public ThreadDeathEventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Make sure the entire VM is not suspended before we start a new thread
-		// (otherwise this new thread will start suspended and we will never get the
-		// ThreadDeath event)
-		fVM.resume();
-
-		// Trigger a thread end event
-		fEvent =
-			(ThreadDeathEvent) triggerAndWait(fVM
-				.eventRequestManager()
-				.createThreadDeathRequest(),
-				"ThreadDeathEvent",
-				true);
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// The test has resumed the test thread, so suspend it
-		waitUntilReady();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ThreadDeathEventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.ThreadDeathEvent";
-	}
-	/**
-	 * Test JDI thread().
-	 */
-	public void testJDIThread() {
-		try {
-			assertEquals(
-				"1",
-				"Test Thread Death Event",
-				fEvent.thread().name());
-		} catch (ObjectCollectedException e) {
-			// Workaround known problem in Sun's VM
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadGroupReferenceTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadGroupReferenceTest.java
deleted file mode 100644
index 6e4d042..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadGroupReferenceTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.List;
-import java.util.ListIterator;
-
-import com.sun.jdi.ThreadGroupReference;
-import com.sun.jdi.ThreadReference;
-
-/**
- * Tests for JDI com.sun.jdi.ThreadGroupReference
- * and JDWP ThreadGroup command set.
- */
-public class ThreadGroupReferenceTest extends AbstractJDITest {
-
-	private ThreadGroupReference fThreadGroup;
-	/**
-	 * Creates a new test.
-	 */
-	public ThreadGroupReferenceTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get value of "fThread"
-		ThreadReference thread = getThread();
-
-		// Get its threadgroup
-		fThreadGroup = thread.threadGroup();
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// The test has resumed the thread group, and so the test thread, so suspend it
-		waitUntilReady();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ThreadGroupReferenceTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ThreadGroupReference";
-	}
-	/**
-	 * Test JDI name() and JDWP 'ThreadGroup - Get name'.
-	 */
-	public void testJDIName() {
-		assertEquals("1", "Test ThreadGroup", fThreadGroup.name());
-	}
-	/**
-	 * Test JDI parent() and JDWP 'ThreadGroup - Get parent'.
-	 */
-	public void testJDIParent() {
-		assertTrue("1", fThreadGroup.parent() instanceof ThreadGroupReference);
-		ThreadGroupReference systemThreadGroup = fThreadGroup.parent();
-		assertEquals("2", "main", systemThreadGroup.name());
-		// assertTrue("3", systemThreadGroup.parent() == null);
-	}
-	/**
-	 * Test JDI suspend() and resume().
-	 */
-	public void testJDISuspendResume() {
-		fThreadGroup.suspend();
-		fThreadGroup.resume();
-	}
-	/**
-	 * Test JDI threadGroups().
-	 */
-	public void testJDIThreadGroups() {
-		List threadGroups = fThreadGroup.threadGroups();
-		assertEquals("1", 0, threadGroups.size());
-	}
-	/**
-	 * Test JDI threads() and JDWP 'ThreadGroup - Get children'.
-	 */
-	public void testJDIThreads() {
-		List threads = fThreadGroup.threads();
-		ListIterator iterator = threads.listIterator();
-		boolean isIncluded = false;
-		while (iterator.hasNext()) {
-			ThreadReference thread = (ThreadReference) iterator.next();
-			if (thread.name().equals("Test Thread")) {
-				isIncluded = true;
-				break;
-			}
-		}
-		assertTrue("1", isIncluded);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadReferenceTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadReferenceTest.java
deleted file mode 100644
index f25704e..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadReferenceTest.java
+++ /dev/null
@@ -1,225 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.List;
-
-import com.sun.jdi.ClassNotLoadedException;
-import com.sun.jdi.ClassType;
-import com.sun.jdi.IncompatibleThreadStateException;
-import com.sun.jdi.InvalidTypeException;
-import com.sun.jdi.InvocationException;
-import com.sun.jdi.Method;
-import com.sun.jdi.ObjectReference;
-import com.sun.jdi.StackFrame;
-import com.sun.jdi.ThreadGroupReference;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.event.ThreadStartEvent;
-
-/**
- * Tests for JDI com.sun.jdi.ThreadReference
- * and JDWP Thread command set.
- */
-public class ThreadReferenceTest extends AbstractJDITest {
-
-	private ThreadReference fThread;
-	/**
-	 * Creates a new test .
-	 */
-	public ThreadReferenceTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get thread
-		fThread = getThread();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ThreadReferenceTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.ThreadReference";
-	}
-	/**
-	 * Test JDI currentContendedMonitor().
-	 */
-	public void testJDICurrentContendedMonitor() {
-		if (fVM.canGetCurrentContendedMonitor()) {
-			try {
-				assertTrue("1", fThread.currentContendedMonitor() == null);
-			} catch (IncompatibleThreadStateException e) {
-				assertTrue("2", false);
-			}
-		}
-	}
-	/**
-	 * Test JDI frame(int).
-	 */
-	public void testJDIFrame() {
-		try {
-			StackFrame frame = fThread.frame(0);
-			assertTrue("1", fThread.frames().contains(frame));
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("2", false);
-		}
-	}
-	/**
-	 * Test JDI frameCount.
-	 */
-	public void testJDIFrameCount() {
-		try {
-			int count = fThread.frameCount();
-			assertTrue("1", count <= 4);
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("2", false);
-		}
-	}
-	/**
-	 * Test JDI frames() and JDWP 'Thread - Get frames'.
-	 */
-	public void testJDIFrames() {
-		List frames = null;
-		try {
-			frames = fThread.frames();
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("1", false);
-		}
-		assertTrue("2", frames.size() > 0);
-	}
-	/**
-	 * Test JDI interrupt()().
-	 */
-	public void testJDIInterrupt() {
-		assertEquals("1", 1, fThread.suspendCount());
-		fThread.interrupt();
-		assertEquals("2", 1, fThread.suspendCount());
-	}
-	/**
-	 * Test JDI isAtBreakpoint().
-	 */
-	public void testJDIIsAtBreakpoint() {
-		assertTrue("1", !fThread.isAtBreakpoint());
-	}
-	/**
-	 * Test JDI isSuspended().
-	 */
-	public void testJDIIsSuspended() {
-		assertTrue("1", fThread.isSuspended());
-	}
-	/**
-	 * Test JDI name() and JDWP 'Thread - Get name'.
-	 */
-	public void testJDIName() {
-		assertEquals("1", "Test Thread", fThread.name());
-	}
-	/**
-	 * Test JDI ownedMonitors().
-	 */
-	public void testJDIOwnedMonitors() {
-		if (fVM.canGetOwnedMonitorInfo()) {
-			waitUntilReady();
-			try {
-				assertEquals("1", 1, fThread.ownedMonitors().size());
-			} catch (IncompatibleThreadStateException e) {
-				assertTrue("2", false);
-			}
-		}
-	}
-	/**
-	 * Test JDI status() and JDWP 'Thread - Get status'.
-	 */
-	public void testJDIStatus() {
-		int status = fThread.status();
-		assertTrue(
-			"1",
-			((status == ThreadReference.THREAD_STATUS_RUNNING)
-				|| (status == ThreadReference.THREAD_STATUS_SLEEPING)
-				|| (status == ThreadReference.THREAD_STATUS_WAIT)));
-	}
-	/**
-	 * Test JDI stop(ObjectReference).
-	 */
-	public void testJDIStop() {
-		// Make sure the entire VM is not suspended before we start a new thread
-		// (otherwise this new thread will start suspended and we will never get the
-		// ThreadStart event)
-		fVM.resume();
-
-		// Trigger a thread start event to get a new thread
-		ThreadStartEvent event =
-			(ThreadStartEvent) triggerAndWait(fVM
-				.eventRequestManager()
-				.createThreadStartRequest(),
-				"ThreadStartEvent",
-				false);
-		ThreadReference thread = event.thread();
-
-		// Create a java.lang.ThreadDeath instance in 
-		java.util.List classes = fVM.classesByName("java.lang.ThreadDeath");
-		assertTrue("1", classes.size() != 0);
-		ClassType threadDeathClass = (ClassType) classes.get(0);
-		Method constructor =
-			threadDeathClass.concreteMethodByName("<init>", "()V");
-		ObjectReference threadDeath = null;
-		try {
-			threadDeath =
-				threadDeathClass.newInstance(
-					thread,
-					constructor,
-					new java.util.LinkedList(),
-					ClassType.INVOKE_SINGLE_THREADED);
-			threadDeath.disableCollection();
-			// This object is going to be used for the lifetime of the VM.
-		} catch (ClassNotLoadedException e) {
-			assertTrue("2", false);
-		} catch (InvalidTypeException e) {
-			assertTrue("3", false);
-		} catch (InvocationException e) {
-			assertTrue("4", false);
-		} catch (IncompatibleThreadStateException e) {
-			assertTrue("5", false);
-		}
-
-		// Stop the thread
-		try {
-			thread.stop(threadDeath);
-		} catch (InvalidTypeException e) {
-			assertTrue("6", false);
-		}
-
-		waitUntilReady();
-
-	}
-	/**
-	 * Test JDI suspend() and resume() 
-	 * and JDWP 'Thread - Suspend' and 'Thread - Resume'.
-	 */
-	public void testJDISuspendResume() {
-		assertEquals("1", 1, fThread.suspendCount());
-		fThread.resume();
-		assertTrue("2", !fThread.isSuspended());
-		fThread.suspend();
-		assertTrue("3", fThread.isSuspended());
-
-		waitUntilReady();
-	}
-	/**
-	 * Test JDI threadGroup() and JDWP 'Thread - Get threadGroup'.
-	 */
-	public void testJDIThreadGroup() {
-		assertTrue("1", fThread.threadGroup() instanceof ThreadGroupReference);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadStartEventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadStartEventTest.java
deleted file mode 100644
index c8cd575..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ThreadStartEventTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.event.ThreadStartEvent;
-
-/**
- * Tests for JDI com.sun.jdi.event.ThreadStartEvent.
- */
-public class ThreadStartEventTest extends AbstractJDITest {
-
-	private ThreadStartEvent fEvent;
-	/**
-	 * Creates a new test.
-	 */
-	public ThreadStartEventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Make sure the entire VM is not suspended before we start a new thread
-		// (otherwise this new thread will start suspended and we will never get the
-		// ThreadStart event)
-		fVM.resume();
-
-		// Trigger a thread start event
-		fEvent =
-			(ThreadStartEvent) triggerAndWait(fVM
-				.eventRequestManager()
-				.createThreadStartRequest(),
-				"ThreadStartEvent",
-				true);
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// The test has resumed the test thread, so suspend it
-		waitUntilReady();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ThreadStartEventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.ThreadStartEvent";
-	}
-	/**
-	 * Test JDI thread().
-	 */
-	public void testJDIThread() {
-		assertEquals("1", "Test Thread Start Event", fEvent.thread().name());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TypeComponentTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TypeComponentTest.java
deleted file mode 100644
index 992a18f..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TypeComponentTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.TypeComponent;
-
-/**
- * Tests for JDI com.sun.jdi.TypeComponent.
- */
-public class TypeComponentTest extends AbstractJDITest {
-
-	private TypeComponent fField, fMethod;
-	/**
-	 * Creates a new test.
-	 */
-	public TypeComponentTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get field fObject in org.eclipse.debug.jdi.tests.program.MainClass
-		fField = getField();
-
-		// Get method print(OutputStream)
-		fMethod = getMethod();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new TypeComponentTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.TypeComponent";
-	}
-	/**
-	 * Test JDI declaringType().
-	 */
-	public void testJDIDeclaringType() {
-		ReferenceType mainClass = getMainClass();
-
-		ReferenceType declaringType = fField.declaringType();
-		assertEquals("1", mainClass, declaringType);
-
-		declaringType = fMethod.declaringType();
-		assertEquals("2", mainClass, declaringType);
-	}
-	/**
-	 * Test JDI isFinal().
-	 */
-	public void testJDIIsFinal() {
-		assertTrue("1", !fField.isFinal());
-		assertTrue("2", !fMethod.isFinal());
-	}
-	/**
-	 * Test JDI isStatic().
-	 */
-	public void testJDIIsStatic() {
-		assertTrue("1", fField.isStatic());
-		assertTrue("2", !fMethod.isStatic());
-	}
-	/**
-	 * Test JDI isSynthetic().
-	 */
-	public void testJDIIsSynthetic() {
-		if (!fVM.canGetSyntheticAttribute()) {
-			return;
-		}
-
-		assertTrue("1", !fField.isSynthetic());
-		assertTrue("2", !fMethod.isSynthetic());
-	}
-	/**
-	 * Test JDI name().
-	 */
-	public void testJDIName() {
-		assertEquals("1", "fObject", fField.name());
-		assertEquals("2", "print", fMethod.name());
-	}
-	/**
-	 * Test JDI signature().
-	 */
-	public void testJDISignature() {
-		assertEquals(
-			"1",
-			"Lorg/eclipse/debug/jdi/tests/program/MainClass;",
-			fField.signature());
-		assertEquals("2", "(Ljava/io/OutputStream;)V", fMethod.signature());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TypeTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TypeTest.java
deleted file mode 100644
index 8519009..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/TypeTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.BooleanType;
-import com.sun.jdi.ByteType;
-import com.sun.jdi.CharType;
-import com.sun.jdi.DoubleType;
-import com.sun.jdi.FloatType;
-import com.sun.jdi.IntegerType;
-import com.sun.jdi.LongType;
-import com.sun.jdi.ShortType;
-import com.sun.jdi.Type;
-
-/**
- * Tests for JDI com.sun.jdi.Type.
- */
-public class TypeTest extends AbstractJDITest {
-	private Type 		
-		fArrayType,
-		fClassType,
-		fInterfaceType,
-		// primitive types
-		fShortType,
-		fByteType,
-		fIntegerType,
-		fLongType,
-		fFloatType,
-		fDoubleType,
-		fCharType,
-		fBooleanType,
-		// One-dimensional primitive arrays
-		fByteArrayType,
-		fShortArrayType,
-		fIntArrayType,
-		fLongArrayType,
-		fFloatArrayType,
-		fDoubleArrayType,
-		fCharArrayType,
-		fBooleanArrayType,
-		// Two-dimensional primitive arrays
-		fByteDoubleArrayType,
-		fShortDoubleArrayType,
-		fIntDoubleArrayType,
-		fLongDoubleArrayType,
-		fFloatDoubleArrayType,
-		fDoubleDoubleArrayType,
-		fCharDoubleArrayType,
-		fBooleanDoubleArrayType;
-		
-	/**
-	 * Creates a new test.
-	 */
-	public TypeTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get reference types
-		fArrayType = getArrayType();
-		fClassType = getMainClass();
-		fInterfaceType = getInterfaceType();
-		// Get primitive types
-		fBooleanType = (BooleanType) (fVM.mirrorOf(true).type());
-		fByteType = (ByteType) (fVM.mirrorOf((byte) 1).type());
-		fCharType = (CharType) (fVM.mirrorOf('a').type());
-		fDoubleType = (DoubleType) (fVM.mirrorOf(12345.6789).type());
-		fFloatType = (FloatType) (fVM.mirrorOf(12345.6789f).type());
-		fIntegerType = (IntegerType) (fVM.mirrorOf(12345).type());
-		fLongType = (LongType) (fVM.mirrorOf(123456789l).type());
-		fShortType = (ShortType) (fVM.mirrorOf((short) 12345).type());
-		// Get one-dimensional primitive arrays
-		fByteArrayType = getByteArrayType();
-		fShortArrayType = getShortArrayType();
-		fIntArrayType = getIntArrayType();
-		fLongArrayType = getLongArrayType();
-		fFloatArrayType = getFloatArrayType();
-		fDoubleArrayType = getDoubleArrayType();
-		fCharArrayType = getCharArrayType();
-		fBooleanArrayType = getBooleanArrayType();
-		//  Get two-dimensional primitive arrays
-		fByteDoubleArrayType = getByteDoubleArrayType();
-		fShortDoubleArrayType = getShortDoubleArrayType();
-		fIntDoubleArrayType = getIntDoubleArrayType();
-		fLongDoubleArrayType = getLongDoubleArrayType();
-		fFloatDoubleArrayType = getFloatDoubleArrayType();
-		fDoubleDoubleArrayType = getDoubleDoubleArrayType();
-		fCharDoubleArrayType = getCharDoubleArrayType();
-		fBooleanDoubleArrayType = getBooleanDoubleArrayType();;
-
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new TypeTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.Type";
-	}
-	/**
-	 * Test JDI signature().
-	 */
-	public void testJDISignature() {
-		assertEquals("1", "[Ljava/lang/String;", fArrayType.signature());
-		assertEquals("2", "Lorg/eclipse/debug/jdi/tests/program/MainClass;", fClassType.signature());
-		assertEquals("3", "Lorg/eclipse/debug/jdi/tests/program/Printable;", fInterfaceType.signature());
-		// Primitive types
-		assertEquals("4", "S", fShortType.signature());
-		assertEquals("5", "B", fByteType.signature());
-		assertEquals("6", "I", fIntegerType.signature());
-		assertEquals("7", "J", fLongType.signature());
-		assertEquals("8", "F", fFloatType.signature());
-		assertEquals("9", "D", fDoubleType.signature());
-		assertEquals("10", "C", fCharType.signature());
-		assertEquals("11", "Z", fBooleanType.signature());
-		// One-dimensional primitive arrays
-		assertEquals("12", "[B", fByteArrayType.signature());
-		assertEquals("13", "[S", fShortArrayType.signature());
-		assertEquals("14", "[I", fIntArrayType.signature());
-		assertEquals("15", "[J", fLongArrayType.signature());
-		assertEquals("16", "[F", fFloatArrayType.signature());
-		assertEquals("17", "[D", fDoubleArrayType.signature());
-		assertEquals("18", "[C", fCharArrayType.signature());
-		assertEquals("19", "[Z", fBooleanArrayType.signature());
-		// Two-dimensional primitive arrays
-		assertEquals("20", "[[B", fByteDoubleArrayType.signature());
-		assertEquals("21", "[[S", fShortDoubleArrayType.signature());
-		assertEquals("22", "[[I", fIntDoubleArrayType.signature());
-		assertEquals("23", "[[J", fLongDoubleArrayType.signature());
-		assertEquals("24", "[[F", fFloatDoubleArrayType.signature());
-		assertEquals("25", "[[D", fDoubleDoubleArrayType.signature());
-		assertEquals("26", "[[C", fCharDoubleArrayType.signature());
-		assertEquals("27", "[[Z", fBooleanDoubleArrayType.signature());
-	}
-	/**
-	 * Test JDI typeName().
-	 */
-	public void testJDITypeName() {
-		assertEquals("1", "java.lang.String[]", fArrayType.name());
-		assertEquals("2", "org.eclipse.debug.jdi.tests.program.MainClass", fClassType.name());
-		assertEquals("3", "org.eclipse.debug.jdi.tests.program.Printable", fInterfaceType.name());
-		// Primitive types
-		assertEquals("4", "byte", fByteType.name());
-		assertEquals("5", "short", fShortType.name());
-		assertEquals("6", "int", fIntegerType.name());
-		assertEquals("7", "long", fLongType.name());
-		assertEquals("8", "float", fFloatType.name());
-		assertEquals("9", "double", fDoubleType.name());
-		assertEquals("10", "char", fCharType.name());
-		assertEquals("11", "boolean", fBooleanType.name());
-		// One-dimensional primitive arrays
-		assertEquals("12", "byte[]", fByteArrayType.name());
-		assertEquals("13", "short[]", fShortArrayType.name());
-		assertEquals("14", "int[]", fIntArrayType.name());
-		assertEquals("15", "long[]", fLongArrayType.name());
-		assertEquals("16", "float[]", fFloatArrayType.name());
-		assertEquals("17", "double[]", fDoubleArrayType.name());
-		assertEquals("18", "char[]", fCharArrayType.name());
-		assertEquals("19", "boolean[]", fBooleanArrayType.name());
-		// Two-dimensional primitive arrays
-		assertEquals("20", "byte[][]", fByteDoubleArrayType.name());
-		assertEquals("21", "short[][]", fShortDoubleArrayType.name());
-		assertEquals("22", "int[][]", fIntDoubleArrayType.name());
-		assertEquals("23", "long[][]", fLongDoubleArrayType.name());
-		assertEquals("24", "float[][]", fFloatDoubleArrayType.name());
-		assertEquals("25", "double[][]", fDoubleDoubleArrayType.name());
-		assertEquals("26", "char[][]", fCharDoubleArrayType.name());
-		assertEquals("27", "boolean[][]", fBooleanDoubleArrayType.name());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisconnectEventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisconnectEventTest.java
deleted file mode 100644
index 42eb921..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisconnectEventTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.event.VMDisconnectEvent;
-
-/**
- * Tests for JDI com.sun.jdi.event.VMDisconnectEvent.
- */
-public class VMDisconnectEventTest extends AbstractJDITest {
-
-	private VMDisconnectEvent fVMDisconnectEvent;
-	/**
-	 * Creates a new test.
-	 */
-	public VMDisconnectEventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Prepare to receive the event
-		VMDisconnectEventWaiter waiter =
-			new VMDisconnectEventWaiter(null, true);
-		fEventReader.addEventListener(waiter);
-
-		// Trigger a vm death event by shutting down the VM
-		killVM();
-
-		// Wait for the event to come in
-		fVMDisconnectEvent = (VMDisconnectEvent) waitForEvent(waiter, 10000);
-		// Wait 10s max
-		fEventReader.removeEventListener(waiter);
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Finish the shut down
-		shutDownTarget();
-
-		// Start up again
-		launchTargetAndStartProgram();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new VMDisconnectEventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.VMDeathEvent";
-	}
-	/**
-	 * Test that we received the event.
-	 */
-	public void testJDIVMDeath() {
-		assertTrue("1", fVMDisconnectEvent != null);
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisconnectEventWaiter.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisconnectEventWaiter.java
deleted file mode 100644
index 6384f8b..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisconnectEventWaiter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.event.VMDisconnectEvent;
-/**
- * Listen for VMDisconnectEvent.
- */
-public class VMDisconnectEventWaiter extends EventWaiter {
-	/**
-	 * Creates a VMDisconnectEventWaiter.
-	 */
-	public VMDisconnectEventWaiter(
-		com.sun.jdi.request.EventRequest request,
-		boolean shouldGo) {
-		super(request, shouldGo);
-	}
-	public boolean vmDisconnect(VMDisconnectEvent event) {
-		notifyEvent(event);
-		return fShouldGo;
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisposeTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisposeTest.java
deleted file mode 100644
index d6cc021..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMDisposeTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.VMDisconnectedException;
-
-/**
- * Tests for JDI com.sun.jdi.event.VMDisconnectEvent.
- */
-public class VMDisposeTest extends AbstractJDITest {
-	/**
-	 * Creates a new test.
-	 */
-	public VMDisposeTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new VMDisposeTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.VirtualMachine.dispose";
-	}
-	/**
-	 * Test that we received the event.
-	 */
-	public void testJDIVMDispose() {
-		fVM.dispose();
-		try {
-			fVM.allThreads();
-			assertTrue("1", false);
-		} catch (VMDisconnectedException e) {
-		}
-
-		try {
-			// Reconnect to running VM.
-			connectToVM();
-			fVM.allThreads();
-		} catch (VMDisconnectedException e) {
-			assertTrue("3", false);
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMInformation.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMInformation.java
deleted file mode 100644
index 56eba84..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VMInformation.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.VirtualMachine;
-
-/**
- * This class allows to hold on information about the VM
- * that we don't want to loose between 2 tests.
- */
-public class VMInformation {
-	VirtualMachine fVM;
-	Process fLaunchedVM;
-	EventReader fEventReader;
-	AbstractReader fConsoleReader;
-	String fVMType;
-
-	/** 
-	 * Creates a new VMInformation for the given vm, vm type, launched vm, event reader and console reader.
-	 */
-	VMInformation(VirtualMachine vm, String vmType, Process launchedVM, EventReader eventReader, AbstractReader consoleReader) {
-		fVM = vm;
-		fLaunchedVM = launchedVM;
-		fEventReader = eventReader;
-		fConsoleReader = consoleReader;
-		fVMType = vmType;
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ValueTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ValueTest.java
deleted file mode 100644
index 5f9990a..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/ValueTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.Value;
-
-/**
- * Tests for JDI com.sun.jdi.Value.
- */
-public class ValueTest extends AbstractJDITest {
-	private Value fBoolean,
-		fByte,
-		fChar,
-		fDouble,
-		fFloat,
-		fInteger,
-		fLong,
-		fShort,
-		fArray,
-		fObject;
-	/**
-	 * Creates a new test.
-	 */
-	public ValueTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get primitive values
-		fBoolean = fVM.mirrorOf(true);
-		fByte = fVM.mirrorOf((byte) 1);
-		fChar = fVM.mirrorOf('a');
-		fDouble = fVM.mirrorOf(12345.6789);
-		fFloat = fVM.mirrorOf(12345.6789f);
-		fInteger = fVM.mirrorOf(12345);
-		fLong = fVM.mirrorOf(123456789l);
-		fShort = fVM.mirrorOf((short) 12345);
-
-		// Get object references
-		fArray = getObjectArrayReference();
-		fObject = getObjectReference();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new ValueTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.Value";
-	}
-	/**
-	 * Test JDI type().
-	 */
-	public void testJDIType() {
-		assertEquals("1", "boolean", fBoolean.type().name());
-		assertEquals("2", "byte", fByte.type().name());
-		assertEquals("3", "char", fChar.type().name());
-		assertEquals("4", "double", fDouble.type().name());
-		assertEquals("5", "float", fFloat.type().name());
-		assertEquals("6", "int", fInteger.type().name());
-		assertEquals("7", "long", fLong.type().name());
-		assertEquals("8", "short", fShort.type().name());
-		assertEquals("9", "java.lang.String[]", fArray.type().name());
-		assertEquals(
-			"10",
-			"org.eclipse.debug.jdi.tests.program.MainClass",
-			fObject.type().name());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualMachineExitTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualMachineExitTest.java
deleted file mode 100644
index 976a6a8..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualMachineExitTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.VMDisconnectedException;
-
-/**
- * Tests for JDI com.sun.jdi.VirtualMachine.exit().
- */
-public class VirtualMachineExitTest extends AbstractJDITest {
-	/**
-	 * Creates a new test .
-	 */
-	public VirtualMachineExitTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Finish the shut down
-		shutDownTarget();
-
-		// Start up again
-		launchTargetAndStartProgram();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(String[] args) {
-		new VirtualMachineExitTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.VirtualMachine.exit(int)";
-	}
-	/**
-	 * Test JDI exit().
-	 */
-	public void testJDIExit() {
-		try {
-			fVM.exit(0);
-		} catch (VMDisconnectedException e) {
-			assertTrue("1", false);
-		}
-
-		try {
-			Thread.sleep(200);
-			assertTrue("2", !vmIsRunning());
-			fVM.allThreads();
-			assertTrue("3", false);
-		} catch (VMDisconnectedException e) {
-		} catch (InterruptedException e) {
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualMachineTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualMachineTest.java
deleted file mode 100644
index 5627cac..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/VirtualMachineTest.java
+++ /dev/null
@@ -1,422 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Vector;
-
-import junit.framework.Test;
-
-import com.sun.jdi.BooleanValue;
-import com.sun.jdi.ByteValue;
-import com.sun.jdi.CharValue;
-import com.sun.jdi.DoubleValue;
-import com.sun.jdi.FloatValue;
-import com.sun.jdi.IntegerValue;
-import com.sun.jdi.LongValue;
-import com.sun.jdi.ReferenceType;
-import com.sun.jdi.ShortValue;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.ThreadGroupReference;
-import com.sun.jdi.ThreadReference;
-import com.sun.jdi.event.EventQueue;
-import com.sun.jdi.request.EventRequestManager;
-
-/**
- * Tests for JDI com.sun.jdi.VirtualMachine
- * and JDWP VM command set.
- * 
- * Example of arguments:
- *   -launcher SunVMLauncher -address c:\jdk1.2.2\ -classpath d:\target
- */
-public class VirtualMachineTest extends AbstractJDITest {
-
-	/**
-	 * Creates a new test .
-	 */
-	public VirtualMachineTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new VirtualMachineTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.VirtualMachine";
-	}
-	/**
-	 * Don't start the program yet, so that the testNotStarted* tests can run before.
-	 */
-	protected void setUp() {
-		launchTargetAndConnectToVM();
-	}
-	/**
-	 * Starts the target program.
-	 * NB: This method is copied in this class only so that it can be invoked
-	 *     dynamically.
-	 */
-	public void startProgram() {
-		super.startProgram();
-	}
-	/**
-	 * Returns all tests 
-	 */
-	protected Test suite() {
-		JDITestSuite suite = new JDITestSuite(this);
-
-		// Tests that run before the program is started
-		Vector testNames = getAllMatchingTests("testNotStarted");
-		Iterator iterator = testNames.iterator();
-		while (iterator.hasNext()) {
-			String name = (String) iterator.next();
-			suite.addTest(new JDITestCase(this, name));
-		}
-
-		// The method that starts the program
-		suite.addTest(new JDITestCase(this, "startProgram"));
-
-		// Tests that run after the program has started
-		testNames = getAllMatchingTests("testStarted");
-		iterator = testNames.iterator();
-		while (iterator.hasNext()) {
-			String name = (String) iterator.next();
-			suite.addTest(new JDITestCase(this, name));
-		}
-
-		// All other tests
-		testNames = getAllMatchingTests("testJDI");
-		iterator = testNames.iterator();
-		while (iterator.hasNext()) {
-			String name = (String) iterator.next();
-			suite.addTest(new JDITestCase(this, name));
-		}
-
-		return suite;
-	}
-	/**
-	 * Test JDI canGetBytecodes().
-	 */
-	public void testJDICanGetBytecodes() {
-		fVM.canGetBytecodes();
-	}
-	/**
-	 * Test JDI canGetCurrentContendedMonitor().
-	 */
-	public void testJDICanGetCurrentContendedMonitor() {
-		fVM.canGetCurrentContendedMonitor();
-	}
-	/**
-	 * Test JDI canGetMonitorInfo().
-	 */
-	public void testJDICanGetMonitorInfo() {
-		fVM.canGetMonitorInfo();
-	}
-	/**
-	 * Test JDI canGetOwnedMonitorInfo().
-	 */
-	public void testJDICanGetOwnedMonitorInfo() {
-		fVM.canGetOwnedMonitorInfo();
-	}
-	/**
-	 * Test JDI canGetSyntheticAttribute().
-	 */
-	public void testJDICanGetSyntheticAttribute() {
-		//  This is optional functionality, thus this is not a failure
-		fVM.canGetSyntheticAttribute();
-	}
-	/**
-	 * Test JDI canWatchFieldAccess().
-	 */
-	public void testJDICanWatchFieldAccess() {
-		//  This is optional functionality, thus this is not a failure
-		fVM.canWatchFieldAccess();
-	}
-	/**
-	 * Test JDI canWatchFieldModification().
-	 */
-	public void testJDICanWatchFieldModification() {
-		//  This is optional functionality, thus this is not a failure
-		fVM.canWatchFieldModification();
-	}
-	/**
-	 * Test JDI eventQueue().
-	 */
-	public void testJDIEventQueue() {
-		assertTrue("1", fVM.eventQueue() instanceof EventQueue);
-	}
-	/**
-	 * Test JDI eventRequestManager().
-	 */
-	public void testJDIEventRequestManager() {
-		assertTrue("1", fVM.eventRequestManager() instanceof EventRequestManager);
-	}
-	/**
-	 * Test JDI mirrorOf(boolean).
-	 */
-	public void testJDIMirrorOfBoolean() {
-		boolean value = true;
-		BooleanValue mirror = fVM.mirrorOf(value);
-		assertTrue("1", value == mirror.value());
-	}
-	/**
-	 * Test JDI mirrorOf(byte).
-	 */
-	public void testJDIMirrorOfByte() {
-		byte value = 1;
-		ByteValue mirror = fVM.mirrorOf(value);
-		assertEquals("1", value, mirror.value());
-	}
-	/**
-	 * Test JDI mirrorOf(char).
-	 */
-	public void testJDIMirrorOfChar() {
-		char value = 'a';
-		CharValue mirror = fVM.mirrorOf(value);
-		assertEquals("1", value, mirror.value());
-	}
-	/**
-	 * Test JDI mirrorOf(double).
-	 */
-	public void testJDIMirrorOfDouble() {
-		double value = 12345.6789;
-		DoubleValue mirror = fVM.mirrorOf(value);
-		assertEquals("1", value, mirror.value(), 0);
-	}
-	/**
-	 * Test JDI mirrorOf(float).
-	 */
-	public void testJDIMirrorOfFloat() {
-		float value = 12345.6789f;
-		FloatValue mirror = fVM.mirrorOf(value);
-		assertEquals("1", value, mirror.value(), 0);
-	}
-	/**
-	 * Test JDI mirrorOf(int).
-	 */
-	public void testJDIMirrorOfInt() {
-		int value = 12345;
-		IntegerValue mirror = fVM.mirrorOf(value);
-		assertEquals("1", value, mirror.value());
-	}
-	/**
-	 * Test JDI mirrorOf(long).
-	 */
-	public void testJDIMirrorOfLong() {
-		long value = 1234567890l;
-		LongValue mirror = fVM.mirrorOf(value);
-		assertEquals("1", value, mirror.value());
-	}
-	/**
-	 * Test JDI mirrorOf(short).
-	 */
-	public void testJDIMirrorOfShort() {
-		short value = (short) 12345;
-		ShortValue mirror = fVM.mirrorOf(value);
-		assertEquals("1", value, mirror.value());
-	}
-	/**
-	 * Test JDI mirrorOf(String) and JDWP 'VM - Create String'.
-	 */
-	public void testJDIMirrorOfString() {
-		String testString = "Test";
-		StringReference newString = null;
-		newString = fVM.mirrorOf(testString);
-		assertEquals("1", newString.value(), testString);
-	}
-	/**
-	 * Test JDI setDebugTraceMode(int).
-	 */
-	public void testJDISetDebugTraceMode() {
-		fVM.setDebugTraceMode(com.sun.jdi.VirtualMachine.TRACE_ALL);
-		fVM.setDebugTraceMode(com.sun.jdi.VirtualMachine.TRACE_SENDS);
-		fVM.setDebugTraceMode(com.sun.jdi.VirtualMachine.TRACE_RECEIVES);
-		fVM.setDebugTraceMode(com.sun.jdi.VirtualMachine.TRACE_NONE);
-
-		// restore original value
-		fVM.setDebugTraceMode(fVMTraceFlags);
-	}
-	/**
-	 * Test JDI getVersion().
-	 */
-	public void testJDIVersion() {
-		String version = fVM.version();
-		assertTrue("1", version != null);
-	}
-	/**
-	 * Test JDI allClasses() and JDWP 'VM - Get all classes'
-	 * while the test program has not been started.
-	 */
-	public void testNotStartedAllClasses() {
-		List classes = fVM.allClasses();
-		Iterator iterator = classes.listIterator();
-		int i = 0;
-		while (iterator.hasNext())
-			assertTrue(Integer.toString(i++), iterator.next() instanceof ReferenceType);
-	}
-	/**
-	 * Test JDI allThreads() and JDWP 'VM - Get all threads'
-	 * while the test program has not been started.
-	 */
-	public void testNotStartedAllThreads() {
-		List threads = fVM.allThreads();
-		Iterator iterator = threads.listIterator();
-		int i = 0;
-		while (iterator.hasNext())
-			assertTrue(Integer.toString(i++), iterator.next() instanceof ThreadReference);
-	}
-	/**
-	 * Test JDI classesByName() while the test program has not been started.
-	 */
-	public void testNotStartedClassesByName() {
-		List classes = fVM.classesByName("java.lang.Object");
-		assertEquals("1", 1, classes.size());
-	}
-	/**
-	 * Test JDI allClasses() and JDWP 'VM- Get all classes'
-	 * once the test program has been started.
-	 */
-	public void testStartedAllClasses() {
-
-		// The test program has started, the number of classes is != 0
-		List classes = fVM.allClasses();
-		assertTrue("1", classes.size() != 0);
-
-		// Collect names of received classes
-		String[] names = new String[classes.size()];
-		ListIterator iterator = classes.listIterator();
-		int i = 0;
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			names[i++] = type.name();
-		}
-
-		// Check that they are the expected names
-		String[] expected =
-			new String[] {
-				"java.lang.Object",
-				"java.util.Date",
-				"org.eclipse.debug.jdi.tests.program.Printable",
-				"org.eclipse.debug.jdi.tests.program.MainClass" };
-		for (int j = 0; j < expected.length; j++) {
-			boolean isIncluded = false;
-			iteration : for (int k = 0; k < names.length; k++) {
-				if (names[k].equals(expected[j])) {
-					isIncluded = true;
-					break iteration;
-				}
-			}
-			assertTrue("2." + j, isIncluded);
-		}
-	}
-	/**
-	 * Test JDI allThreads() and JDWP 'VM - Get all threads'
-	 * once the test program has been started.
-	 */
-	public void testStartedAllThreads() {
-
-		// The test program has started, the number of threads is != 0
-		List threads = fVM.allThreads();
-		assertTrue("1", threads.size() != 0);
-
-		// Collect names of received threads
-		String[] names = new String[threads.size()];
-		ListIterator iterator = threads.listIterator();
-		int i = 0;
-		while (iterator.hasNext()) {
-			ThreadReference thread = (ThreadReference) iterator.next();
-			names[i++] = thread.name();
-		}
-
-		// Check that they contain at least the expected names
-		String[] expected = new String[] { "Test Thread" };
-		boolean isIncluded = false;
-		iteration : for (int j = 0; j < expected.length; j++) {
-			for (int k = 0; k < names.length; k++) {
-				if (expected[j].equals(names[k])) {
-					isIncluded = true;
-					break iteration;
-				}
-			}
-		}
-		assertTrue("2", isIncluded);
-	}
-	/**
-	 * Test JDI classesByName() once the test program has been started.
-	 */
-	public void testStartedClassesByName() {
-
-		// The test program has started, the number of java.lang.Object is 1
-		List classes = fVM.classesByName("java.lang.Object");
-		assertEquals("1", classes.size(), 1);
-
-		// Collect names of received classes
-		String[] names = new String[classes.size()];
-		ListIterator iterator = classes.listIterator();
-		int i = 0;
-		while (iterator.hasNext()) {
-			ReferenceType type = (ReferenceType) iterator.next();
-			names[i++] = type.name();
-		}
-
-		// Check that they are all "java.lang.Object"
-		for (int j = 0; j < names.length; j++) {
-			assertEquals("2." + j, "java.lang.Object", names[j]);
-		}
-	}
-	/**
-	 * Test JDI suspend() and resume() once the test program has been started.
-	 */
-	public void testStartedSuspendResume() {
-		// Suspend
-		fVM.suspend();
-		ListIterator threads = fVM.allThreads().listIterator();
-		while (threads.hasNext()) {
-			ThreadReference thread = (ThreadReference) threads.next();
-			assertTrue("1." + thread.name(), thread.isSuspended());
-		}
-
-		// Resume
-		fVM.resume();
-		// Cannot assertTrue that all threads are not suspended because they might have been suspended
-		// by the program itself
-
-		// Suspend VM and suspend one thread
-		fVM.suspend();
-		threads = fVM.allThreads().listIterator();
-		ThreadReference suspended = getThread();
-		suspended.suspend();
-		while (threads.hasNext()) {
-			ThreadReference thread = (ThreadReference) threads.next();
-			assertTrue("2." + thread.name(), thread.isSuspended());
-		}
-
-		// Resume VM and ensure that the one thread that was suspended is still suspended
-		fVM.resume();
-		assertTrue("3", suspended.isSuspended());
-	}
-	/**
-	 * Test JDI topLevelThreadGroups().
-	 */
-	public void testStartedTopLevelThreadGroups() {
-		List topLevelThreadGroups = fVM.topLevelThreadGroups();
-		assertEquals("1", 1, topLevelThreadGroups.size());
-		assertTrue("2", topLevelThreadGroups.get(0) instanceof ThreadGroupReference);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/WatchpointEventTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/WatchpointEventTest.java
deleted file mode 100644
index 51eb536..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/WatchpointEventTest.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import java.util.ArrayList;
-
-import com.sun.jdi.BooleanValue;
-import com.sun.jdi.StringReference;
-import com.sun.jdi.event.AccessWatchpointEvent;
-import com.sun.jdi.event.ModificationWatchpointEvent;
-import com.sun.jdi.event.WatchpointEvent;
-import com.sun.jdi.request.EventRequestManager;
-
-/**
- * Tests for JDI com.sun.jdi.event.WatchpointEvent.
- */
-public class WatchpointEventTest extends AbstractJDITest {
-
-	private WatchpointEvent fAccessWatchpointEvent,
-		fStaticAccessWatchpointEvent,
-		fModificationWatchpointEvent;
-	// NB: Static modification watchpoint event is tested in ModificationWatchpointTest
-	/**
-	 * Creates a new test.
-	 */
-	public WatchpointEventTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Trigger an access watchpoint event
-		fAccessWatchpointEvent =
-			(AccessWatchpointEvent) triggerAndWait(getAccessWatchpointRequest(),
-				"AccessWatchpointEvent",
-				true);
-		assertTrue("Got access watchpoint event", fAccessWatchpointEvent != null);
-
-		// Trigger a static access watchpoint event
-		fStaticAccessWatchpointEvent =
-			(AccessWatchpointEvent) triggerAndWait(
-				getStaticAccessWatchpointRequest(),
-				"StaticAccessWatchpointEvent",
-				true);
-		assertTrue(
-			"Got static access watchpoint event",
-			fStaticAccessWatchpointEvent != null);
-
-		// Trigger a modification watchpoint event
-		fModificationWatchpointEvent =
-			(ModificationWatchpointEvent) triggerAndWait(
-				getModificationWatchpointRequest(),
-				"ModificationWatchpointEvent",
-				false);
-		// Interrupt the VM so that we can test valueCurrent()
-		assertTrue(
-			"Got modification watchpoint event",
-			fModificationWatchpointEvent != null);
-
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Ensure that the modification of the "fBool" field has completed
-		fVM.resume();
-		waitUntilReady();
-
-		// Delete the event requests we created in this test
-		EventRequestManager requestManager = fVM.eventRequestManager();
-		requestManager.deleteEventRequests(
-			new ArrayList(requestManager.accessWatchpointRequests()));
-		requestManager.deleteEventRequests(
-			new ArrayList(requestManager.modificationWatchpointRequests()));
-
-		// Set the value of the "fBool" field back to its original value
-		resetField();
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new WatchpointEventTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.event.WatchpointEvent";
-	}
-	/**
-	 * Test JDI field().
-	 */
-	public void testJDIField() {
-		assertEquals("1", getField("fBool"), fAccessWatchpointEvent.field());
-		assertEquals(
-			"2",
-			getField("fString"),
-			fStaticAccessWatchpointEvent.field());
-		assertEquals(
-			"3",
-			getField("fBool"),
-			fModificationWatchpointEvent.field());
-	}
-	/**
-	 * Test JDI object().
-	 */
-	public void testJDIObject() {
-		assertEquals(
-			"1",
-			getObjectReference(),
-			fAccessWatchpointEvent.object());
-		assertTrue("2", fStaticAccessWatchpointEvent.object() == null);
-		assertEquals(
-			"3",
-			getObjectReference(),
-			fModificationWatchpointEvent.object());
-	}
-	/**
-	 * Test JDI valueCurrent().
-	 */
-	public void testJDIValueCurrent() {
-		assertTrue(
-			"1",
-			false
-				== ((BooleanValue) fAccessWatchpointEvent.valueCurrent()).value());
-
-		assertEquals(
-			"2",
-			"Hello World",
-			((StringReference) fStaticAccessWatchpointEvent.valueCurrent())
-				.value());
-
-		assertTrue(
-			"3",
-			false
-				== ((BooleanValue) fModificationWatchpointEvent.valueCurrent())
-					.value());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/WatchpointRequestTest.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/WatchpointRequestTest.java
deleted file mode 100644
index 7e013a9..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/WatchpointRequestTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.debug.jdi.tests;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-import com.sun.jdi.request.WatchpointRequest;
-
-/**
- * Tests for JDI com.sun.jdi.request.WatchpointRequest.
- */
-public class WatchpointRequestTest extends AbstractJDITest {
-
-	private WatchpointRequest fAccessWatchpointRequest,
-		fModificationWatchpointRequest;
-	/**
-	 * Creates a new test .
-	 */
-	public WatchpointRequestTest() {
-		super();
-	}
-	/**
-	 * Init the fields that are used by this test only.
-	 */
-	public void localSetUp() {
-		// Get an acces watchpoint request
-		fAccessWatchpointRequest = getAccessWatchpointRequest();
-
-		// Get a modification watchpoint request
-		fModificationWatchpointRequest = getModificationWatchpointRequest();
-	}
-	/**
-	 * Make sure the test leaves the VM in the same state it found it.
-	 */
-	public void localTearDown() {
-		// Delete the watchpoint requests we created in this test
-		fVM.eventRequestManager().deleteEventRequest(fAccessWatchpointRequest);
-		fVM.eventRequestManager().deleteEventRequest(
-			fModificationWatchpointRequest);
-	}
-	/**
-	 * Run all tests and output to standard output.
-	 */
-	public static void main(java.lang.String[] args) {
-		new WatchpointRequestTest().runSuite(args);
-	}
-	/**
-	 * Gets the name of the test case.
-	 */
-	public String getName() {
-		return "com.sun.jdi.request.WatchpointRequest";
-	}
-	/**
-	 * Test JDI field().
-	 */
-	public void testJDIField() {
-		assertEquals("1", getField("fBool"), fAccessWatchpointRequest.field());
-		assertEquals(
-			"2",
-			getField("fBool"),
-			fModificationWatchpointRequest.field());
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/MainClass.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/MainClass.java
deleted file mode 100644
index ae7d107..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/MainClass.java
+++ /dev/null
@@ -1,321 +0,0 @@
-package org.eclipse.debug.jdi.tests.program;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
- 
-/**
- * Main class for target VM tests.
- * This class is intended to be run by the target VM. 
- * It will use other classes in this package, and it will create and terminate
- * threads as a regular program would do.
- *
- * WARNING, WARNING:
- * Tests in org.eclipse.debug.jdi.tests assume the content of this class, 
- * as well as its behavior. So if this class or one of the types in this
- * package is changed, the corresponding tests must also be changed.
- */
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.util.Date;
-
-public class MainClass extends Date implements Runnable, Printable {
-
-	private static byte[] byteArray = new byte[0];
-	private static byte[][] byteDoubleArray = new byte[0][0];
-	private static short[] shortArray = new short[0];
-	private static short[][] shortDoubleArray = new short[0][0];
-	private static int[] intArray = new int[0];
-	private static int[][] intDoubleArray = new int[0][0];
-	private static long[] longArray = new long[0];
-	private static long[][] longDoubleArray = new long[0][0];
-	private static double[] doubleArray = new double[0];
-	private static double[][] doubleDoubleArray = new double[0][0];
-	private static float[] floatArray = new float[0];
-	private static float[][] floatDoubleArray = new float[0][0];
-	private static char[] charArray = new char[0];
-	private static char[][] charDoubleArray = new char[0][0];
-	private static boolean[] booleanArray = new boolean[0];
-	private static boolean[][] booleanDoubleArray = new boolean[0][0];
-
-	private String string = "";
-	private String[] stringArray = new String[0];
-	private String[][] stringDoubleArray = new String[0][0];
-
-	public static int fInt = 0;
-
-	public static MainClass fObject = new MainClass();
-
-	public static String fString = "Hello World";
-
-	public static Thread fThread;
-
-	public static Thread fMainThread;
-
-	public static String[] fArray = new String[] { "foo", "bar", "hop" };
-
-	public static double[] fDoubleArray = new double[] { 1, 2.2, 3.33 };
-
-	public static String fEventType = "";
-
-	public boolean fBool = false;
-
-	private char fChar = 'a';
-
-	private String fString2 = "Hello";
-
-	protected final String fString3 = "HEY";
-
-	public MainClass() {
-	}
-
-	/* Used to test ClassType.newInstance */
-	public MainClass(int i, Object o1, Object o2) {
-	}
-
-	/* For invocation tests */
-	private static String invoke1(int x, Object o) {
-		if (o == null)
-			return (new Integer(x)).toString();
-		else
-			return "";
-	}
-	/* For invocation tests */
-	private static void invoke2() {
-		throw new IndexOutOfBoundsException();
-	}
-	/* For invocation tests */
-	private int invoke3(String str, Object o) {
-		return Integer.parseInt(str);
-	}
-	/* For invocation tests */
-	private long invoke4() throws java.io.EOFException {
-		throw new java.io.EOFException();
-	}
-	/* For variables test */
-	private void variablesTest(long l) {
-	}
-	public static void main(java.lang.String[] args) {
-		// Start the test program
-		ThreadGroup group = new ThreadGroup("Test ThreadGroup");
-		fThread = new Thread(group, fObject, "Test Thread");
-		fThread.start();
-
-		fMainThread = Thread.currentThread();
-
-		// Prevent this thread from dying
-		while (true)
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-			}
-	}
-	public void print(OutputStream out) {
-		String string = fInt++ +". " + fString;
-		PrintWriter writer = new PrintWriter(out);
-		writer.println(string);
-		writer.flush();
-	}
-	synchronized public void printAndSignal() {
-		print(System.out);
-
-		// Signal readiness by throwing an exception
-		try {
-			throw new NegativeArraySizeException();
-		} catch (NegativeArraySizeException exc) {
-		}
-	}
-	public void run() {
-		try {
-			Thread t = Thread.currentThread();
-			MainClass o = new OtherClass();
-			// The front-end tests use the class load event to determine that the program has started
-
-			if (CONSTANT == 2)
-				System.out.println("CONSTANT=2");
-
-			while (true) {
-				printAndSignal();
-				triggerEvent();
-				useLocalVars(t, o);
-				try {
-					Thread.sleep(1000);
-				} catch (InterruptedException e) {
-				}
-			}
-		} finally {
-			System.out.println("Running finally block in MainClass.run()");
-		}
-	}
-	/**
-	 *	Trigger an access watchpoint event for the front-end.
-	 */
-	private void triggerAccessWatchpointEvent() {
-		if (fBool)
-			System.out.println("fBool is true");
-	}
-	/**
-	 *	Trigger a breakpoint event for the front-end.
-	 */
-	private void triggerBreakpointEvent() {
-		System.out.println("Breakpoint");
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent() {
-		new TestClass();
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent1() {
-		new TestClass1();
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent2() {
-		new TestClass2();
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent3() {
-		new TestClass3();
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent4() {
-		new TestClass4();
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent5() {
-		new TestClass5();
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent6() {
-		new TestClass6();
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent7() {
-		new TestClass7();
-		new TestClazz8();
-	}
-	/**
-	 *	Trigger a class prepare event for the front-end.
-	 */
-	private void triggerClassPrepareEvent8() {
-		new TestClazz9();
-		new TestClazz10();
-	}
-	/**
-	 *	Trigger an event for the front-end.
-	 */
-	private void triggerEvent() {
-		/* Ensure we do it only once */
-		String eventType = fEventType;
-		fEventType = "";
-
-		/* Trigger event according to the field fEventType */
-		if (eventType.equals(""))
-			return;
-		else if (eventType.equals("AccessWatchpointEvent"))
-			triggerAccessWatchpointEvent();
-		else if (eventType.equals("StaticAccessWatchpointEvent"))
-			triggerStaticAccessWatchpointEvent();
-		else if (eventType.equals("BreakpointEvent"))
-			triggerBreakpointEvent();
-		else if (eventType.equals("ClassPrepareEvent"))
-			triggerClassPrepareEvent();
-		else if (eventType.equals("ClassPrepareEvent1"))
-			triggerClassPrepareEvent1();
-		else if (eventType.equals("ClassPrepareEvent2"))
-			triggerClassPrepareEvent2();
-		else if (eventType.equals("ClassPrepareEvent3"))
-			triggerClassPrepareEvent3();
-		else if (eventType.equals("ClassPrepareEvent4"))
-			triggerClassPrepareEvent4();
-		else if (eventType.equals("ClassPrepareEvent5"))
-			triggerClassPrepareEvent5();
-		else if (eventType.equals("ClassPrepareEvent6"))
-			triggerClassPrepareEvent6();
-		else if (eventType.equals("ClassPrepareEvent7"))
-			triggerClassPrepareEvent7();
-		else if (eventType.equals("ClassPrepareEvent8"))
-			triggerClassPrepareEvent8();
-		else if (eventType.equals("ExceptionEvent"))
-			triggerExceptionEvent();
-		else if (eventType.equals("ModificationWatchpointEvent"))
-			triggerModificationWatchpointEvent();
-		else if (eventType.equals("StaticModificationWatchpointEvent"))
-			triggerStaticModificationWatchpointEvent();
-		else if (eventType.equals("ThreadStartEvent"))
-			triggerThreadStartEvent();
-		else if (eventType.equals("ThreadDeathEvent"))
-			triggerThreadDeathEvent();
-		else
-			System.out.println("Unknown event type: " + eventType);
-	}
-	/**
-	 *	Trigger an exception event for the front-end.
-	 */
-	private void triggerExceptionEvent() {
-		Thread t = new Thread(new Runnable() {
-			public void run() {
-				throw new Error();
-			}
-		}, "Test Exception Event");
-		t.start();
-	}
-	/**
-	 *	Trigger a modification watchpoint event for the front-end.
-	 */
-	private void triggerModificationWatchpointEvent() {
-		fBool = true;
-	}
-	/**
-	 * Trigger an access watchpoint event to a static field
-	 * for the front-end.
-	 */
-	private void triggerStaticAccessWatchpointEvent() {
-		if (fObject == null)
-			System.out.println("fObject is null");
-	}
-	/**
-	 * Trigger a modification watchpoint event of a static field
-	 * for the front-end.
-	 */
-	private void triggerStaticModificationWatchpointEvent() {
-		fString = "Hello Universe";
-	}
-	/**
-	 *	Trigger a thread end event for the front-end.
-	 */
-	private void triggerThreadDeathEvent() {
-		new Thread("Test Thread Death Event").start();
-	}
-	/**
-	 *	Trigger a thread start event for the front-end.
-	 */
-	private void triggerThreadStartEvent() {
-		new Thread("Test Thread Start Event").start();
-	}
-	private void useLocalVars(Thread t, MainClass o) {
-		if (t == null)
-			System.out.println("t is null");
-		if (o == null)
-			System.out.println("o is null");
-
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/OtherClass.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/OtherClass.java
deleted file mode 100644
index bd1b750..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/OtherClass.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.debug.jdi.tests.program;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-public class OtherClass extends MainClass {
-	class InnerClass {
-	}
-	InnerClass fInner = new InnerClass();
-	/**
-	 * OtherClass constructor comment.
-	 */
-	public OtherClass() {
-		super();
-	}
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/Printable.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/Printable.java
deleted file mode 100644
index b31261e..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/Printable.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.debug.jdi.tests.program;
-
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp.  All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-
-/**
- * Interface type for target VM tests.
- * This interface is intended to be loaded by the target VM. 
- *
- * WARNING, WARNING:
- * Tests in org.eclipse.debug.jdi.tests assume the content of this interface.
- * So if this interface or one of the types in this
- * package is changed, the corresponding tests must also be changed.
- */
-
-import java.io.OutputStream;
-
-public interface Printable extends Cloneable {
-	int CONSTANT = 1;
-public void print(OutputStream out);
-}
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass.java
deleted file mode 100644
index bbe205f..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass1.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass1.java
deleted file mode 100644
index 560143a..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass1.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass2.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass2.java
deleted file mode 100644
index 8b61cce..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass2.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass3.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass3.java
deleted file mode 100644
index f0f50f7..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass3.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass4.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass4.java
deleted file mode 100644
index 7ccef59..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass4.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass5.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass5.java
deleted file mode 100644
index ddba5d1..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass5.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass6.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass6.java
deleted file mode 100644
index e638623..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass6.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass7.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass7.java
deleted file mode 100644
index dc940f2..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClass7.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz10.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz10.java
deleted file mode 100644
index abd8b35..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz10.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz8.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz8.java
deleted file mode 100644
index 491cc7d..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz8.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz9.java b/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz9.java
deleted file mode 100644
index 44387d9..0000000
--- a/org.eclipse.jdt.debug.jdi.tests/tests/org/eclipse/debug/jdi/tests/program/TestClazz9.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
index 18fbea1..5c2c914 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/.classpath b/org.eclipse.jdt.debug.ui/.classpath
deleted file mode 100644
index 107e73a..0000000
--- a/org.eclipse.jdt.debug.ui/.classpath
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="ui/"/>
-    <classpathentry kind="src" path="/org.eclipse.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.core"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.search"/>
-    <classpathentry kind="src" path="/org.eclipse.debug.core"/>
-    <classpathentry kind="src" path="/org.eclipse.debug.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.debug"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.launching"/>
-    <classpathentry kind="src" path="/org.eclipse.compare"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.debug.ui/.cvsignore b/org.eclipse.jdt.debug.ui/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.jdt.debug.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.ui/.options b/org.eclipse.jdt.debug.ui/.options
deleted file mode 100644
index 10e4c0e..0000000
--- a/org.eclipse.jdt.debug.ui/.options
+++ /dev/null
@@ -1 +0,0 @@
- org.eclipse.jdt.debug.ui/debug=true
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.ui/.project b/org.eclipse.jdt.debug.ui/.project
deleted file mode 100644
index 66dbb0b..0000000
--- a/org.eclipse.jdt.debug.ui/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.debug.ui</name>
-	<comment></comment>
-	<projects>
-		<project>org.apache.xerces</project>
-		<project>org.eclipse.compare</project>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.debug.core</project>
-		<project>org.eclipse.debug.ui</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.debug</project>
-		<project>org.eclipse.jdt.launching</project>
-		<project>org.eclipse.jdt.ui</project>
-		<project>org.eclipse.search</project>
-		<project>org.eclipse.ui</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</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.jdt.debug.ui/about.html b/org.eclipse.jdt.debug.ui/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.jdt.debug.ui/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.ui/build.properties b/org.eclipse.jdt.debug.ui/build.properties
deleted file mode 100644
index bb7a3cc..0000000
--- a/org.eclipse.jdt.debug.ui/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.xml,\
-               plugin.properties,\
-               *.jar,\
-			   .options,\
-			   about.html
-
-src.includes=about.html, schema/
-
-source.jdiui.jar = ui/
diff --git a/org.eclipse.jdt.debug.ui/doc/org_eclipse_jdt_debug_ui.html b/org.eclipse.jdt.debug.ui/doc/org_eclipse_jdt_debug_ui.html
deleted file mode 100644
index 4ceb1eb..0000000
--- a/org.eclipse.jdt.debug.ui/doc/org_eclipse_jdt_debug_ui.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>README Java Debug User Interface Extension Points</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<h1 align="center">Java Debug User-Interface</h1>
-
-<p>The Java debug UI plug-in, <b>org.eclipse.jdt.debug.ui</b>, implements a
-Java debug user-interface, allowing the user to launch and manipulate Java virtual
-machines, threads, stack frames, and variables. It provides Java specific actions to
-support Java breakpoints, expession evaluation, etc. <br>
-</p>
-
-<hr>
-
-<h1>Extension Points</h1>
-
-<p>The following extension points are used to support and extend the Java debug UI.: 
-
-<ul>
-  <li><a href="org_eclipse_jdt_debug_ui_vmInstallTypePage.html">org.eclipse.jdt.debug.ui.vmInstallTypePage</a></li>
-</ul>
-
-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."
-border="0" width="195" height="12"></a></p>
-</body>
-</html>
diff --git a/org.eclipse.jdt.debug.ui/doc/org_eclipse_jdt_debug_ui_vmInstallTypePage.html b/org.eclipse.jdt.debug.ui/doc/org_eclipse_jdt_debug_ui_vmInstallTypePage.html
deleted file mode 100644
index a064966..0000000
--- a/org.eclipse.jdt.debug.ui/doc/org_eclipse_jdt_debug_ui_vmInstallTypePage.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>VM Install Type UI Page</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.jdt.debug.ui.vmInstallTypePage<p>
-<b><i>Description: </i></b>This extension point provides a mechanism for contributing UI that will appear in the JRE tab of the launch configuration dialog.
-The UI is shown only when a VM of the specified install type is selected in the JRE tab.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.vmInstallTypePage">vmInstallTypePage</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.vmInstallTypePage">vmInstallTypePage</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST vmInstallTypePage</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vmInstallTypeID&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - specifies a unique identifier for this vm install type UI page.</li>
-<li><b>vmInstallTypeID</b> - specifies VM install type that this UI page is applicable to (corresponds to the id of a VM install type).</li>
-<li><b>class</b> - specifies a fully qualified name of a Java class that implements <samp>ILaunchConfigurationTab</samp>.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a VM install type page extension point:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.jdt.debug.ui.vmInstallTypePage&quot;</font>&gt;</font>
-  <font color="#000080">&lt;vmInstallTypePage
-   id=<font color="#008000">&quot;com.example.ExampleVMInstallTypePage&quot;</font>
-   vmInstallTypeID=<font color="#008000">&quot;com.example.ExampleVMInstallTypeIdentifier&quot;</font>
-   class=<font color="#008000">&quot;com.example.ExampleVMInstallTypePage&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/vmInstallTypePage&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-In the above example, the contributed page will be shown in the JRE tab of the launch configuration dialog
-whenever the currently selected JRE has a VM Install type identifier of <samp>com.example.ExampleVMInstallTypeIdentifier</samp>.<p>
-<b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface
-<b>org.eclipse.debug.ui.ILaunchConfigurationTab</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.jdt.debug.ui/hglegal2003.htm b/org.eclipse.jdt.debug.ui/hglegal2003.htm
deleted file mode 100644
index 47c8540..0000000
--- a/org.eclipse.jdt.debug.ui/hglegal2003.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/clear_co.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/clear_co.gif
deleted file mode 100644
index 2558326..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/constant_co.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/constant_co.gif
deleted file mode 100644
index f3b0a9f..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/constant_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/deadlock_view.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/deadlock_view.gif
deleted file mode 100644
index d47ecfd..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/deadlock_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/exc_catch.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/exc_catch.gif
deleted file mode 100644
index e6cb8b1..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/exc_catch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/final_co.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/final_co.gif
deleted file mode 100644
index 9528145..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/final_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/monitor_view.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/monitor_view.gif
deleted file mode 100644
index cda9dc8..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/monitor_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/runtoline_co.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/runtoline_co.gif
deleted file mode 100644
index a5a56e3..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/runtoline_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/sethitcount_co.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/sethitcount_co.gif
deleted file mode 100644
index 6f65a07..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/sethitcount_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/static_co.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/static_co.gif
deleted file mode 100644
index f4d0e29..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/static_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/clcl16/thread_view.gif b/org.eclipse.jdt.debug.ui/icons/full/clcl16/thread_view.gif
deleted file mode 100644
index 590ceac..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/clcl16/thread_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/debug_exc.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/debug_exc.gif
deleted file mode 100644
index 3052a80..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/debug_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/debug_java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/debug_java_app.gif
deleted file mode 100644
index 8bc6915..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/debug_java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/disp_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/disp_sbook.gif
deleted file mode 100644
index f9fb6b0..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/disp_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/insp_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/insp_sbook.gif
deleted file mode 100644
index 2b645a8..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/insp_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_app.gif
deleted file mode 100644
index 04add8a..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_applet.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_applet.gif
deleted file mode 100644
index b70b54c..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_applet.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_attach.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_attach.gif
deleted file mode 100644
index 03085f3..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/java_attach.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_exc.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_exc.gif
deleted file mode 100644
index 8174dad..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_java_app.gif
deleted file mode 100644
index 778f9cb..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_sbook.gif
deleted file mode 100644
index 95d53e4..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/run_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/term_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/term_sbook.gif
deleted file mode 100644
index d47876f..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/term_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/var_filters.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/var_filters.gif
deleted file mode 100644
index 0340a72..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/var_filters.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ctool16/watch_exp.gif b/org.eclipse.jdt.debug.ui/icons/full/ctool16/watch_exp.gif
deleted file mode 100644
index 2df4edd..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ctool16/watch_exp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/cview16/thread_and_monitor_view.gif b/org.eclipse.jdt.debug.ui/icons/full/cview16/thread_and_monitor_view.gif
deleted file mode 100644
index 15c340f..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/cview16/thread_and_monitor_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/cview16/variable_tab.gif b/org.eclipse.jdt.debug.ui/icons/full/cview16/variable_tab.gif
deleted file mode 100644
index 8670a38..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/cview16/variable_tab.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/clear_co.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/clear_co.gif
deleted file mode 100644
index d873c49..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/constant_co.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/constant_co.gif
deleted file mode 100644
index aea6211..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/constant_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/deadlock_view.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/deadlock_view.gif
deleted file mode 100644
index c67c0d8..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/deadlock_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/exc_catch.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/exc_catch.gif
deleted file mode 100644
index cec357c..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/exc_catch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/final_co.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/final_co.gif
deleted file mode 100644
index d75db8a..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/final_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/monitor_view.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/monitor_view.gif
deleted file mode 100644
index 5131846..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/monitor_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/runtoline_co.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/runtoline_co.gif
deleted file mode 100644
index 786a245..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/runtoline_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/sethitcount_co.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/sethitcount_co.gif
deleted file mode 100644
index a388185..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/sethitcount_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/static_co.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/static_co.gif
deleted file mode 100644
index a98320d..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/static_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/thread_view.gif b/org.eclipse.jdt.debug.ui/icons/full/dlcl16/thread_view.gif
deleted file mode 100644
index 0fd71e4..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dlcl16/thread_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/debug_java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/debug_java_app.gif
deleted file mode 100644
index 04e38d4..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/debug_java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/disp_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/disp_sbook.gif
deleted file mode 100644
index d2d6592..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/disp_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/insp_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/insp_sbook.gif
deleted file mode 100644
index 27b96a7..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/insp_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_app.gif
deleted file mode 100644
index 9549dd8..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_applet.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_applet.gif
deleted file mode 100644
index 46f5010..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_applet.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_attach.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_attach.gif
deleted file mode 100644
index 12ca5d2..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/java_attach.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/run_java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/run_java_app.gif
deleted file mode 100644
index 8b8b591..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/run_java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/run_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/run_sbook.gif
deleted file mode 100644
index a38e4ad..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/run_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/term_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/term_sbook.gif
deleted file mode 100644
index bf15460..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/term_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/var_filters.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/var_filters.gif
deleted file mode 100644
index f632778..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/var_filters.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/dtool16/watch_exp.gif b/org.eclipse.jdt.debug.ui/icons/full/dtool16/watch_exp.gif
deleted file mode 100644
index 0740773..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/dtool16/watch_exp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/clear_co.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/clear_co.gif
deleted file mode 100644
index 6faf8d6..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/constant_co.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/constant_co.gif
deleted file mode 100644
index 5dbb518..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/constant_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/deadlock_view.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/deadlock_view.gif
deleted file mode 100644
index be3943a..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/deadlock_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/exc_catch.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/exc_catch.gif
deleted file mode 100644
index 3a63aae..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/exc_catch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/final_co.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/final_co.gif
deleted file mode 100644
index fdf0285..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/final_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/monitor_view.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/monitor_view.gif
deleted file mode 100644
index 40f3435..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/monitor_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/runtoline_co.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/runtoline_co.gif
deleted file mode 100644
index 2ec7178..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/runtoline_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/sethitcount_co.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/sethitcount_co.gif
deleted file mode 100644
index fcc14f7..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/sethitcount_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/static_co.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/static_co.gif
deleted file mode 100644
index 5dcfd34..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/static_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/elcl16/thread_view.gif b/org.eclipse.jdt.debug.ui/icons/full/elcl16/thread_view.gif
deleted file mode 100644
index c6733f9..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/elcl16/thread_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/debug_java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/debug_java_app.gif
deleted file mode 100644
index 2dbceee..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/debug_java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/disp_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/disp_sbook.gif
deleted file mode 100644
index 3bcafea..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/disp_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/insp_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/insp_sbook.gif
deleted file mode 100644
index bcd5f22..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/insp_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/java_app.gif
deleted file mode 100644
index 4003dfa..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/java_applet.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/java_applet.gif
deleted file mode 100644
index 8bd4b49..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/java_applet.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/java_attach.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/java_attach.gif
deleted file mode 100644
index 0e47bd0..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/java_attach.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/run_java_app.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/run_java_app.gif
deleted file mode 100644
index 1d1e2bb..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/run_java_app.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/run_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/run_sbook.gif
deleted file mode 100644
index 924a2cc..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/run_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/term_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/term_sbook.gif
deleted file mode 100644
index 37f8d22..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/term_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/var_filters.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/var_filters.gif
deleted file mode 100644
index 5a2ceef..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/var_filters.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/etool16/watch_exp.gif b/org.eclipse.jdt.debug.ui/icons/full/etool16/watch_exp.gif
deleted file mode 100644
index 02b835a..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/etool16/watch_exp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/brkpi_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/brkpi_obj.gif
deleted file mode 100644
index afcf4b8..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/brkpi_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/insp_sbook.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/insp_sbook.gif
deleted file mode 100644
index 2b645a8..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/insp_sbook.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/jexception_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/jexception_obj.gif
deleted file mode 100644
index 1da9a26..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/jexception_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/jexceptiond_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/jexceptiond_obj.gif
deleted file mode 100644
index 13da640..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/jexceptiond_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/jrtexception_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/jrtexception_obj.gif
deleted file mode 100644
index 701bbb5..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/jrtexception_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/jsbook_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/jsbook_obj.gif
deleted file mode 100644
index a162c17..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/jsbook_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/jsbook_run_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/jsbook_run_obj.gif
deleted file mode 100644
index 549c6b7..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/jsbook_run_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/localvariable_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/localvariable_obj.gif
deleted file mode 100644
index bf0a368..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/localvariable_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/minus_sign.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/minus_sign.gif
deleted file mode 100644
index 1f1e081..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/minus_sign.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/monitor_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/monitor_obj.gif
deleted file mode 100644
index e69e4e1..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/monitor_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/plus_sign.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/plus_sign.gif
deleted file mode 100644
index 0fa81a7..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/plus_sign.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/read_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/read_obj.gif
deleted file mode 100644
index 793b189..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/read_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/read_obj_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/read_obj_disabled.gif
deleted file mode 100644
index d9c0c91..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/read_obj_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/readwrite_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/readwrite_obj.gif
deleted file mode 100644
index 0b1184d..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/readwrite_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/readwrite_obj_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/readwrite_obj_disabled.gif
deleted file mode 100644
index 8eba2e1..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/readwrite_obj_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/write_obj.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/write_obj.gif
deleted file mode 100644
index b5fa352..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/write_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/obj16/write_obj_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/obj16/write_obj_disabled.gif
deleted file mode 100644
index c4f8b8b..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/obj16/write_obj_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/caught_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/caught_ovr.gif
deleted file mode 100644
index 725b4fa..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/caught_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/caught_ovr_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/caught_ovr_disabled.gif
deleted file mode 100644
index 6f709d1..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/caught_ovr_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/conditional_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/conditional_ovr.gif
deleted file mode 100644
index 7c3e9f0..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/conditional_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/conditional_ovr_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/conditional_ovr_disabled.gif
deleted file mode 100644
index ea88a6a..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/conditional_ovr_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/contention_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/contention_ovr.gif
deleted file mode 100644
index e985b70..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/contention_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/contentionformonitor_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/contentionformonitor_ovr.gif
deleted file mode 100644
index 4991ebc..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/contentionformonitor_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/entry_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/entry_ovr.gif
deleted file mode 100644
index 7227afd..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/entry_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/entry_ovr_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/entry_ovr_disabled.gif
deleted file mode 100644
index 7dd73bd..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/entry_ovr_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/error_co.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/error_co.gif
deleted file mode 100644
index 8612eaf..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/error_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/exit_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/exit_ovr.gif
deleted file mode 100644
index 76ee4bc..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/exit_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/exit_ovr_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/exit_ovr_disabled.gif
deleted file mode 100644
index c3f4563..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/exit_ovr_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/installed_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/installed_ovr.gif
deleted file mode 100644
index 7f4a31e..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/installed_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/installed_ovr_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/installed_ovr_disabled.gif
deleted file mode 100644
index 9325bc1..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/installed_ovr_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/owned_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/owned_ovr.gif
deleted file mode 100644
index db8b44e..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/owned_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/ownsmonitor_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/ownsmonitor_ovr.gif
deleted file mode 100644
index a575156..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/ownsmonitor_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/scoped_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/scoped_ovr.gif
deleted file mode 100644
index 1a86046..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/scoped_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/scoped_ovr_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/scoped_ovr_disabled.gif
deleted file mode 100644
index bfce68c..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/scoped_ovr_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/uncaught_ovr.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/uncaught_ovr.gif
deleted file mode 100644
index 7880cf7..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/uncaught_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/uncaught_ovr_disabled.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/uncaught_ovr_disabled.gif
deleted file mode 100644
index b40c449..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/uncaught_ovr_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/ovr16/warning_co.gif b/org.eclipse.jdt.debug.ui/icons/full/ovr16/warning_co.gif
deleted file mode 100644
index 3af228c..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/ovr16/warning_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/wizban/java_app_wiz.gif b/org.eclipse.jdt.debug.ui/icons/full/wizban/java_app_wiz.gif
deleted file mode 100644
index 8d425d5..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/wizban/java_app_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/wizban/java_attach_wiz.gif b/org.eclipse.jdt.debug.ui/icons/full/wizban/java_attach_wiz.gif
deleted file mode 100644
index 544efda..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/wizban/java_attach_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/wizban/library_wiz.gif b/org.eclipse.jdt.debug.ui/icons/full/wizban/library_wiz.gif
deleted file mode 100644
index c1bb507..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/wizban/library_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/icons/full/wizban/newsbook_wiz.gif b/org.eclipse.jdt.debug.ui/icons/full/wizban/newsbook_wiz.gif
deleted file mode 100644
index ac4e38a..0000000
--- a/org.eclipse.jdt.debug.ui/icons/full/wizban/newsbook_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/ngibmcpy2003.gif b/org.eclipse.jdt.debug.ui/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.jdt.debug.ui/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/plugin.properties b/org.eclipse.jdt.debug.ui/plugin.properties
deleted file mode 100644
index cfd06cf..0000000
--- a/org.eclipse.jdt.debug.ui/plugin.properties
+++ /dev/null
@@ -1,218 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=JDI Debug UI
-
-accessAction.label=&Access
-
-AddBreakpoint.label=Add/Remove &Breakpoint
-
-addTypeStepFilterAction.label=&Filter Type
-addTypeStepFilterAction.tooltip=Filter the selected type(s)
-addPackageStepFilterAction.label=Filter Pac&kage
-addPackageStepFilterAction.tooltip=Filter the selected package(s)
-
-breakpointPropertiesAction.label=P&roperties...
-
-caughtAction.label=&Caught
-
-debugAction.label=&Debug...
-debugAction.tooltip=Debug
-
-debugSourcePageName=Debugger Source Lookup
-
-Display.label=Displa&y
-Display.tooltip=Display Result of Evaluating Selected Text
-
-Execute.label=E&xecute
-Execute.tooltip=Evaluate the Selected Text
-
-displayViewName=Display
-
-dropFrameAction.label=&Drop to Frame
-dropFrameAction.tooltip=Drop Current Stack Frame
-
-terminateEvaluationAction.label=&Terminate Evaluation
-terminateEvaluationAction.tooltip=Terminate Current Evaluation
-
-EnableBreakpoint.label=T&oggle Breakpoint
-
-entryAction.label=Entr&y
-
-exceptionAction.label=Add Java Exception Breakpoint
-exceptionAction.accel.label=Add Java E&xception Breakpoint
-exceptionAction.tooltip=Add Java Exception Breakpoint
-
-execArgPageName=Execution Arguments
-
-exitAction.label=E&xit
-
-hitCount.label=&Hit Count
-
-Inspect.label=Insp&ect
-Inspect.tooltip=Inspect Result of Evaluating Selected Text
-
-installJREPageName=Installed JREs
-
-snippetEditorPageName=Scrapbook Runtime
-
-JavaBreakpointProperties.label=Breakpoint P&roperties...
-
-javaDebugPrefName=Debug
-
-JavaSnippetEditor.label= Scrapbook
-
-javaStepFilterPrefName=Step Filtering
-javaDetailFormattersPrefName=Detail Formatters
-
-javaVariableHoverLabel=Variable Values
-javaVariableHoverDescription=Shows the value of the selected variable when debugging.
-
-JDTDebugActionSet.label=Java Debug
-
-LauncherPropertyPage.name=Launcher
-
-ManageBreakpointAction.label=Add/Remove Brea&kpoint
-
-manageMethodBreakpointAction.label=Add/Remove &Method Breakpoint
-
-manageWatchpointAction.label=Add/Remove &Watchpoint
-
-instanceFiltersAction.label=&Instance Breakpoints...
-
-modificationAction.label=&Modification
-
-openDeclType.label=O&pen Declaring Type
-openDeclType.tooltip=Open the Declaring Type
-
-openDeclTypeHierarchy.label=Open Declaring Type &Hierarchy
-openDeclTypeHierarchy.tooltip=Open the Declaring Type's Hierarchy
-
-openDeclVarType.label=&Open Declared Type
-openDeclVarType.tooltip=Open the Variable's Declared Type
-
-openDeclVarTypeHierarchy.label=Open Declared Type &Hierarchy
-openDeclVarTypeHierarchy.tooltip=Open the Variable's Declared Type Hierarchy
-
-openConcreteVarType.label=Open Conc&rete Type
-openConcreteVarType.tooltip=Open the Variable's Concrete Implementation Type
-
-openConcreteVarTypeHierarchy.label=Open Concrete Type Hierarch&y
-openConcreteVarTypeHierarchy.tooltip=Open the Variable's Concrete Implementation Type Hierarchy
-
-openRecType.label=Open Receiving T&ype
-openRecType.tooltip=Open the Receiving Type
-
-openRecTypeHierarchy.label=Open Receiving Type Hier&archy
-openRecTypeHierarchy.tooltip=Open the Receiving Type's Hierarchy
-
-newDetailFormatter.label=Ne&w Detail Formatter
-newDetailFormatter.tooltip=Associate a Detail Formatter with this Type
-
-editDetailFormatter.label=Edit Detai&l Formatter
-editDetailFormatter.tooltip=Edit the Detail Formatter Associated with this Type
-
-runAction.label=&Run...
-runAction.tooltip=Run
-
-RunMenu.label=&Run
-
-runToLineAction.label=Run to &Line
-
-scrapbookLauncher.label=Java Scrapbook Page
-
-showQualifiedAction.label=Show &Qualified Names
-showQualifiedAction.tooltip=Show Qualified Names
-
-showStaticAction.label=Show &Static Variables
-showStaticAction.tooltip=Show Static Variables
-
-showConstantsAction.label=Show &Constants
-showConstatnsAction.tooltip=Show Static Final Variables
-
-stepIntoSelectionAction.label=Step &into Selection
-stepIntoSelectionAction.tooltip=Step into the selected method
-
-suspendPolicy.label=&Suspend VM
-
-Watch.label=Wa&tch
-
-primitiveOptionsAction.label=&Java Primitives...
-primitiveOptionsAction.tooltip=Set display options for Java primitives
-
-uncaughtAction.label=&Uncaught
-
-vmPageName=Runtime JRE
-
-JavaApplicationShortcut.label=Java Application
-
-jreSystemLibrary.name=JRE System Library
-
-JDTLaunchActionSet.label=Java Launch
-
-providerName=Eclipse.org
-
-JavaSourceLocator.name=Prompting Java Source Locator
-JavaDebugActionGroup.name=Java Debug
-
-excludeExceptionLocationAction.label=E&xclude Exception Location
-excludeExceptionLocationAction.tooltip=Excludes the Exception Location from Consideration in the Exception Breakpoint
-
-MonitorsView.name= Threads and Monitors
-MonitorTraceAction.label=&Suspend All Non-system Threads
-MonitorTraceAction.tooltip=Suspend All Non-system Threads for Selected Debug Target
-MonitorQuitAction.label=&Resume All Non-system Threads
-MonitorQuitAction.tooltip=Resume All Non-system Threads for Selected Debug Target
-DeadlockView.label=Deadlock View
-DeadlockView.tooltip=Switch to Deadlock View
-MonitorView.label=Monitor View
-MonitorView.tooltip=Switch to Monitor View
-ThreadView.label=Thread View
-ThreadView.tooltip=Switch to Thread View
-
-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 Java 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
-
-AppletShortcut.label=Java Applet
-
-ActionDefinition.localJavaShortcut.name=Run as Java Application
-ActionDefinition.localJavaShortcut.description=Attempts to run the currently selected element as a Java application
-ActionDefinition.javaAppletShortcut.name=Run as Java Applet
-ActionDefinition.javaAppletShortcut.description=Attempts to run the currently selected element as a Java applet
-ActionDefinition.manageWatchpoint.name= Add/Remove Watchpoint
-ActionDefinition.manageWatchpoint.description=Add or remove a Java watchpoint
-ActionDefinition.manageMethodBreakpoint.name= Add/Remove Method Breakpoint
-ActionDefinition.manageMethodBreakpoint.description=Add or remove a Java method breakpoint
-ActionDefinition.addException.name=Add Java Exception Breakpoint
-ActionDefinition.addException.description=Add a Java exception breakpoint
-ActionDefinition.manageBreakpoint.name= Add/Remove Breakpoint
-ActionDefinition.manageBreakpoint.description=Add or remove a Java Breakpoint
-ActionDefinition.stepIntoSelection.name=Step Into Selection
-ActionDefinition.stepIntoSelection.description=Step into the current selected statement
-ActionDefinition.runToLine.name=Run to Line
-ActionDefinition.runToLine.description=Resume and break if the execution reaches the current line
-ActionDefinition.execute.name=Execute
-ActionDefinition.execute.description=Evaluate selected text
-ActionDefinition.display.name=Display
-ActionDefinition.display.description=Display result of evaluating selected text
-ActionDefinition.inspect.name=Inspect
-ActionDefinition.inspect.description=Inspect result of evaluating selected text
-
-AddBookmark.label=Add Boo&kmark...
-AddBookmark.tooltip=Add Bookmark...
-AddTask.label=Add &Task...
-AddTask.tooltip=Add Task...
diff --git a/org.eclipse.jdt.debug.ui/plugin.xml b/org.eclipse.jdt.debug.ui/plugin.xml
deleted file mode 100644
index e3b1a31..0000000
--- a/org.eclipse.jdt.debug.ui/plugin.xml
+++ /dev/null
@@ -1,1816 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- File written by PDE 1.0 -->
-<plugin
-   id="org.eclipse.jdt.debug.ui"
-   name="%pluginName"
-   version="2.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin">
-<!-- Required plugins -->
-<requires>
-  <import plugin="org.eclipse.ui"/>
-  <import plugin="org.eclipse.core.resources"/>
-  <import plugin="org.eclipse.jdt.core"/>
-  <import plugin="org.apache.xerces"/>
-  <import plugin="org.eclipse.search"/>
-  <import plugin="org.eclipse.debug.core"/>
-  <import plugin="org.eclipse.debug.ui"/> 
-  <import plugin="org.eclipse.jdt.debug"/>
-  <import plugin="org.eclipse.jdt.launching"/>
-  <import plugin="org.eclipse.compare"/>
-  <import plugin="org.eclipse.jdt.ui"/>
-</requires>
-
-<!-- Runtime -->
-<runtime>
-   <library name="jdiui.jar">
-      <export name="*"/>
-      <packages prefixes="org.eclipse.jdt.debug.ui,org.eclipse.jdt.internal.debug.ui"/>
-   </library>
-</runtime>
-
-<!-- Extensions Points -->
-<extension-point name="%vmInstallTypePage" id="vmInstallTypePage" schema="schema/vmInstallTypePage.exsd"/>
-
-<!-- Extensions -->
-
-<extension point="org.eclipse.jdt.ui.javaEditorTextHovers">
-  <hover
-  	id="org.eclipse.jdt.internal.debug.ui.JavaDebugHover" 
-  	class="org.eclipse.jdt.internal.debug.ui.JavaDebugHover"
-  	label = "%javaVariableHoverLabel"
-  	description="%javaVariableHoverDescription"/> 
-</extension>
-<extension
-    point= "org.eclipse.ui.editors"
-    id= "org.eclipse.jdt.debug.ui.editors">
-   <editor
-      id="org.eclipse.jdt.debug.ui.SnippetEditor"
-      icon="icons/full/obj16/jsbook_obj.gif"
-      name="%JavaSnippetEditor.label"
-      extensions="jpage"
-      symbolicFontName= "org.eclipse.jdt.ui.editors.textfont"
-      class="org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor"
-      contributorClass="org.eclipse.jdt.internal.debug.ui.snippeteditor.SnippetEditorActionContributor">
-   </editor>
-</extension>
-
-<extension point="org.eclipse.ui.editorActions">
-	<editorContribution
-		id="org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions"
-		targetID="org.eclipse.jdt.ui.CompilationUnitEditor">
-		<action
-			id="org.eclipse.jdt.ui.actions.ManageBreakpointRulerAction"
-			actionID="RulerDoubleClick"
-			label="%Dummy.label"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ManageBreakpointRulerActionDelegate">
-		</action>
-	</editorContribution>	
-	<editorContribution
-		id="org.eclipse.jdt.debug.ClassFileEditor.BreakpointRulerActions"
-		targetID="org.eclipse.jdt.ui.ClassFileEditor">
-		<action
-			id="org.eclipse.jdt.ui.actions.ManageBreakpointRulerAction"
-			actionID="RulerDoubleClick"
-			label="%Dummy.label"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ManageBreakpointRulerActionDelegate">
-		</action>
-	</editorContribution>
-</extension>
-
-<extension point="org.eclipse.ui.actionSets">
-	<actionSet 
-		label="%JDTDebugActionSet.label" 
-		visible="false" 
-		id="org.eclipse.jdt.debug.ui.JDTDebugActionSet">
-	<menu
-        label="%RunMenu.label"
-        id="org.eclipse.ui.run"
-		path="additions">
-        <separator name="jdtGroup"/>
-        <separator name="breakpointGroup"/>
-     </menu>
-        <action id="org.eclipse.jdt.debug.ui.ManageWatchpointAction"
-        	definitionId="org.eclipse.jdt.debug.ui.ManageWatchpointAction"
-  			label="%manageWatchpointAction.label"
-  			icon="icons/full/obj16/readwrite_obj.gif"
-  			helpContextId="manage_watchpoint_action_context"
-  			class="org.eclipse.jdt.internal.debug.ui.actions.ManageWatchpointActionDelegate"
-  			menubarPath="org.eclipse.ui.run/breakpointGroup">
-  			<enablement>
-  				<or>
-	             	<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-            		<objectClass name="org.eclipse.jdt.core.IField"/>
-            		<objectClass name="org.eclipse.jdt.debug.core.IJavaFieldVariable"/>
-            	</or>
-            </enablement>
-        </action>
-      	<action id="org.eclipse.jdt.debug.ui.ManageMethodBreakpointAction"
-	      	definitionId="org.eclipse.jdt.debug.ui.ManageMethodBreakpointAction"
-  			label="%manageMethodBreakpointAction.label"
-  			icon="icons/full/obj16/brkpi_obj.gif"
-  			helpContextId="manage_method_breakpoint_action_context"
-  			class="org.eclipse.jdt.internal.debug.ui.actions.ManageMethodBreakpointActionDelegate"
-  			menubarPath="org.eclipse.ui.run/breakpointGroup">
-  			<enablement>
-  				<or>
-	         		<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	            	<objectClass name="org.eclipse.jdt.core.IMethod"/>
-	            </or>
-			</enablement>
-  	    </action>
-  	    <action id="org.eclipse.jdt.debug.ui.actionSet.AddException"
-  	    	definitionId="org.eclipse.jdt.debug.ui.actionSet.AddException"
-			label="%exceptionAction.accel.label"
-			icon="icons/full/clcl16/exc_catch.gif"
-			helpContextId="add_exception_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.AddExceptionAction"
-			menubarPath="org.eclipse.ui.run/breakpointGroup">
-		</action>
-      	<action id="org.eclipse.jdt.debug.ui.ManageBreakpointAction"
-      		definitionId="org.eclipse.jdt.debug.ui.ManageBreakpointAction"
-  			label="%ManageBreakpointAction.label"
-  			icon="icons/full/obj16/brkpi_obj.gif"
-  			helpContextId="manage_breakpoint_action_context"
-  			class="org.eclipse.jdt.internal.debug.ui.actions.ManageBreakpointActionDelegate"
-  			menubarPath="org.eclipse.ui.run/breakpointGroup">
-  	    </action>
-  	  	<action id="org.eclipse.jdt.debug.ui.StepIntoSelectionAction"
-  	  		definitionId="org.eclipse.jdt.debug.ui.StepIntoSelectionAction"
-  			label="%stepIntoSelectionAction.label"
-  			helpContextId="step_into_selection_action_context"
-  			class="org.eclipse.jdt.internal.debug.ui.actions.StepIntoSelectionActionDelegate"
-  			menubarPath="org.eclipse.ui.run/jdtGroup"
-  			enablesFor="*">
-  			<enablement>
-  				<and>
-  					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/>
-	  				<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-  				</and>
-            </enablement>
-  	    </action>  	    
-  	  	<action id="org.eclipse.jdt.debug.ui.RunToLineAction"
-  	  		definitionId="org.eclipse.jdt.debug.ui.RunToLineAction"
-  			label="%runToLineAction.label"
-  			icon="icons/full/elcl16/runtoline_co.gif"
-  			disabledIcon="icons/full/dlcl16/runtoline_co.gif"
-  			hoverIcon="icons/full/clcl16/runtoline_co.gif"
-  			helpContextId="run_to_line_action_context"
-  			class="org.eclipse.jdt.internal.debug.ui.actions.RunToLineActionDelegate"
-  			menubarPath="org.eclipse.ui.run/jdtGroup">
-  			<enablement>
-  				<and>
-	  				<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/>
-		  			<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	  			</and>
-            </enablement>
-  	    </action>
-  		<action id="org.eclipse.jdt.debug.ui.Execute"
-  			definitionId="org.eclipse.jdt.debug.ui.Execute"
-			label="%Execute.label" 
-			menubarPath="org.eclipse.ui.run/jdtGroup"
-			icon="icons/full/etool16/run_sbook.gif"
-			disabledIcon="icons/full/dtool16/run_sbook.gif"
-  		 	hoverIcon="icons/full/ctool16/run_sbook.gif"
-			helpContextId="execute_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction"
-			enablesFor="+">
-			<enablement> 
-             	<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-	             	<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	             </and>
-            </enablement>
-		</action>
-  		<action id="org.eclipse.jdt.debug.ui.Display"
-  			definitionId="org.eclipse.jdt.debug.ui.Display" 
-			label="%Display.label" 
-			menubarPath="org.eclipse.ui.run/jdtGroup"
-			icon="icons/full/etool16/disp_sbook.gif"
-			disabledIcon="icons/full/dtool16/disp_sbook.gif"
-  		 	hoverIcon="icons/full/ctool16/disp_sbook.gif"
-			helpContextId="display_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DisplayAction"
-			enablesFor="+">
-			<enablement>
-				<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	             </and>
-            </enablement>
-		</action>
-		<action id="org.eclipse.jdt.debug.ui.Inspect"
-			definitionId="org.eclipse.jdt.debug.ui.Inspect"
-			label="%Inspect.label" 
-			menubarPath="org.eclipse.ui.run/jdtGroup"
-			icon="icons/full/etool16/insp_sbook.gif"
-			disabledIcon="icons/full/dtool16/insp_sbook.gif"
-  		 	hoverIcon="icons/full/ctool16/insp_sbook.gif"
-			helpContextId="inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-			<enablement> 
-             	<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-					<or>
-						<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-						<objectClass name="org.eclipse.jdt.debug.core.IJavaVariable"/>
-					</or>
-	             </and>
-            </enablement>
-		</action> 
-		<action id="org.eclipse.jdt.debug.ui.Watch"
-			definitionId="org.eclipse.jdt.debug.ui.Watch"
-			label="%Watch.label" 
-			menubarPath="org.eclipse.ui.run/jdtGroup"
-			icon="icons/full/ctool16/watch_exp.gif"
-			disabledIcon="icons/full/dtool16/watch_exp.gif"
-  		 	hoverIcon="icons/full/ctool16/watch_exp.gif"
-			helpContextId="watch_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.WatchAction"
-			enablesFor="+">
-			<enablement> 
-             	<and>
-	             	<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<or>
-						<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-						<objectClass name="org.eclipse.jdt.debug.core.IJavaVariable"/>
-					</or>
-	             </and>
-            </enablement>
-		</action> 
-   </actionSet>
-</extension>
-
-<extension 
-	point="org.eclipse.ui.views">
-	<view
-		id="org.eclipse.jdt.debug.ui.DisplayView"
-		name="%displayViewName"
-		category="org.eclipse.debug.ui"
-	   	icon="icons/full/ctool16/disp_sbook.gif"
-	   	class="org.eclipse.jdt.internal.debug.ui.display.DisplayView">
-	</view>
-	<view
-      	name="%MonitorsView.name"
-		icon="icons/full/cview16/thread_and_monitor_view.gif"
-		category="org.eclipse.debug.ui"
-		class="org.eclipse.jdt.internal.debug.ui.monitors.MonitorsView"
-		id="org.eclipse.jdt.debug.ui.MonitorsView">
-	</view>
-</extension>
-
-<extension point="org.eclipse.ui.perspectiveExtensions">
-	<perspectiveExtension 
-		targetID="org.eclipse.debug.ui.DebugPerspective">
-		<actionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
-	</perspectiveExtension>
-	<perspectiveExtension 
-		targetID="org.eclipse.jdt.ui.JavaPerspective">
-		<actionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
-	</perspectiveExtension>
-	<perspectiveExtension 
-		targetID="org.eclipse.jdt.ui.JavaHierarchyPerspective">
-		<actionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
-	</perspectiveExtension>
-	<perspectiveExtension 
-		targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-		<actionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
-	</perspectiveExtension>
-    <perspectiveExtension 
-    	targetID="org.eclipse.debug.ui.DebugPerspective"> 
-    	<view id="org.eclipse.jdt.debug.ui.DisplayView" 
-        	relative="org.eclipse.debug.ui.ExpressionView" 
-    		relationship="stack"/>
-		<view id="org.eclipse.jdt.debug.ui.MonitorsView"
-			relative="org.eclipse.jdt.debug.ui.DisplayView"
-			relationship="stack"
-			visible="false"/>
-        <view id="org.eclipse.jdt.ui.PackageExplorer" 
-                relative="org.eclipse.debug.ui.DebugView" 
-                relationship="stack"
-                visible="false"/>
-        <view id="org.eclipse.jdt.ui.TypeHierarchy" 
-                relative="org.eclipse.debug.ui.DebugView" 
-                relationship="stack"
-                visible="false"/>
-         <view id="org.eclipse.search.SearchResultView" 
-                relative="org.eclipse.debug.ui.ConsoleView" 
-                relationship="stack"
-                visible="false"/> 
-    	<viewShortcut id="org.eclipse.jdt.debug.ui.DisplayView"/>
-		<viewShortcut id="org.eclipse.jdt.debug.ui.MonitorsView"/>
-     </perspectiveExtension> 
-</extension>
-
-<extension point="org.eclipse.ui.popupMenus">
-	<objectContribution
-		id="org.eclipse.jdt.debug.WatchpointToggleActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaWatchpoint">
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.AccessToggle"
-			label="%accessAction.label"
-			menubarPath="emptyBreakpointGroup"
-			state="false"
-			helpContextId="access_toggle_action_context" 
-			class="org.eclipse.jdt.internal.debug.ui.actions.AccessWatchpointToggleAction"
-			enablesFor="+">
-		</action>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.ModificationToggle"
-			label="%modificationAction.label"
-			menubarPath="emptyBreakpointGroup"
-			state="true"
-			helpContextId="modification_toggle_action_context" 
-			class="org.eclipse.jdt.internal.debug.ui.actions.ModificationWatchpointToggleAction"
-			enablesFor="+">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.MethodBreakpointToggleActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaMethodBreakpoint">
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.EntryToggle"
-			label="%entryAction.label"
-			menubarPath="emptyBreakpointGroup"
-			state="false"
-			helpContextId="entry_toggle_action_context" 
-			class="org.eclipse.jdt.internal.debug.ui.actions.EntryToggleAction"
-			enablesFor="+">
-		</action>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.ExitToggle"
-			label="%exitAction.label"
-			menubarPath="emptyBreakpointGroup"
-			state="false"
-			helpContextId="exit_toggle_action_context" 
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExitToggleAction"
-			enablesFor="+">
-		</action>		
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.JavaBreakpointActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaBreakpoint">
-		<action
-			id="org.eclipse.jdt.ui.actions.BreakpointHitCount"
-			label="%hitCount.label"
-			icon="icons/full/elcl16/sethitcount_co.gif"
-			disabledIcon="icons/full/dlcl16/sethitcount_co.gif"
-			hoverIcon="icons/full/clcl16/sethitcount_co.gif"
-			menubarPath="emptyBreakpointGroup"
-			helpContextId="hit_count_action_context" 
-			class="org.eclipse.jdt.internal.debug.ui.actions.BreakpointHitCountAction"
-			enablesFor="1">
-		</action>
-		<action
-			id="org.eclipse.jdt.ui.actions.SuspendPolicy"
-			label="%suspendPolicy.label"
-			icon="../org.eclipse.debug.ui/icons/full/clcl16/suspend_co.gif"
-			menubarPath="emptyBreakpointGroup"
-			helpContextId="breakpoint_suspend_policy_toggle_action_context" 
-			class="org.eclipse.jdt.internal.debug.ui.actions.BreakpointSuspendPolicyToggleAction"
-			enablesFor="1">
-		</action>
-		<action
-			id="org.eclipse.jdt.ui.actions.JavaBreakpointProperties"
-			label="%breakpointPropertiesAction.label"
-			menubarPath="additions"
-			helpContextId="breakpoint_properties_action_context" 
-			class="org.eclipse.jdt.internal.debug.ui.actions.JavaBreakpointPropertiesAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>	
-	<objectContribution
-		id="org.eclipse.jdt.debug.ExceptionToggleActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint">
-		<action
-			id="org.eclipse.jdt.ui.actions.CaughtToggle"
-			label="%caughtAction.label"
-			menubarPath="emptyBreakpointGroup"
-			state="true"
-			helpContextId="exception_caught_toggle_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExceptionCaughtToggleAction"
-			enablesFor="+">
-		</action>
-		<action
-			id="org.eclipse.jdt.ui.actions.UncaughtToggle"
-			label="%uncaughtAction.label"
-			menubarPath="emptyBreakpointGroup"
-			state="true"
-			helpContextId="exception_uncaught_toggle_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExceptionUncaughtToggleAction"
-			enablesFor="+">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.TerminateEvaluationActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaThread">
-		<filter name="TerminateEvaluationActionFilter" value="supportsTerminateEvaluation"/>
-		<action
-			id="org.eclipse.jdt.ui.actions.TerminateEvaluation"
-			label="%terminateEvaluationAction.label"
-			tooltip="%terminateEvaluationAction.tooltip"
-			menubarPath="emptyThreadGroup"
-			helpContextId="terminate_evaluation_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.TerminateEvaluationAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ExcludeExceptionAction"
-		objectClass="org.eclipse.jdt.debug.core.IJavaThread">
-		<filter name="ExcludeExceptionLocationFilter" value="suspendedAtException"/>
-		<action
-			id="org.eclipse.jdt.ui.actions.ExcludeExceptionLocation"
-			label="%excludeExceptionLocationAction.label"
-			tooltip="%excludeExceptionLocationAction.tooltip"
-			menubarPath="emptyThreadGroup"
-			helpContextId="exclude_exception_location_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExcludeExceptionLocationAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.DropToFrameActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaStackFrame">
-		<filter name="DropToFrameActionFilter" value="supportsDropToFrame"/>
-		<action
-			id="org.eclipse.jdt.ui.actions.DropToFrame"
-			label="%dropFrameAction.label"
-			tooltip="%dropFrameAction.tooltip"
-			menubarPath="emptyThreadGroup"
-			helpContextId="drop_to_frame_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DropToFrameAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.AddStepFilterActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaStackFrame">
-		<action
-			id="org.eclipse.jdt.ui.actions.AddPackageStepFilterAction"
-			label="%addPackageStepFilterAction.label"
-			tooltip="%addPackageStepFilterAction.tooltip"
-			menubarPath="emptyThreadGroup"
-			helpContextId="add_package_step_filter_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.AddPackageStepFilterAction"
-			enablesFor="+">
-		</action>
-		<action
-			id="org.eclipse.jdt.ui.actions.AddTypeStepFilterAction"
-			label="%addTypeStepFilterAction.label"
-			tooltip="%addTypeStepFilterAction.tooltip"
-			menubarPath="emptyThreadGroup"
-			helpContextId="add_type_step_filter_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.AddTypeStepFilterAction"
-			enablesFor="+">
-		</action>
-	</objectContribution>
-	  <objectContribution
-	objectClass="org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression"
-	id="org.eclipse.jdt.debug.ui.JavaInspectExpressionActions">
-	 <action
-	   label="%convertToWatchExpressionAction.label"
-	   helpContextId="convert_to_watch_expression_context"
-	   tooltip="%convertToWatchExpressionAction.tooltip"
-	   class="org.eclipse.jdt.internal.debug.ui.actions.ConvertToWatchExpressionAction"
-	   menubarPath="additions"
-	   enablesFor="*"
-	   id="org.eclipse.jdt.debug.ui.actions.ConvertToWatchExpression">
-	 </action>
-	  </objectContribution>
-	  <objectContribution
-	objectClass="org.eclipse.jdt.internal.debug.ui.JavaWatchExpression"
-	id="org.eclipse.jdt.debug.WatchExpressionActions">
-	 <action
-	   label="%editWatchExpressionAction.label"
-	   helpContextId="edit_watch_expression_context"
-	   tooltip="%editWatchExpressionAction.tooltip"
-	   class="org.eclipse.jdt.internal.debug.ui.actions.EditWatchExpressionAction"
-	   menubarPath="additions"
-	   enablesFor="1"
-	   id="org.eclipse.jdt.ui.watchExpressionActions.EditWatchExpression">
-	 </action>
-	  </objectContribution>
-	<objectContribution
-		objectClass="org.eclipse.jdt.internal.debug.ui.JavaWatchExpression"
-		id="org.eclipse.jdt.debug.WatchExpressionActions">
-		<filter name="ReevaluateWatchExpressionActionFilter" value="availableJavaDebugTarget"/>
-	 <action
-	   label="%reevaluateWatchExpressionAction.label"
-	   helpContextId="reevaluate_watch_expression_context"
-	   tooltip="%reevaluateWatchExpressionAction.tooltip"
-	   class="org.eclipse.jdt.internal.debug.ui.actions.ReevaluateWatchExpressionAction"
-	   menubarPath="additions"
-	   enablesFor="1"
-	   id="org.eclipse.jdt.ui.watchExpressionActions.ReevaluateWatchExpression">
-	 </action>
-	</objectContribution>
-	<viewerContribution
-		id="org.eclipse.jdt.debug.ExpressionViewPopupActions"
-		targetID="org.eclipse.debug.ui.ExpressionView">
-         <action
-               label="%addWatchExpressionAction.label"
-               icon="icons/full/ctool16/watch_exp.gif"
-               helpContextId="add_watch_expression_context"
-               tooltip="%addWatchExpressionAction.tooltip"
-               menubarPath="additions"
-               class="org.eclipse.jdt.internal.debug.ui.actions.AddWatchExpressionAction"
-               id="org.eclipse.jdt.ui.expressionViewActions.AddWatchExpression">
-         </action>
-	</viewerContribution>
-	<viewerContribution
-		id="org.eclipse.jdt.debug.DetailsEvaluationActions"
-		targetID="org.eclipse.debug.ui.VariableView.detail">
-		<visibility>
-			<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-		</visibility>
-		<action id="org.eclipse.jdt.debug.ui.variablesViewDetail.Execute" 
-			label="%Execute.label" 
-			menubarPath="variableGroup" 
-			icon="icons/full/ctool16/run_sbook.gif"
-			helpContextId="execute_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/>
-		</action> 	
-		<action id="org.eclipse.jdt.debug.ui.variablesViewDetail.Display" 
-			label="%Display.label" 
-			menubarPath="variableGroup" 
-			icon="icons/full/ctool16/disp_sbook.gif"
-			helpContextId="display_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DisplayAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/>
-		</action> 	
-        <action id="org.eclipse.jdt.debug.ui.variablesViewDetail.Inspect" 
-			label="%Inspect.label" 
-			menubarPath="variableGroup" 
-			icon="icons/full/ctool16/insp_sbook.gif" 
-			helpContextId="inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/> 
-		</action>
-	</viewerContribution>
-	<viewerContribution
-		id="org.eclipse.jdt.debug.DisplayEvaluationActions"
-		targetID="org.eclipse.jdt.debug.ui.DisplayView">
-		<visibility>
-			<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-		</visibility>
-		<action id="org.eclipse.jdt.debug.ui.displayView.Execute" 
-			label="%Execute.label" 
-			menubarPath="evaluationGroup"
-			icon="icons/full/ctool16/run_sbook.gif" 
-			helpContextId="execute_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction"
-			enablesFor="+">
-			<enablement>
-				<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	             </and>
-            </enablement>			
-		</action>
-		<action id="org.eclipse.jdt.debug.ui.displayView.Display" 
-			label="%Display.label" 
-			menubarPath="evaluationGroup"
-			icon="icons/full/ctool16/disp_sbook.gif" 
-			helpContextId="display_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DisplayAction"
-			enablesFor="+">
-			<enablement>
-				<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	             </and>
-            </enablement>
-		</action>
-		<action id="org.eclipse.jdt.debug.ui.displayView.Inspect" 
-			label="%Inspect.label" 
-			menubarPath="evaluationGroup"
-			icon="icons/full/ctool16/insp_sbook.gif"
-			helpContextId="inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-			<enablement>
-				<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	             </and>
-            </enablement>
-		</action> 
-	</viewerContribution>
-	<viewerContribution
-            targetID="org.eclipse.jdt.debug.ui.MonitorsView"
-            id="org.eclipse.jdt.debug.MonitorsViewPopupActions">
-         <action
-               id="org.eclipse.jdt.ui.actions.MonitorTraceAction"
-               class="org.eclipse.jdt.internal.debug.ui.monitors.MonitorTraceAction"
-               icon="../org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif"
-               disabledIcon="../org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif"
-			   hoverIcon="../org.eclipse.debug.ui/icons/full/clcl16/suspend_co.gif"             
-               helpContextId="monitor_trace_action_context"
-               label="%MonitorTraceAction.label"
-               menubarPath="vmGroup"
-               tooltip="%MonitorTraceAction.tooltip">
-         </action>
-        <action
-               id="org.eclipse.jdt.ui.actions.MonitorQuitAction"
-               class="org.eclipse.jdt.internal.debug.ui.monitors.MonitorQuitAction"
-               icon="../org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif"
-               hoverIcon="../org.eclipse.debug.ui/icons/full/clcl16/resume_co.gif"
-               disabledIcon="../org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif"            
-               helpContextId="monitor_quit_action_context"
-               label="%MonitorQuitAction.label"
-               menubarPath="vmGroup"
-               tooltip="%MonitorQuitAction.tooltip">
-         </action>
-      </viewerContribution>
-</extension>
-
-<extension point="org.eclipse.ui.viewActions">
-	<viewContribution
-		id="org.eclipse.jdt.ui.debug.VariableViewActions"
-		targetID="org.eclipse.debug.ui.VariableView">
-		<action id="org.eclipse.jdt.ui.variableViewActions.PrimitiveOptions"
-			label="%primitiveOptionsAction.label"
-			menubarPath="javaActions"
-			tooltip="%primitiveOptionsAction.tooltip"
-			helpContextId="primitive_options_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.PrimitiveOptionsAction">
-		</action>		
-		<action id="org.eclipse.jdt.ui.variableViewActions.ShowQualified"
-			label="%showQualifiedAction.label"
-			menubarPath="javaActions"
-			icon="../org.eclipse.jdt.ui/icons/full/obj16/package_obj.gif"
-			tooltip="%showQualifiedAction.tooltip"
-			helpContextId="show_qualified_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ShowQualifiedAction"
-			style="toggle"
-			state="false">
-		</action>
-		<action id="org.eclipse.jdt.ui.variableViewActions.ShowStatic"
-			label="%showStaticAction.label"
-			menubarPath="javaActions"
-			icon="icons/full/clcl16/static_co.gif"
-			tooltip="%showStaticAction.tooltip"
-			helpContextId="show_static_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ShowStaticVariablesAction"
-			style="toggle"
-			state="false">
-		</action>		
-		<action id="org.eclipse.jdt.ui.variableViewActions.ShowConstants"
-			label="%showConstantsAction.label"
-			menubarPath="javaActions"
-			icon="icons/full/clcl16/constant_co.gif"
-			tooltip="%showConstantsAction.tooltip"
-			helpContextId="show_constants_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ShowConstantsAction"
-			style="toggle"
-			state="false">
-		</action>		
-	</viewContribution>
-	<viewContribution
-		id="org.eclipse.jdt.ui.debug.ExpressionViewActions"
-		targetID="org.eclipse.debug.ui.ExpressionView">
-		<action id="org.eclipse.jdt.ui.expressionViewActions.PrimitiveOptions"
-			label="%primitiveOptionsAction.label"
-			menubarPath="javaActions"
-			tooltip="%primitiveOptionsAction.tooltip"
-			helpContextId="primitive_options_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.PrimitiveOptionsAction">
-		</action>		
-		<action id="org.eclipse.jdt.ui.expressionViewActions.ShowQualified"
-			label="%showQualifiedAction.label"
-			menubarPath="javaActions"
-			icon="../org.eclipse.jdt.ui/icons/full/obj16/package_obj.gif"
-			tooltip="%showQualifiedAction.tooltip"
-			helpContextId="show_qualified_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ShowQualifiedAction"
-			style="toggle"
-			state="false">
-		</action>
-		<action id="org.eclipse.jdt.ui.expressionViewActions.ShowStatic"
-			label="%showStaticAction.label"
-			menubarPath="javaActions"
-			icon="icons/full/clcl16/static_co.gif"
-			tooltip="%showStaticAction.tooltip"
-			helpContextId="show_static_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ShowStaticVariablesAction"
-			style="toggle"
-			state="false">
-		</action>		
-		<action id="org.eclipse.jdt.ui.expressionViewActions.ShowConstants"
-			label="%showConstantsAction.label"
-			menubarPath="javaActions"
-			icon="icons/full/clcl16/constant_co.gif"
-			tooltip="%showConstantsAction.tooltip"
-			helpContextId="show_constants_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ShowConstantsAction"
-			style="toggle"
-			state="false">
-		</action>		
-	</viewContribution>	
-	<viewContribution
-		id="org.eclipse.jdt.debug.ui.BreakpointViewActions"
-		targetID="org.eclipse.debug.ui.BreakpointView">
-		<action id="org.eclipse.jdt.debug.ui.actions.AddException"
-			label="%exceptionAction.label"
-			toolbarPath="javaExceptions"
-			icon="icons/full/elcl16/exc_catch.gif"
-			disabledIcon="icons/full/dlcl16/exc_catch.gif"
-			hoverIcon="icons/full/clcl16/exc_catch.gif"
-			tooltip="%exceptionAction.tooltip"
-			helpContextId="add_exception_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.AddExceptionAction">
-		</action>
-			<action id="org.eclipse.jdt.ui.breakpointViewActions.ShowQualified"
-			label="%showQualifiedAction.label"
-			menubarPath="javaActions"
-			icon="../org.eclipse.jdt.ui/icons/full/obj16/package_obj.gif"
-			tooltip="%showQualifiedAction.tooltip"
-			helpContextId="show_qualified_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ShowQualifiedAction"
-			style="toggle"
-			state="false">
-		</action>
-	</viewContribution>
-	<viewContribution
-		id="org.eclipse.jdt.debug.ui.LaunchViewActions"
-		targetID="org.eclipse.debug.ui.DebugView">
-			<action id="org.eclipse.jdt.ui.launchViewActions.ShowQualified"
-			label="%showQualifiedAction.label"
-			menubarPath="javaActions"
-			icon="../org.eclipse.jdt.ui/icons/full/obj16/package_obj.gif"
-			tooltip="%showQualifiedAction.tooltip"
-			helpContextId="show_qualified_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ShowQualifiedAction"
-			style="toggle"
-			state="false">
-		</action>
-	</viewContribution>
-	<viewContribution
-		id="org.eclipse.jdt.debug.ui.DisplayViewActions"
-		targetID="org.eclipse.jdt.debug.ui.DisplayView">
-		<action id="org.eclipse.jdt.debug.ui.displayViewToolbar.Execute" 
-			label="%Execute.label" 
-			tooltip="%Execute.tooltip"
-			toolbarPath="evaluationGroup"
-			icon="icons/full/etool16/run_sbook.gif"
-			disabledIcon="icons/full/dtool16/run_sbook.gif"
-  		 	hoverIcon="icons/full/ctool16/run_sbook.gif"
-			helpContextId="execute_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction"
-			enablesFor="+">
-			<enablement>
-				<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	             </and>
-            </enablement>
-		</action>
-		<action id="org.eclipse.jdt.debug.ui.displayViewToolbar.Display" 
-			label="%Display.label" 
-			tooltip="%Display.tooltip"
-			toolbarPath="evaluationGroup"
-			icon="icons/full/etool16/disp_sbook.gif"
-			disabledIcon="icons/full/dtool16/disp_sbook.gif"
-			hoverIcon="icons/full/ctool16/disp_sbook.gif"
-			helpContextId="display_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DisplayAction"
-			enablesFor="+">
-			<enablement>
-				<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	             </and>
-            </enablement>
-		</action>
-		<action id="org.eclipse.jdt.debug.ui.displayViewToolbar.Inspect" 
-			label="%Inspect.label" 
-			tooltip="%Inspect.tooltip"
-			toolbarPath="evaluationGroup"
-			icon="icons/full/etool16/insp_sbook.gif"
-			disabledIcon="icons/full/dtool16/insp_sbook.gif"
-			hoverIcon="icons/full/ctool16/insp_sbook.gif"
-			helpContextId="inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-			<enablement>
-				<and>
-					<or>
-						<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-						<systemProperty name="org.eclipse.jdt.debug.ui.scrapbookActive" value="true"/>
-					</or>
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-	             </and>
-            </enablement>
-		</action> 
-	</viewContribution>
-
-	   <viewContribution
-            targetID="org.eclipse.jdt.debug.ui.MonitorsView"
-            id="org.eclipse.jdt.debug.MonitorsActions">
-         <action
-               id="org.eclipse.jdt.ui.actions.MonitorTraceAction"
-               toolbarPath="vmGroup"
-               class="org.eclipse.jdt.internal.debug.ui.monitors.MonitorTraceAction"
-               icon="../org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif"
-               disabledIcon="../org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif"
-               hoverIcon="../org.eclipse.debug.ui/icons/full/clcl16/suspend_co.gif"             
-               helpContextId="monitor_trace_action_context"
-               label="%MonitorTraceAction.label"
-               tooltip="%MonitorTraceAction.tooltip">
-         </action>
-         <action
-               id="org.eclipse.jdt.ui.actions.MonitorQuitAction"
-               toolbarPath="vmGroup"
-               class="org.eclipse.jdt.internal.debug.ui.monitors.MonitorQuitAction"
-               icon="../org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif"
-               hoverIcon="../org.eclipse.debug.ui/icons/full/clcl16/resume_co.gif"
-               disabledIcon="../org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif"                           
-               helpContextId="monitor_quit_action_context"
-               label="%MonitorQuitAction.label"
-               tooltip="%MonitorQuitAction.tooltip">
-         </action>
-         <action
-               label="%DeadlockView.label"
-               icon="icons/full/elcl16/deadlock_view.gif"
-               disabledIcon="icons/full/dlcl16/deadlock_view.gif"
-               hoverIcon="icons/full/clcl16/deadlock_view.gif"
-               helpContextId="deadlock_view_action_context"
-               tooltip="%DeadlockView.tooltip"
-               class="org.eclipse.jdt.internal.debug.ui.monitors.ToggleDeadLocksViewAction"
-               state="false"
-               toolbarPath="vmGroup"
-               id="org.eclipse.jdt.ui.actions.DeadlockView">
-         </action>
-         <action
-               label="%ThreadView.label"
-               icon="icons/full/elcl16/thread_view.gif"
-               disabledIcon="icons/full/dlcl16/thread_view.gif"
-   			   hoverIcon="icons/full/clcl16/thread_view.gif"
-               helpContextId="thread_view_action_context"
-               tooltip="%ThreadView.tooltip"
-               class="org.eclipse.jdt.internal.debug.ui.monitors.ToggleThreadsViewAction"
-               toolbarPath="vmGroup"
-               state="false"
-               id="org.eclipse.jdt.ui.actions.ThreadView">
-         </action>
-         <action
-               label="%MonitorView.label"
-               icon="icons/full/elcl16/monitor_view.gif"
-               disabledIcon="icons/full/dlcl16/monitor_view.gif"
-               hoverIcon="icons/full/clcl16/monitor_view.gif"
-               helpContextId="monitor_view_action_context"
-               tooltip="%MonitorView.tooltip"
-               class="org.eclipse.jdt.internal.debug.ui.monitors.ToggleMonitorsViewAction"
-               state="true"
-               toolbarPath="vmGroup"
-               id="org.eclipse.jdt.ui.actions.MonitorView">
-         </action>
-      </viewContribution> 
-</extension>
-
-<!--Java debug model presentation -->
-<extension point = "org.eclipse.debug.ui.debugModelPresentations"> 
-         <debugModelPresentation
-             class = "org.eclipse.jdt.internal.debug.ui.JDIModelPresentation"
-             id = "org.eclipse.jdt.debug"
-             detailsViewerConfiguration = "org.eclipse.jdt.internal.debug.ui.display.DetailsViewerConfiguration">
-          </debugModelPresentation> 
-</extension>
-
-<extension point="org.eclipse.ui.popupMenus">
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.ReceivingStackFrameActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaStackFrame">
-		<filter name="ReceivingStackFrameActionFilter" value="isReceivingType"/>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.OpenReceivingTypeHierarchy"
-			label="%openRecTypeHierarchy.label"
-			tooltip="%openRecTypeHierarchy.tooltip"
-			menubarPath="emptyEditGroup"
-			helpContextId="open_receiving_type_hierarchy_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.OpenReceivingTypeHierarchyAction"
-			enablesFor="1">
-		</action>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.OpenReceivingType"
-			label="%openRecType.label"
-			tooltip="%openRecType.tooltip"
-			menubarPath="emptyEditGroup"
-			helpContextId="open_on_receiving_type_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.OpenReceivingTypeAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.DeclaringStackFrameActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaStackFrame">
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.OpenDeclaringTypeHierarchy"
-			label="%openDeclTypeHierarchy.label"
-			tooltip="%openDeclTypeHierarchy.tooltip"
-			menubarPath="emptyEditGroup"
-			helpContextId="open_declaring_type_hierarchy_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.OpenDeclaringTypeHierarchyAction"
-			enablesFor="1">
-		</action>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.OpenDeclaringType"
-			label="%openDeclType.label"
-			tooltip="%openDeclType.tooltip"
-			menubarPath="emptyEditGroup"
-			helpContextId="open_on_declaring_type_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.OpenDeclaringTypeAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.FilteredJavaVariableActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaVariable">
-		<filter name="PrimitiveVariableActionFilter" value="isPrimitive"/>
-		<filter name="ConcreteVariableActionFilter" value="isConcrete"/>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.OpenVariableConcreteTypeHierarchy"
-			label="%openConcreteVarTypeHierarchy.label"
-			tooltip="%openConcreteVarTypeHierarchy.tooltip"
-			menubarPath="emptyNavigationGroup"
-			helpContextId="open_variable_concrete_type_hierarchy_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.OpenVariableConcreteTypeHierarchyAction"
-			enablesFor="1">
-		</action>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.OpenVariableConcreteType"
-			label="%openConcreteVarType.label"
-			tooltip="%openConcreteVarType.tooltip"
-			menubarPath="emptyNavigationGroup"
-			helpContextId="open_variable_concrete_type_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.OpenVariableConcreteTypeAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.FilteredJavaVariableActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaVariable">
-		<filter name="PrimitiveVariableActionFilter" value="isPrimitive"/>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.OpenVariableDeclaredTypeHierarchy"
-			label="%openDeclVarTypeHierarchy.label"
-			tooltip="%openDeclVarTypeHierarchy.tooltip"
-			menubarPath="emptyNavigationGroup"
-			helpContextId="open_variable_declared_type_hierarchy_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.OpenVariableDeclaredTypeHierarchyAction"
-			enablesFor="1">
-		</action>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.OpenVariableDeclaredType"
-			label="%openDeclVarType.label"
-			tooltip="%openDeclVarType.tooltip"
-			menubarPath="emptyNavigationGroup"
-			helpContextId="open_on_variable_type_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.OpenVariableDeclaredTypeAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.FilteredJavaVariableActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaVariable">
-		<visibility>
-			<and>
-				<objectState name="PrimitiveVariableActionFilter" value="isValuePrimitive"/>
-				<not>
-					<objectState name="DetailFormatterFilter" value="isDefined"/>
-				</not>
-			</and>
-		</visibility>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.NewDetailFormatter"
-			label="%newDetailFormatter.label"
-			tooltip="%newDetailFormatter.tooltip"
-			menubarPath="emptyNavigationGroup"
-			helpContextId="new_detail_formatter_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.NewDetailFormatterAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.FilteredJavaVariableActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaVariable">
-		<filter name="PrimitiveVariableActionFilter" value="isValuePrimitive"/>
-		<filter name="DetailFormatterFilter" value="isDefined"/>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.EditDetailFormatter"
-			label="%editDetailFormatter.label"
-			tooltip="%editDetailFormatter.tooltip"
-			menubarPath="emptyNavigationGroup"
-			helpContextId="edit_detail_formatter_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.EditDetailFormatterAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.FilteredJavaInspectExpressionActions"
-		objectClass="org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression">
-		<visibility>
-			<and>
-				<objectState name="PrimitiveVariableActionFilter" value="isNotPrimitive"/>
-				<not>
-					<objectState name="DetailFormatterFilter" value="isDefined"/>
-				</not>
-			</and>
-		</visibility>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.NewDetailFormatter"
-			label="%newDetailFormatter.label"
-			tooltip="%newDetailFormatter.tooltip"
-			menubarPath="emptyNavigationGroup"
-			helpContextId="new_detail_formatter_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.NewDetailFormatterAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.FilteredJavaInspectExpressionActions"
-		objectClass="org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression">
-		<filter name="PrimitiveVariableActionFilter" value="isNotPrimitive"/>
-		<filter name="DetailFormatterFilter" value="isDefined"/>
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.EditDetailFormatter"
-			label="%editDetailFormatter.label"
-			tooltip="%editDetailFormatter.tooltip"
-			menubarPath="emptyNavigationGroup"
-			helpContextId="edit_detail_formatter_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.EditDetailFormatterAction"
-			enablesFor="1">
-		</action>
-	</objectContribution>
-	<objectContribution
-		id="org.eclipse.jdt.debug.ui.JavaVariableActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaVariable">
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.VariableInspectAction"
-			label="%Inspect.label"
-			menubarPath="openOnGroup"
-			icon="icons/full/ctool16/insp_sbook.gif"
-			helpContextId="variable_inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-		</action>		
-		<action
-			id="org.eclipse.jdt.debug.ui.actions.WatchAction"
-			label="%Watch.label"
-			menubarPath="openOnGroup"
-			icon="icons/full/ctool16/watch_exp.gif"
-			helpContextId="variable_watch_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.WatchAction"
-			enablesFor="+">
-		</action>		
-	</objectContribution>	
-	<viewerContribution 
-    	id="org.eclipse.jdt.debug.ui.JavaSnippetPopupActions" 
-    	targetID="#JavaSnippetEditorContext">
-    	<action id="org.eclipse.jdt.debug.ui.Execute" 
-			label="%Execute.label" 
-			menubarPath="additions" 
-			icon="icons/full/ctool16/run_sbook.gif"
-			helpContextId="execute_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/>
-		</action> 	
-    	<action id="org.eclipse.jdt.debug.ui.Display" 
-			label="%Display.label" 
-			menubarPath="additions" 
-			icon="icons/full/ctool16/disp_sbook.gif"
-			helpContextId="display_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DisplayAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/>
-		</action> 	
-        <action id="org.eclipse.jdt.debug.ui.Inspect" 
-			label="%Inspect.label" 
-			menubarPath="additions" 
-			icon="icons/full/ctool16/insp_sbook.gif" 
-			helpContextId="inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/>
-		</action>
-     </viewerContribution>
-	<viewerContribution 
-    	id="org.eclipse.jdt.debug.ui.ClassFileRulerPopupActions" 
-    	targetID="#ClassFileRulerContext">
-    	<action
-			id="org.eclipse.jdt.ui.actions.JavaBreakpointPropertiesRulerActionDelegate"
-			label="%JavaBreakpointProperties.label"
-			menubarPath="debug"
-			helpContextId="breakpoint_properties_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.JavaBreakpointPropertiesRulerActionDelegate">
-		</action>
-    	<action
-			id="org.eclipse.jdt.ui.actions.EnableDisableBreakpointRulerActionDelegate"
-			label="%EnableBreakpoint.label"
-			menubarPath="debug"
-			helpContextId="enable_disable_breakpoint_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.EnableDisableBreakpointRulerActionDelegate">
-		</action>
-		<action
-			id="org.eclipse.jdt.ui.actions.ManageBreakpointRulerActionDelegate"
-			label="%AddBreakpoint.label"
-			menubarPath="debug"
-			helpContextId="manage_breakpoint_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ManageBreakpointRulerActionDelegate">
-		</action>
-	</viewerContribution>
-	<viewerContribution 
-    	id="org.eclipse.jdt.debug.ui.CompilationUnitRulerPopupActions" 
-    	targetID="#CompilationUnitRulerContext">
-    	<action
-			id="org.eclipse.jdt.ui.actions.JavaBreakpointPropertiesRulerActionDelegate"
-			label="%JavaBreakpointProperties.label"
-			menubarPath="debug"
-			helpContextId="breakpoint_properties_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.JavaBreakpointPropertiesRulerActionDelegate">
-		</action>
-		<action
-			id="org.eclipse.jdt.ui.actions.EnableDisableBreakpointRulerActionDelegate"
-			label="%EnableBreakpoint.label"
-			menubarPath="debug"
-			helpContextId="enable_disable_breakpoint_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.EnableDisableBreakpointRulerActionDelegate">
-		</action>
-		<action
-			id="org.eclipse.jdt.ui.actions.ManageBreakpointRulerActionDelegate"
-			label="%AddBreakpoint.label"
-			menubarPath="debug"
-			helpContextId="manage_breakpoint_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ManageBreakpointRulerActionDelegate">
-		</action>
-	</viewerContribution>	
-	<viewerContribution 
-    	id="org.eclipse.jdt.debug.ui.CUPopupActions" 
-    	targetID="#CompilationUnitEditorContext">
-    	<visibility>
-  			<and>
-				<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-				<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-			</and>
-		</visibility>
-    	<action id="org.eclipse.jdt.debug.ui.cuPopup.StepIntoSelection"
-    		label="%stepIntoSelectionAction.label"
-    		menubarPath="additions"
-    		helpContextId="step_into_selection_action_context"
-    		class="org.eclipse.jdt.internal.debug.ui.actions.StepIntoSelectionActionDelegate"
-    		enablesFor="*">
-    		<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action>
-    	<action id="org.eclipse.jdt.debug.ui.cuPopup.RunToLine"
-    		label="%runToLineAction.label"
-    		icon="icons/full/clcl16/runtoline_co.gif"
-    		menubarPath="additions"
-    		helpContextId="run_to_line_action_context"
-    		class="org.eclipse.jdt.internal.debug.ui.actions.RunToLineActionDelegate">
-    		<enablement>
-    		<and>
-				<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/>
-				<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-			</and>
-			</enablement>
-		</action>
-    	<action id="org.eclipse.jdt.debug.ui.cuPopup.Execute" 
-			label="%Execute.label" 
-			menubarPath="additions" 
-			icon="icons/full/ctool16/run_sbook.gif"
-			helpContextId="execute_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction"
-			enablesFor="+">
-			<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action> 	
-    	<action id="org.eclipse.jdt.debug.ui.cuPopup.Display" 
-			label="%Display.label" 
-			menubarPath="additions" 
-			icon="icons/full/ctool16/disp_sbook.gif"
-			helpContextId="display_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DisplayAction"
-			enablesFor="+">
-			<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action> 	
-        <action id="org.eclipse.jdt.debug.ui.cuPopup.Inspect" 
-			label="%Inspect.label" 
-			menubarPath="additions" 
-			icon="icons/full/ctool16/insp_sbook.gif"
-			helpContextId="inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-			<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action>
-        <action id="org.eclipse.jdt.debug.ui.cuPopup.Watch" 
-			label="%Watch.label" 
-			menubarPath="additions" 
-			icon="icons/full/ctool16/watch_exp.gif"
-			helpContextId="watch_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.WatchAction"
-			enablesFor="+">
-			<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action>
-     </viewerContribution>
-     <viewerContribution 
-    	id="org.eclipse.jdt.debug.ui.CFPopupActions" 
-    	targetID="#ClassFileEditorContext">
-    	<visibility>
-  			<and>
-				<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-				<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-			</and>
-		</visibility>
-    	<action id="org.eclipse.jdt.debug.ui.cfPopup.StepIntoSelection"
-    		label="%stepIntoSelectionAction.label"
-    		menubarPath="additions"
-    		helpContextId="step_into_selection_action_context"
-    		class="org.eclipse.jdt.internal.debug.ui.actions.StepIntoSelectionActionDelegate"
-    		enablesFor="*">
-    		<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action>    	
-    	<action id="org.eclipse.jdt.debug.ui.cfPopup.RunToLine"
- 		   	icon="icons/full/clcl16/runtoline_co.gif"
-    		label="%runToLineAction.label"
-    		menubarPath="additions"
-     		helpContextId="run_to_line_action_context"
-    		class="org.eclipse.jdt.internal.debug.ui.actions.RunToLineActionDelegate">
-    		<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action> 
-    	<action id="org.eclipse.jdt.debug.ui.cfPopup.Execute" 
-			label="%Execute.label" 
-			menubarPath="additions"
-			icon="icons/full/ctool16/run_sbook.gif"
-			helpContextId="execute_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction"
-			enablesFor="+">
-			<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action> 	
-    	<action id="org.eclipse.jdt.debug.ui.cfPopup.Display" 
-			label="%Display.label" 
-			menubarPath="additions"
-			icon="icons/full/ctool16/disp_sbook.gif"
-			helpContextId="display_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DisplayAction"
-			enablesFor="+">
-			<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action> 	
-        <action id="org.eclipse.jdt.debug.ui.cfPopup.Inspect" 
-			label="%Inspect.label" 
-			menubarPath="additions"
-			icon="icons/full/ctool16/insp_sbook.gif"
-			helpContextId="inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-			<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action>
-        <action id="org.eclipse.jdt.debug.ui.cfPopup.Watch" 
-			label="%Watch.label" 
-			menubarPath="additions" 
-			icon="icons/full/ctool16/watch_exp.gif"
-			helpContextId="watch_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.WatchAction"
-			enablesFor="+">
-			<enablement>
-	  			<and>
-					<systemProperty name="org.eclipse.jdt.debug.ui.debuggerActive" value="true"/> 
-					<objectClass name="org.eclipse.jface.text.ITextSelection"/>
-				</and>
-			</enablement>
-		</action>
-     </viewerContribution>
-     <objectContribution 
-     	id="org.eclipse.jdt.debug.ui.MethodBreakpointActions"
-     	objectClass="org.eclipse.jdt.core.IMethod">
-     	<filter name="MethodActionFilter" value="isNotAbstract"/>
-		<action id="org.eclipse.jdt.debug.ui.MethodBreakpoint"
-		 	label="%manageMethodBreakpointAction.label"
-		 	helpContextId="manage_method_breakpoint_action_context"
-		 	menubarPath="additions"
-		 	class="org.eclipse.jdt.internal.debug.ui.actions.ManageMethodBreakpointActionDelegate"
-		 	enablesFor="1">
-	  </action>
-  	</objectContribution>
-	<objectContribution 
-		id="org.eclipse.jdt.debug.ui.WatchpointActions"
-		objectClass="org.eclipse.jdt.core.IField">
-  		<action id="org.eclipse.jdt.debug.ui.Watchpoint"
-  			label="%manageWatchpointAction.label"
-  			helpContextId="manage_watchpoint_action_context"
-  			menubarPath="additions"
-  			class="org.eclipse.jdt.internal.debug.ui.actions.ManageWatchpointActionDelegate"
-  			enablesFor="1">
-  		</action> 
-    </objectContribution>
-	<objectContribution 
-		id="org.eclipse.jdt.debug.ui.InstanceFiltersActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaVariable">
-		<filter name="JavaVariableActionFilter" value="instanceFilter"/>
-  		<action id="org.eclipse.jdt.debug.ui.InstanceFilterAction"
-  			label="%instanceFiltersAction.label"
-  			helpContextId="instance_filters_action_context"
-  			menubarPath="additions"
-  			class="org.eclipse.jdt.internal.debug.ui.actions.InstanceFiltersAction"
-  			enablesFor="1">
-  		</action> 
-    </objectContribution>    
-  	<objectContribution 
-		id="org.eclipse.jdt.debug.ui.WatchpointActions"
-		objectClass="org.eclipse.jdt.debug.core.IJavaFieldVariable">
-  		<action id="org.eclipse.jdt.debug.ui.VariableWatchpoint"
-  			label="%manageWatchpointAction.label"
-  			helpContextId="manage_watchpoint_action_context"
-  			menubarPath="additions"
-  			class="org.eclipse.jdt.internal.debug.ui.actions.ManageWatchpointActionDelegate"
-  			enablesFor="1">
-  		</action> 
-    </objectContribution>
-    <viewerContribution
-		targetID="#JavaSnippetRulerContext"
-        id="org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetRulerContext">
-		<action
-			label="%AddTask.label"
-			helpContextId="org.eclipse.ui.AddTask_action_context"
-			tooltip="%AddTask.tooltip"
-			class="org.eclipse.ui.texteditor.TaskRulerAction"
-			menubarPath="additions"
-			id="org.eclipse.ui.texteditor.TaskRulerAction">
-		</action>
-		<action
-			label="%AddBookmark.label"
-			helpContextId="org.eclipse.ui.bookmark_action_context"
-			tooltip="%AddBookmark.tooltip"
-			class="org.eclipse.ui.texteditor.BookmarkRulerAction"
-			menubarPath="additions"
-			id="org.eclipse.ui.texteditor.BookmarkRulerAction">
-		</action>
-	</viewerContribution>
-</extension>
-
-<extension point="org.eclipse.ui.editorActions"> 
-      <editorContribution 
-         id="org.eclipse.jdt.debug.ui.JavaSnippetToolbarActions" 
-         targetID="org.eclipse.jdt.debug.ui.SnippetEditor"> 
-         <action id="org.eclipse.jdt.debug.ui.SnippetExecute" 
-			label="%Execute.label"
-			tooltip="%Execute.tooltip"
-			toolbarPath="evaluationGroup" 
-			icon="icons/full/etool16/run_sbook.gif"
-			disabledIcon="icons/full/dtool16/run_sbook.gif"
-			hoverIcon="icons/full/ctool16/run_sbook.gif"
-			helpContextId="execute_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.ExecuteAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/> 
-		</action> 	
-        <action id="org.eclipse.jdt.debug.ui.SnippetDisplay" 
-			label="%Display.label"
-			tooltip="%Display.tooltip"
-			toolbarPath="evaluationGroup" 
-			icon="icons/full/etool16/disp_sbook.gif"
-			disabledIcon="icons/full/dtool16/disp_sbook.gif"
-			hoverIcon="icons/full/ctool16/disp_sbook.gif"
-			helpContextId="display_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.DisplayAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/>
-		</action> 	
-        <action id="org.eclipse.jdt.debug.ui.SnippetInspect" 
-			label="%Inspect.label" 
-			tooltip="%Inspect.tooltip"
-			toolbarPath="evaluationGroup" 
-			icon="icons/full/etool16/insp_sbook.gif"
-			disabledIcon="icons/full/dtool16/insp_sbook.gif"
-			hoverIcon="icons/full/ctool16/insp_sbook.gif"
-			helpContextId="inspect_action_context"
-			class="org.eclipse.jdt.internal.debug.ui.actions.InspectAction"
-			enablesFor="+">
-			<selection class="org.eclipse.jface.text.ITextSelection"/>
-		</action>
-      </editorContribution> 
-   </extension> 
-
-<extension
-	point="org.eclipse.ui.propertyPages">
-	<page
-		id="org.eclipse.jdt.debug.ui.snippeteditor.SnippetEditorPage" 
-		name="%snippetEditorPageName"
-		objectClass="org.eclipse.core.resources.IFile"
-		class="org.eclipse.jdt.internal.debug.ui.snippeteditor.SnippetEditorPropertyPage"
-		nameFilter="*.jpage"> 
-    </page>    
-</extension>
-
-<extension point = "org.eclipse.ui.preferencePages">
-	<page
-		id = "org.eclipse.jdt.debug.ui.preferences.VMPreferencePage"
-		class="org.eclipse.jdt.internal.debug.ui.launcher.VMPreferencePage"
-		name= "%installJREPageName"
-		category= "org.eclipse.jdt.ui.preferences.JavaBasePreferencePage">
-	</page>
-	<page name="%javaDebugPrefName"
-         id="org.eclipse.jdt.ui.JavaDebugPreferencePage"   
-	     class="org.eclipse.jdt.internal.debug.ui.JavaDebugPreferencePage"
-         category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage">
-	</page>
-	<page name="%javaStepFilterPrefName"
-         id="org.eclipse.jdt.ui.JavaStepFilterPreferencePage"   
-         class="org.eclipse.jdt.internal.debug.ui.JavaStepFilterPreferencePage"
-         category="org.eclipse.jdt.ui.JavaDebugPreferencePage">
-	</page>
-	<page name="%javaDetailFormattersPrefName"
-         id="org.eclipse.jdt.ui.JavaDetailFormattersPreferencePage"
-         class="org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersPreferencePage"
-         category="org.eclipse.jdt.ui.JavaDebugPreferencePage">
-	</page>
-</extension>
-
-<extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-	<launchConfigurationTypeImage
-		id="org.eclipse.jdt.debug.ui.launchConfigurationTypeImage.localJavaApplication"
-		configTypeID="org.eclipse.jdt.launching.localJavaApplication"
-		icon="icons/full/ctool16/java_app.gif">
-	</launchConfigurationTypeImage>	
-	<launchConfigurationTypeImage
-		id="org.eclipse.jdt.debug.ui.launchConfigurationTypeImage.remoteJavaApplication"
-		configTypeID="org.eclipse.jdt.launching.remoteJavaApplication"
-		icon="icons/full/ctool16/java_attach.gif">
-	</launchConfigurationTypeImage>	
-    <launchConfigurationTypeImage
-        id="org.eclipse.jdt.debug.ui.launchConfigurationTypeImage.javaApplet"
-        configTypeID="org.eclipse.jdt.launching.javaApplet"
-        icon="icons/full/ctool16/java_applet.gif">
-    </launchConfigurationTypeImage>
-</extension>
-
-<extension point = "org.eclipse.debug.ui.launchConfigurationTabGroups">
-	<launchConfigurationTabGroup
-		id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
-		type ="org.eclipse.jdt.launching.localJavaApplication"
-		helpContextId="org.eclipse.jdt.debug.ui.launchConfigHelpContext.local_java_application"
-		class="org.eclipse.jdt.internal.debug.ui.launcher.LocalJavaApplicationTabGroup">
-	</launchConfigurationTabGroup>
-	<launchConfigurationTabGroup
-		id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.remoteJavaApplication"
-		type ="org.eclipse.jdt.launching.remoteJavaApplication"
-		helpContextId="org.eclipse.jdt.debug.ui.launchConfigHelpContext.remote_java_application"
-		class="org.eclipse.jdt.internal.debug.ui.launcher.RemoteJavaApplicationTabGroup">
-	</launchConfigurationTabGroup>
-    <launchConfigurationTabGroup
-        id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.javaApplet"
-        type="org.eclipse.jdt.launching.javaApplet"
-		helpContextId="org.eclipse.jdt.debug.ui.launchConfigHelpContext.java_applet"
-        class="org.eclipse.jdt.internal.debug.ui.launcher.JavaAppletTabGroup">
-    </launchConfigurationTabGroup>
-</extension>
-
-<extension point = "org.eclipse.debug.core.statusHandlers">
-	<statusHandler
-		id="org.eclipse.jdt.debug.ui.statusHandler.vmConnectTimeout"
-		class="org.eclipse.jdt.internal.debug.ui.launcher.VMConnectTimeoutStatusHandler"
-		plugin ="org.eclipse.jdt.launching"
-		code="117">
-	</statusHandler>	
-	<statusHandler
-		id="org.eclipse.jdt.debug.ui.statusHandler.suspendTimeout"
-		class="org.eclipse.jdt.internal.debug.ui.SuspendTimeoutStatusHandler"
-		plugin = "org.eclipse.jdt.debug"
-		code="161">
-	</statusHandler>
-	<statusHandler
-		id="org.eclipse.jdt.debug.ui.statusHandler.noLineNumberAttributes"
-		class="org.eclipse.jdt.internal.debug.ui.NoLineNumberAttributesStatusHandler"
-		plugin = "org.eclipse.jdt.debug"
-		code="162">
-	</statusHandler>
-</extension>
-
-<extension point = "org.eclipse.debug.core.sourceLocators">
-	<sourceLocator
-		id = "org.eclipse.jdt.debug.ui.javaSourceLocator"
-	   	class="org.eclipse.jdt.debug.ui.JavaUISourceLocator"
-	   	name="%JavaSourceLocator.name"/>
-</extension>
-
-<extension point = "org.eclipse.debug.ui.debugActionGroups">
-	<debugActionGroup
-		id = "org.eclipse.jdt.debug.ui.javaDebugActionGroup"
-	   	visible="true"
-	   	name="%JavaDebugActionGroup.name">
-	   	<action id="org.eclipse.jdt.debug.ui.actions.AddException"/>
-	   	<action id="org.eclipse.jdt.ui.breakpointViewActions.ShowQualified"/>
-	   	<action id="org.eclipse.jdt.ui.expressionViewActions.ShowQualified"/>
-		<action id="org.eclipse.jdt.ui.expressionViewActions.AddWatchExpression"/>
-		<action id="org.eclipse.jdt.ui.launchViewActions.ShowQualified"/>
-		<action id="org.eclipse.jdt.ui.variableViewActions.ShowQualified"/>
-		<action id="org.eclipse.jdt.ui.variableViewActions.ShowStatic"/>
-		<action id="org.eclipse.jdt.ui.expressionViewActions.ShowStatic"/>
-		<action id="org.eclipse.jdt.ui.variableViewActions.ShowConstants"/>
-		<action id="org.eclipse.jdt.ui.expressionViewActions.ShowConstants"/>
-		<action id="org.eclipse.jdt.ui.expressionViewActions.PrimitiveOptions"/>
-		<action id="org.eclipse.jdt.ui.variableViewActions.PrimitiveOptions"/>
-	</debugActionGroup>
-</extension>
-
-<extension point = "org.eclipse.debug.ui.launchShortcuts">
-	<shortcut
-		id="org.eclipse.jdt.debug.ui.localJavaShortcut"
-		class="org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut"
-		helpContextId="org.eclipse.jdt.debug.ui.shortcut_local_java_application"
-		label="%JavaApplicationShortcut.label"
-		icon="icons/full/ctool16/java_app.gif"
-		modes="run, debug">
-		<perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
-		<perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/>
-		<perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
-		<perspective id="org.eclipse.debug.ui.DebugPerspective"/>
-	</shortcut>
-    <shortcut
-        id="org.eclipse.jdt.debug.ui.javaAppletShortcut"
-        class="org.eclipse.jdt.internal.debug.ui.launcher.JavaAppletLaunchShortcut"
-		helpContextId="org.eclipse.jdt.debug.ui.shortcut_java_applet"
-        label="%AppletShortcut.label"
-        icon="icons/full/ctool16/java_applet.gif"
-        modes="run, debug">
-        <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
-        <perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/>
-        <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
-        <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
-    </shortcut>
-</extension>
-
-<!-- commands and their bindings -->   
-<extension point="org.eclipse.ui.commands">
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		 id="org.eclipse.jdt.debug.ui.ManageWatchpointAction"
-  		 name="%ActionDefinition.manageWatchpoint.name"
-  		 description= "%ActionDefinition.manageWatchpoint.description"
-	/>
-	<keyBinding
-		string=""
-		scope="org.eclipse.ui.globalScope"
-		command="org.eclipse.jdt.debug.ui.ManageWatchpointAction"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-	
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		id="org.eclipse.jdt.debug.ui.ManageMethodBreakpointAction"
-		name="%ActionDefinition.manageMethodBreakpoint.name"
-  		description="%ActionDefinition.manageMethodBreakpoint.description"
-	/>
-	<keyBinding
-		string=""
-		scope="org.eclipse.ui.globalScope"
-		command="org.eclipse.jdt.debug.ui.ManageMethodBreakpointAction"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-	
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		id="org.eclipse.jdt.debug.ui.actionSet.AddException"
-		name="%ActionDefinition.addException.name"
-		description= "%ActionDefinition.addException.description"
-	/>
-	<keyBinding
-		string=""
-		scope="org.eclipse.ui.globalScope"
-		command="org.eclipse.jdt.debug.ui.actionSet.AddException"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-	
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		id="org.eclipse.jdt.debug.ui.ManageBreakpointAction"
-		name="%ActionDefinition.manageBreakpoint.name"
-		description= "%ActionDefinition.manageBreakpoint.description"
-	/>
-	<keyBinding
-		string="Ctrl+Shift+B"
-		scope="org.eclipse.ui.globalScope"
-		command="org.eclipse.jdt.debug.ui.ManageBreakpointAction"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-	
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		id="org.eclipse.jdt.debug.ui.StepIntoSelectionAction"
-		name="%ActionDefinition.stepIntoSelection.name"
-  		description= "%ActionDefinition.stepIntoSelection.description"
-	/>
-	<keyBinding
-		string="Ctrl+F5"
-		scope="org.eclipse.jdt.ui.javaEditorScope"
-		command="org.eclipse.jdt.debug.ui.StepIntoSelectionAction"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-	
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		id="org.eclipse.jdt.debug.ui.RunToLineAction"
-		name="%ActionDefinition.runToLine.name"
-		description= "%ActionDefinition.runToLine.description"
-	/>
-	<keyBinding
-		string="Ctrl+R"
-		scope="org.eclipse.jdt.ui.javaEditorScope"
-		command="org.eclipse.jdt.debug.ui.RunToLineAction"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-	
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		id="org.eclipse.jdt.debug.ui.Execute" 
-		name="%ActionDefinition.execute.name" 
-		description= "%ActionDefinition.execute.description"
-	/>
-	<keyBinding
-		string="Ctrl+U"
-		scope="org.eclipse.ui.globalScope"
-		command="org.eclipse.jdt.debug.ui.Execute"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-	
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		id="org.eclipse.jdt.debug.ui.Display" 
-		name="%ActionDefinition.display.name" 
-		description= "%ActionDefinition.display.description"
-	/>
-	<keyBinding
-		string="Ctrl+D"
-		scope="org.eclipse.ui.globalScope"
-		command="org.eclipse.jdt.debug.ui.Display"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-	
-	<command
-		category="org.eclipse.debug.ui.category.run"
-		id="org.eclipse.jdt.debug.ui.Inspect" 
-		name="%ActionDefinition.inspect.name" 
-		description= "%ActionDefinition.inspect.description"
-	/>
-	<keyBinding
-		string=""
-		scope="org.eclipse.ui.globalScope"
-		command="org.eclipse.jdt.debug.ui.Inspect"
-		configuration="org.eclipse.ui.defaultAcceleratorConfiguration"
-	/>
-
-</extension>
-
-<extension point = "org.eclipse.jdt.ui.classpathContainerPage">
-	<classpathContainerPage
-		id= "org.eclipse.jdt.launching.JRE_CONTAINER"
-		name= "%jreSystemLibrary.name"
-		class= "org.eclipse.jdt.internal.debug.ui.launcher.JREContainerWizardPage"/>
-</extension>
-
-<extension point = "org.eclipse.jdt.debug.ui.vmInstallTypePage">
-	<vmInstallTypePage
-		id="org.eclipse.jdt.debug.ui.StandardVMCommandTab"
-		vmInstallTypeID="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"
-		class="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMCommandTab">
-	</vmInstallTypePage>
-	<vmInstallTypePage
-		id="org.eclipse.jdt.debug.ui.StandardVMCommandTab"
-		vmInstallTypeID="org.eclipse.jdt.launching.Standard11xVMType"
-		class="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMCommandTab">
-	</vmInstallTypePage>	
-</extension>
-
-<extension point="org.eclipse.team.core.fileTypes">
-  <fileTypes extension="jpage" type="text"/>
-</extension>
-
-<extension point="org.eclipse.ui.markerResolution">
-	<markerResolutionGenerator
-		class="org.eclipse.jdt.internal.debug.ui.launcher.JreResolutionGenerator"
-		markerType="org.eclipse.jdt.core.buildpath_problem">
-	</markerResolutionGenerator>
-</extension>
-
-<extension point="org.eclipse.debug.ui.consoleLineTrackers">
-  <consoleLineTracker
-    id = "org.eclipse.jdt.debug.ui.JavaConsoleTracker"
-    class ="org.eclipse.jdt.internal.debug.ui.console.JavaConsoleTracker"
-    processType = "java">
-  </consoleLineTracker>
-  <consoleLineTracker
-    id = "org.eclipse.jdt.debug.ui.J9ConsoleTracker"
-    class ="org.eclipse.jdt.internal.debug.ui.console.J9ConsoleTracker"
-    processType = "j9">
-  </consoleLineTracker>  
-</extension>
-
-<!-- Adds the launch and java debug actions whenever a java relevant part is open -->
-
-<extension point="org.eclipse.ui.actionSetPartAssociations">
-	<actionSetPartAssociation 
-		targetID="org.eclipse.jdt.debug.ui.JDTDebugActionSet">
-		<part id="org.eclipse.jdt.ui.PackageExplorer"/>
-		<part id="org.eclipse.jdt.ui.TypeHierarchy" />
-		<part id="org.eclipse.jdt.ui.CompilationUnitEditor"/>
-		<part id="org.eclipse.jdt.ui.ClassFileEditor"/>
-		<part id="org.eclipse.jdt.ui.ProjectsView"/>
-		<part id="org.eclipse.jdt.ui.PackagesView"/>
-		<part id="org.eclipse.jdt.ui.TypesView"/>
-		<part id="org.eclipse.jdt.ui.MembersView"/>
-	</actionSetPartAssociation>
-</extension>
-
-<extension point="org.eclipse.ui.actionSetPartAssociations">
-	<actionSetPartAssociation 
-		targetID="org.eclipse.debug.ui.launchActionSet">
-		<part id="org.eclipse.jdt.ui.PackageExplorer"/>
-		<part id="org.eclipse.jdt.ui.TypeHierarchy" />
-		<part id="org.eclipse.jdt.ui.CompilationUnitEditor"/>
-		<part id="org.eclipse.jdt.ui.ClassFileEditor"/>
-		<part id="org.eclipse.jdt.ui.ProjectsView"/>
-		<part id="org.eclipse.jdt.ui.PackagesView"/>
-		<part id="org.eclipse.jdt.ui.TypesView"/>
-		<part id="org.eclipse.jdt.ui.MembersView"/>
-	</actionSetPartAssociation>
-</extension>
-</plugin>
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.ui/schema/vmInstallTypePage.exsd b/org.eclipse.jdt.debug.ui/schema/vmInstallTypePage.exsd
deleted file mode 100644
index 78400bc..0000000
--- a/org.eclipse.jdt.debug.ui/schema/vmInstallTypePage.exsd
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jdt.debug.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jdt.debug.ui" id="vmInstallTypePage" name="VM Install Type UI Page"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for contributing UI that will appear in the JRE tab of the launch configuration dialog.
-The UI is shown only when a VM of the specified install type is selected in the JRE tab.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="vmInstallTypePage" 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="vmInstallTypePage">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this vm install type UI page.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="vmInstallTypeID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies VM install type that this UI page is applicable to (corresponds to the id of a VM install type).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully qualified name of a Java class that implements &lt;samp&gt;ILaunchConfigurationTab&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.AbstractLaunchConfigurationTab"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a VM install type page extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jdt.debug.ui.vmInstallTypePage&quot;&gt;
-  &lt;vmInstallTypePage
-   id=&quot;com.example.ExampleVMInstallTypePage&quot;
-   vmInstallTypeID=&quot;com.example.ExampleVMInstallTypeIdentifier&quot;
-   class=&quot;com.example.ExampleVMInstallTypePage&quot;&gt;
-  &lt;/vmInstallTypePage&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the above example, the contributed page will be shown in the JRE tab of the launch configuration dialog
-whenever the currently selected JRE has a VM Install type identifier of &lt;samp&gt;com.example.ExampleVMInstallTypeIdentifier&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface
-&lt;b&gt;org.eclipse.debug.ui.ILaunchConfigurationTab&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.jdt.debug.ui/scripts/exportplugin.xml b/org.eclipse.jdt.debug.ui/scripts/exportplugin.xml
deleted file mode 100644
index 9cc9f24..0000000
--- a/org.eclipse.jdt.debug.ui/scripts/exportplugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.jdt.debug.ui Eclipse plug-in
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export jdt.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.jdt.debug.ui_2.1.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}/jdiui.jar"
-			basedir="bin"
-		/>
-		<!-- Create the source zip -->
-		<zip zipfile="${dest}/jdiuisrc.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 file="snippetsupport.jar" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>		
-	</target>
-	
-</project>
diff --git a/org.eclipse.jdt.debug.ui/snippetsupport.jar b/org.eclipse.jdt.debug.ui/snippetsupport.jar
deleted file mode 100644
index 6a43861..0000000
--- a/org.eclipse.jdt.debug.ui/snippetsupport.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
deleted file mode 100644
index 0001027..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui;
-
-
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
- 
-/**
- * Constant definitions for Java debug UI plug-in.
- * <p>
- * Clients are not intended to implement this interface; constant definitions only.
- * </p>
- * @since 2.0
- */
-public interface IJavaDebugUIConstants {
-	/**
-	 * Plug-in identifier for the Java Debug UI
-	 */
-	public static final String PLUGIN_ID = JDIDebugUIPlugin.getUniqueIdentifier();
-
-	/**
-	 * Extension point identifier for contributions of a UI page that corresponds to a VMInstallType (value <code>"vmInstallTypePage"</code>).
-	 */
-	public static final String EXTENSION_POINT_VM_INSTALL_TYPE_PAGE = "vmInstallTypePage"; //$NON-NLS-1$
-
-	/**
-	 * Display view identifier (value <code>"org.eclipse.jdt.debug.ui.DisplayView"</code>).
-	 */
-	public static final String ID_DISPLAY_VIEW= PLUGIN_ID + ".DisplayView"; //$NON-NLS-1$
-	
-	/**
-	 * Java snippet editor identifier (value <code>"org.eclipse.jdt.debug.ui.SnippetEditor"</code>)
-	 */
-	public static final String ID_JAVA_SNIPPET_EDITOR= PLUGIN_ID + ".SnippetEditor"; //$NON-NLS-1$
-
-	/**
-	 * Java snippet editor context menu identifier (value <code>"#JavaSnippetEditorContext"</code>).
-	 */
-	public static final String JAVA_SNIPPET_EDITOR_CONTEXT_MENU= "#JavaSnippetEditorContext"; //$NON-NLS-1$
-	
-	/**
-	 * Java snippet editor ruler menu identifier (value <code>"#JavaSnippetRulerContext"</code>).
-	 */	
-	public static final String JAVA_SNIPPET_EDITOR_RULER_MENU= "#JavaSnippetRulerContext"; //$NON-NLS-1$
-
-	/**
-	 * Identifier for a group of evaluation actions in a menu (value <code>"evaluationGroup"</code>).
-	 */
-	public static final String EVALUATION_GROUP= "evaluationGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an unexpected internal error (value <code>150</code>).
-	 */
-	public static final int INTERNAL_ERROR = 150;
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/JavaSourceLookupDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/JavaSourceLookupDialog.java
deleted file mode 100644
index b047169..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/JavaSourceLookupDialog.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.debug.ui.launcher.SourceLookupBlock;
-import org.eclipse.jface.dialogs.Dialog;
-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.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A dialog to manipulate the source lookup path for a launch
- * configuration. 
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @since 2.0.2
- * @see org.eclipse.jface.dialogs.Dialog
- */
-public class JavaSourceLookupDialog extends Dialog {
-		
-	private SourceLookupBlock fSourceLookupBlock;
-	private ILaunchConfiguration fConfiguration;
-	private String fMessage;
-	private boolean fNotAskAgain;
-	private Button fAskAgainCheckBox;
-	
-	/**
-	 * Constructs a dialog to manipulate the source lookup path of the given
-	 * launch configuration. The source lookup path is retrieved from the given
-	 * launch configuration, based on the attributes
-	 * <code>IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH</code> and
-	 * <code>IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH</code>. If the user
-	 * changes the source lookup path and presses "ok", the launch configuration
-	 * is updated with the new source lookup path. 
-	 * 
-	 * @param shell the shell to open the dialog on
-	 * @param message the message to display in the dialog
-	 * @param configuration the launch configuration from which the source lookup
-	 *  path is retrieved and (possibly) updated
-	 */
-	public JavaSourceLookupDialog(Shell shell, String message, ILaunchConfiguration configuration) {
-		super(shell);
-		fSourceLookupBlock= new SourceLookupBlock();
-		fMessage = message;
-		fNotAskAgain= false;
-		fAskAgainCheckBox= null;
-		fConfiguration = configuration;
-	}
-	
-	/**
-	 * Returns whether the "do not ask again" check box is selected in the dialog.
-	 * 
-	 * @return whether the "do not ask again" check box is selected in the dialog
-	 */
-	public boolean isNotAskAgain() {
-		return fNotAskAgain;
-	}
-			
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		initializeDialogUnits(parent);
-		getShell().setText(LauncherMessages.getString("JavaUISourceLocator.selectprojects.title")); //$NON-NLS-1$
-		
-		Composite composite= (Composite) super.createDialogArea(parent);
-		composite.setLayout(new GridLayout());
-		composite.setFont(font);
-		
-		int pixelWidth= convertWidthInCharsToPixels(70);
-		Label message= new Label(composite, SWT.LEFT + SWT.WRAP);
-		message.setText(fMessage);
-		GridData data= new GridData();
-		data.widthHint= pixelWidth;
-		message.setLayoutData(data);
-		message.setFont(font);
-		
-		fSourceLookupBlock.createControl(composite);
-		Control inner = fSourceLookupBlock.getControl();
-		fSourceLookupBlock.initializeFrom(fConfiguration);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		int height = Display.getCurrent().getBounds().height;
-		gd.heightHint = (int)(0.4f * height);
-		inner.setLayoutData(gd);
-		fAskAgainCheckBox= new Button(composite, SWT.CHECK + SWT.WRAP);
-		data= new GridData();
-		data.widthHint= pixelWidth;
-		fAskAgainCheckBox.setLayoutData(data);
-		fAskAgainCheckBox.setFont(font);
-		fAskAgainCheckBox.setText(LauncherMessages.getString("JavaUISourceLocator.askagain.message")); //$NON-NLS-1$
-		
-		return composite;
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		try {
-			if (fAskAgainCheckBox != null) {
-				fNotAskAgain= fAskAgainCheckBox.getSelection();
-			}
-			ILaunchConfigurationWorkingCopy wc = fConfiguration.getWorkingCopy();
-			fSourceLookupBlock.performApply(wc);
-			if (!fConfiguration.contentsEqual(wc)) {
-				fConfiguration = wc.doSave();
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		super.okPressed();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/JavaUISourceLocator.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/JavaUISourceLocator.java
deleted file mode 100644
index 87959e2..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/JavaUISourceLocator.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui;
-
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.core.IJavaClassType;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.DebugUIMessages;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.debug.ui.launcher.SourceElementLabelProvider;
-import org.eclipse.jdt.internal.debug.ui.launcher.SourceElementQualifierProvider;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation;
-import org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator;
-import org.eclipse.ui.dialogs.TwoPaneElementSelector;
-
-/**
- * A source locator that prompts the user to find source when source cannot
- * be found on the current source lookup path.
- * <p>
- * This class is intended to be instantiated. This class is not
- * intended to be subclassed.
- * </p>
- * @since 2.0
- */
-
-public class JavaUISourceLocator implements IPersistableSourceLocator {
-
-	/**
-	 * Identifier for the 'Prompting Java Source Locator' extension
-	 * (value <code>"org.eclipse.jdt.debug.ui.javaSourceLocator"</code>).
-	 */
-	public static final String ID_PROMPTING_JAVA_SOURCE_LOCATOR = IJavaDebugUIConstants.PLUGIN_ID + ".javaSourceLocator"; //$NON-NLS-1$
-
-	/**
-	 * Launch configuration attribute indicating that this source locator should
-	 * locate all source elements that correspond to a stack frame, rather than
-	 * the first match. Default value is <code>false</code>.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_FIND_ALL_SOURCE_ELEMENTS = IJavaDebugUIConstants.PLUGIN_ID + ".ATTR_FIND_ALL_SOURCE_ELEMENTS"; //$NON-NLS-1$
-
-	/**
-	 * The project being debugged.
-	 */
-	private IJavaProject fJavaProject;
-
-	/**
-	 * Underlying source locator.
-	 */
-	private JavaSourceLocator fSourceLocator;
-
-	/**
-	 * Whether the user should be prompted for source.
-	 * Initially true, until the user checks the 'do not
-	 * ask again' box.
-	 */
-	private boolean fAllowedToAsk;
-
-	/**
-	 * Whether to find all source elements for a stack frame (in case of
-	 * dupliucates), or just the first match.
-	 */
-	private boolean fIsFindAllSourceElements = false;
-	
-	/**
-	 * A cache of types to associated source elements (when duplicates arise and
-	 * the users chooses a source element, it is remembered).
-	 */
-	private HashMap fTypesToSource = null;
-
-	/**
-	 * Constructs an empty source locator.
-	 */
-	public JavaUISourceLocator() {
-		fSourceLocator = new JavaSourceLocator();
-		fAllowedToAsk = true;
-	}
-
-	/**
-	 * Constructs a new source locator that looks in the
-	 * specified project for source, and required projects, if
-	 * <code>includeRequired</code> is <code>true</code>.
-	 * 
-	 * @param projects the projects in which to look for source
-	 * @param includeRequired whether to look in required projects
-	 * 	as well
-	 */
-	public JavaUISourceLocator(
-		IJavaProject[] projects,
-		boolean includeRequired)
-		throws JavaModelException {
-		fSourceLocator = new JavaSourceLocator(projects, includeRequired);
-		fAllowedToAsk = true;
-	}
-
-	/**
-	 * Constructs a source locator that searches for source
-	 * in the given Java project, and all of its required projects,
-	 * as specified by its build path or default source lookup
-	 * settings.
-	 * 
-	 * @param project Java project
-	 * @exception CoreException if unable to read the project's
-	 * 	 build path
-	 */
-	public JavaUISourceLocator(IJavaProject project) throws CoreException {
-		fJavaProject = project;
-		IJavaSourceLocation[] sls =
-			JavaSourceLocator.getDefaultSourceLocations(project);
-		fSourceLocator = new JavaSourceLocator(project);
-		if (sls != null) {
-			fSourceLocator.setSourceLocations(sls);
-		}
-		fAllowedToAsk = true;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(IStackFrame)
-	 */
-	public Object getSourceElement(IStackFrame stackFrame) {
-		Object res = findSourceElement(stackFrame);
-		if (res == null && fAllowedToAsk) {
-			IJavaStackFrame frame =
-				(IJavaStackFrame) stackFrame.getAdapter(IJavaStackFrame.class);
-			if (frame != null) {
-				try {
-					if (!frame.isObsolete()) {
-						showDebugSourcePage(frame);
-						res = fSourceLocator.getSourceElement(stackFrame);
-					}
-				} catch (DebugException e) {
-				}
-			}
-		}
-		return res;
-	}
-
-	private Object findSourceElement(IStackFrame stackFrame) {
-		if (isFindAllSourceElements()) {
-			Object[] sourceElements = fSourceLocator.getSourceElements(stackFrame);
-			if (sourceElements == null || sourceElements.length == 0) {
-				return null;
-			} 
-			if (sourceElements.length == 1) {
-				return sourceElements[0];
-			}
-			try {
-				IJavaStackFrame frame = (IJavaStackFrame)stackFrame;
-				IJavaClassType type = frame.getDeclaringType();
-				Object cachedSource = getSourceElement(type);
-				if (cachedSource != null) {
-					return cachedSource;
-				}
-				// prompt
-				TwoPaneElementSelector dialog = new TwoPaneElementSelector(JDIDebugUIPlugin.getActiveWorkbenchShell(), new SourceElementLabelProvider(),new SourceElementQualifierProvider());
-				dialog.setTitle(DebugUIMessages.getString("JavaUISourceLocator.Select_Source_1")); //$NON-NLS-1$
-				dialog.setMessage(MessageFormat.format(DebugUIMessages.getString("JavaUISourceLocator.&Select_the_source_that_corresponds_to_{0}_2"), new String[]{type.getName()})); //$NON-NLS-1$
-				dialog.setElements(sourceElements);
-				dialog.setMultipleSelection(false);
-				dialog.setUpperListLabel(DebugUIMessages.getString("JavaUISourceLocator.&Matching_files__3")); //$NON-NLS-1$
-				dialog.setLowerListLabel(DebugUIMessages.getString("JavaUISourceLocator.&Location__4")); //$NON-NLS-1$
-				dialog.open();
-				Object[] result = dialog.getResult();
-				if (result == null) {
-					return null;
-				}
-				Object sourceElement = result[0];
-				cacheSourceElement(sourceElement, type);
-				return sourceElement;
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.log(e);
-				return sourceElements[0];
-			}
-		} else {
-			return fSourceLocator.getSourceElement(stackFrame);
-		}
-	}
-	
-	private Object getSourceElement(IJavaClassType type) {
-		if (fTypesToSource == null) {
-			return null; 
-		}
-		return fTypesToSource.get(type);
-	}
-	
-	private void cacheSourceElement(Object sourceElement, IJavaClassType type) {
-		if (fTypesToSource == null) {
-			fTypesToSource = new HashMap();
-		}
-		fTypesToSource.put(type, sourceElement);
-	}
-
-	/**
-	 * Prompts to locate the source of the given type. Prompts in the UI
-	 * thread, since a source lookup could be the result of a conditional
-	 * breakpoint looking up source for an evaluation, from the event
-	 * dispatch thread.
-	 * 
-	 * @param typeName the name of the type for which source
-	 *  could not be located
-	 */
-	private void showDebugSourcePage(final IJavaStackFrame frame) {
-		Runnable prompter = new Runnable() {
-			public void run() {
-				try {
-					String message = LauncherMessages.getFormattedString("JavaUISourceLocator.selectprojects.message", frame.getDeclaringTypeName()); //$NON-NLS-1$
-					ILaunchConfiguration configuration =
-						frame.getLaunch().getLaunchConfiguration();
-					JavaSourceLookupDialog dialog =
-						new JavaSourceLookupDialog(
-							JDIDebugUIPlugin.getActiveWorkbenchShell(),
-							message,
-							configuration);
-					int result = dialog.open();
-					if (result == JavaSourceLookupDialog.OK) {
-						fAllowedToAsk = !dialog.isNotAskAgain();
-						JavaUISourceLocator.this.initializeDefaults(
-							configuration);
-					}
-				} catch (CoreException e) {
-					// only report an error if the thread has not resumed
-					if (e.getStatus().getCode()
-						!= IJavaThread.ERR_THREAD_NOT_SUSPENDED) {
-						JDIDebugUIPlugin.log(e);
-					}
-				}
-			}
-		};
-		JDIDebugUIPlugin.getStandardDisplay().syncExec(prompter);
-	}
-
-	/**
-	 * @see IPersistableSourceLocator#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		String memento = fSourceLocator.getMemento();
-		String handle = fJavaProject.getHandleIdentifier();
-		String findAll = new Boolean(isFindAllSourceElements()).toString();
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("<project>"); //$NON-NLS-1$
-		buffer.append(handle);
-		buffer.append("</project>"); //$NON-NLS-1$
-		buffer.append("<findAll>"); //$NON-NLS-1$
-		buffer.append(findAll);
-		buffer.append("</findAll>"); //$NON-NLS-1$
-		buffer.append(memento);
-		return buffer.toString();
-	}
-
-	/**
-	 * @see IPersistableSourceLocator#initializeDefaults(ILaunchConfiguration)
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration)
-		throws CoreException {
-		fSourceLocator.initializeDefaults(configuration);
-		fJavaProject = JavaRuntime.getJavaProject(configuration);
-		fIsFindAllSourceElements =
-			configuration.getAttribute(ATTR_FIND_ALL_SOURCE_ELEMENTS, false);
-	}
-
-	/**
-	 * @see IPersistableSourceLocator#initializeFromMemento(String)
-	 */
-	public void initializeFromMemento(String memento) throws CoreException {
-		if (memento.startsWith("<project>")) { //$NON-NLS-1$
-			int index = memento.indexOf("</project>"); //$NON-NLS-1$
-			if (index > 0) {
-				String handle = memento.substring(9, index);
-				int start = index + 19;
-				index = memento.indexOf("</findAll>", start); //$NON-NLS-1$
-				if (index > 0) {
-					String findAll = memento.substring(start, index);
-					Boolean all = new Boolean(findAll);
-					String rest = memento.substring(index + 10);
-					fJavaProject = (IJavaProject) JavaCore.create(handle);
-					fIsFindAllSourceElements = all.booleanValue();
-					fSourceLocator.initializeFromMemento(rest);
-				}
-			}
-		} else {
-			// OLD FORMAT
-			int index = memento.indexOf('\n');
-			String handle = memento.substring(0, index);
-			String rest = memento.substring(index + 1);
-			fJavaProject = (IJavaProject) JavaCore.create(handle);
-			fIsFindAllSourceElements = false;
-			fSourceLocator.initializeFromMemento(rest);
-		}
-	}
-
-	/**
-	 * @see JavaSourceLocator#getSourceLocations()
-	 */
-	public IJavaSourceLocation[] getSourceLocations() {
-		return fSourceLocator.getSourceLocations();
-	}
-
-	/**
-	 * @see JavaSourceLocator#setSourceLocations(IJavaSourceLocation[])
-	 */
-	public void setSourceLocations(IJavaSourceLocation[] locations) {
-		fSourceLocator.setSourceLocations(locations);
-	}
-
-	/**
-	 * Returns whether this source locator is configured to search for all
-	 * source elements that correspond to a stack frame. When <code>false</code>
-	 * is returned, searching stops on the first match. If there is more than
-	 * one source element that corresponds to a stack frame, the user is
-	 * prompted to choose a source element to open.
-	 * 
-	 * @return whether this source locator is configured to search for all
-	 * source elements that correspond to a stack frame
-	 * @since 2.1
-	 */
-	public boolean isFindAllSourceElements() {
-		return fIsFindAllSourceElements;
-	}
-
-	/**
-	 * Sets whether this source locator is configured to search for all source
-	 * elements that correspond to a stack frame, or the first match.
-	 * 
-	 * @param findAll whether this source locator should search for all source
-	 * elements that correspond to a stack frame
-	 * @since 2.1
-	 */
-	public void setFindAllSourceElement(boolean findAll) {
-		fIsFindAllSourceElements = findAll;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletArgumentsTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletArgumentsTab.java
deleted file mode 100644
index 0fc4098..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletArgumentsTab.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.launcher.AppletWorkingDirectoryBlock;
-import org.eclipse.jdt.internal.debug.ui.launcher.WorkingDirectoryBlock;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A launch configuration tab that displays and edits program arguments,
- * VM arguments, and working directory launch configuration attributes,
- * for applets.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.1
- */
-public class AppletArgumentsTab extends JavaArgumentsTab {
-
-	/**
-	 * @see org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab#createWorkingDirBlock()
-	 */
-	protected WorkingDirectoryBlock createWorkingDirBlock() {
-		return new AppletWorkingDirectoryBlock();
-	}
-
-	/**
-	 * @see org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab#setHelpContextId()
-	 */
-	protected void setHelpContextId() {
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_APPLET_ARGUMENTS_TAB);		
-	}
-			
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletMainTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletMainTab.java
deleted file mode 100644
index a90b9af..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletMainTab.java
+++ /dev/null
@@ -1,549 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.AppletLaunchConfigurationUtils;
-import org.eclipse.jdt.internal.debug.ui.launcher.AppletSelectionDialog;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.ui.ISharedImages;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This tab appears for java applet launch configurations and allows the user to edit
- * attributes such as the applet class to launch and its owning project, if any.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.1
- */
-public class AppletMainTab extends JavaLaunchConfigurationTab {
-		
-	// Project UI widgets
-	private Label fProjLabel;
-	private Text fProjText;
-	private Button fProjButton;
-
-	// Main class UI widgets
-	private Label fMainLabel;
-	private Text fMainText;
-	private Button fSearchButton;
-	
-	// Applet viewer UI widgets
-	private Label fAppletViewerClassLabel;
-	private Text fAppletViewerClassText;
-	private Button fAppletViewerClassDefaultButton;
-	
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_APPLET_MAIN_TAB);
-		GridLayout topLayout = new GridLayout();
-		comp.setLayout(topLayout);		
-		GridData gd;
-		
-		createVerticalSpacer(comp);
-		
-		Composite projComp = new Composite(comp, SWT.NONE);
-		GridLayout projLayout = new GridLayout();
-		projLayout.numColumns = 3;
-		projLayout.marginHeight = 0;
-		projLayout.marginWidth = 0;
-		projComp.setLayout(projLayout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		projComp.setLayoutData(gd);
-		projComp.setFont(font);
-		
-		fProjLabel = new Label(projComp, SWT.NONE);
-		fProjLabel.setText(LauncherMessages.getString("appletlauncher.maintab.projectlabel.name")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		fProjLabel.setLayoutData(gd);
-		fProjLabel.setFont(font);
-		
-		fProjText = new Text(projComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fProjText.setLayoutData(gd);
-		fProjText.setFont(font);
-		this.fProjText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fProjButton = createPushButton(projComp, LauncherMessages.getString("appletlauncher.maintab.browselabel.name"), null); //$NON-NLS-1$
-		fProjButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleProjectButtonSelected();
-			}
-		});
-		
-		Label spacer = createVerticalSpacer(projComp);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		spacer.setLayoutData(gd);
-		
-		fMainLabel = new Label(projComp, SWT.NONE);
-		fMainLabel.setText(LauncherMessages.getString("appletlauncher.maintab.mainclasslabel.name")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		fMainLabel.setLayoutData(gd);
-		fMainLabel.setFont(font);
-
-		fMainText = new Text(projComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fMainText.setLayoutData(gd);
-		fMainText.setFont(font);
-		this.fMainText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-				
-		fSearchButton = createPushButton(projComp,LauncherMessages.getString("appletlauncher.maintab.searchlabel.name"), null); //$NON-NLS-1$
-		fSearchButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleSearchButtonSelected();
-			}
-		});
-		
-		createVerticalSpacer(projComp);
-		
-		fAppletViewerClassLabel = new Label(comp, SWT.NONE);
-		fAppletViewerClassLabel.setText(LauncherMessages.getString("AppletMainTab.Name_of_appletviewer_class__1")); //$NON-NLS-1$
-		fAppletViewerClassLabel.setFont(font);
-		
-		fAppletViewerClassText = new Text(comp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fAppletViewerClassText.setLayoutData(gd);
-		fAppletViewerClassText.setFont(font);
-		fAppletViewerClassText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fAppletViewerClassDefaultButton = new Button(comp, SWT.CHECK);
-		fAppletViewerClassDefaultButton.setFont(font);
-		fAppletViewerClassDefaultButton.setText(LauncherMessages.getString("AppletMainTab.Use_default_appletviewer_class_2")); //$NON-NLS-1$
-		fAppletViewerClassDefaultButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				setAppletViewerTextEnabledState();
-				if (isDefaultAppletViewerClassName()) {
-					fAppletViewerClassText.setText(IJavaLaunchConfigurationConstants.DEFAULT_APPLETVIEWER_CLASS);
-				} else {
-					fAppletViewerClassText.setText(EMPTY_STRING);
-				}
-			}
-		});
-	}
-		
-	/**
-	 * Set the appropriate enabled state for the appletviewqer text widget.
-	 */
-	protected void setAppletViewerTextEnabledState() {
-		if (isDefaultAppletViewerClassName()) {
-			fAppletViewerClassText.setEnabled(false);
-		} else {
-			fAppletViewerClassText.setEnabled(true);
-		}
-	}
-	
-	/**
-	 * Returns whether the default appletviewer is to be used
-	 */
-	protected boolean isDefaultAppletViewerClassName() {
-		return fAppletViewerClassDefaultButton.getSelection();
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration config) {
-		updateProjectFromConfig(config);
-		updateMainTypeFromConfig(config);
-		updateAppletViewerClassNameFromConfig(config);
-	}
-	
-	private void updateProjectFromConfig(ILaunchConfiguration config) {
-		String projectName = EMPTY_STRING;
-		try {
-			projectName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, EMPTY_STRING);	
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-		fProjText.setText(projectName);
-	}
-	
-	private void updateMainTypeFromConfig(ILaunchConfiguration config) {
-		String mainTypeName = EMPTY_STRING;
-		try {
-			mainTypeName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, EMPTY_STRING);
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);	
-		}	
-		fMainText.setText(mainTypeName);
-	}
-	
-	private void updateAppletViewerClassNameFromConfig(ILaunchConfiguration config) {
-		String appletViewerClassName = null;
-		try {
-			appletViewerClassName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_APPLETVIEWER_CLASS, (String)null);
-			if (appletViewerClassName == null) {
-				fAppletViewerClassText.setText(IJavaLaunchConfigurationConstants.DEFAULT_APPLETVIEWER_CLASS);
-				fAppletViewerClassDefaultButton.setSelection(true);
-			} else {
-				fAppletViewerClassText.setText(appletViewerClassName);
-				fAppletViewerClassDefaultButton.setSelection(false);
-			}
-			setAppletViewerTextEnabledState();
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);				
-		}
-	}
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String)fProjText.getText());
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)fMainText.getText());
-		performApplyAppletViewerClassName(config);		
-	}
-	
-	/**
-	 * Set the current appletviewer class name on the specified working copy.
-	 */
-	private void performApplyAppletViewerClassName(ILaunchConfigurationWorkingCopy config) {
-		String appletViewerClassName = null;
-		if (!isDefaultAppletViewerClassName()) {
-			appletViewerClassName = fAppletViewerClassText.getText().trim();
-			if (appletViewerClassName.length() <= 0) {
-				appletViewerClassName = null;
-			}
-		}
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_APPLETVIEWER_CLASS, appletViewerClassName);
-	}
-			
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-	}
-	
-	/**
-	 * Create some empty space 
-	 */
-	private Label createVerticalSpacer(Composite comp) {
-		return new Label(comp, SWT.NONE);
-	}
-		
-	/**
-	 * Show a dialog that lists all main types
-	 */
-	private void handleSearchButtonSelected() {
-		
-		IJavaProject javaProject = getJavaProject();		
-		Shell shell = getShell();
-		AppletSelectionDialog dialog =
-			new AppletSelectionDialog(
-				shell,
-				getLaunchConfigurationDialog(),
-				javaProject);
-		dialog.setTitle(LauncherMessages.getString("appletlauncher.maintab.selection.applet.dialog.title")); //$NON-NLS-1$
-		dialog.setMessage(LauncherMessages.getString("appletlauncher.maintab.selection.applet.dialog.message")); //$NON-NLS-1$
-		if (dialog.open() == AppletSelectionDialog.CANCEL) {
-			return;
-		}
-		
-		Object[] results = dialog.getResult();
-		if ((results == null) || (results.length < 1)) {
-			return;
-		}		
-		IType type = (IType)results[0];
-		if (type != null) {
-			fMainText.setText(type.getFullyQualifiedName());
-			javaProject = type.getJavaProject();
-			fProjText.setText(javaProject.getElementName());
-		}
-	}
-		
-	/**
-	 * Show a dialog that lets the user select a project.  This in turn provides
-	 * context for the main type, allowing the user to key a main type name, or
-	 * constraining the search for main types to the specified project.
-	 */
-	private void handleProjectButtonSelected() {
-		IJavaProject project = chooseJavaProject();
-		if (project == null) {
-			return;
-		}
-		
-		String projectName = project.getElementName();
-		fProjText.setText(projectName);	
-	}
-	
-	/**
-	 * Realize a Java Project selection dialog and return the first selected project,
-	 * or null if there was none.
-	 */
-	private IJavaProject chooseJavaProject() {
-		IJavaProject[] projects;
-		try {
-			projects= JavaCore.create(getWorkspaceRoot()).getJavaProjects();
-		} catch (JavaModelException jme) {
-			JDIDebugUIPlugin.log(jme);
-			projects= new IJavaProject[0];
-		}
-		
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setTitle(LauncherMessages.getString("appletlauncher.maintab.selection.project.dialog.title")); //$NON-NLS-1$
-		dialog.setMessage(LauncherMessages.getString("appletlauncher.maintab.selection.project.dialog.message")); //$NON-NLS-1$
-		dialog.setElements(projects);
-		
-		IJavaProject javaProject = getJavaProject();
-		if (javaProject != null) {
-			dialog.setInitialSelections(new Object[] { javaProject });
-		}
-		if (dialog.open() == ElementListSelectionDialog.OK) {			
-			return (IJavaProject) dialog.getFirstResult();
-		}			
-		return null;		
-	}
-	
-	/**
-	 * Return the IJavaProject corresponding to the project name in the project name
-	 * text field, or null if the text does not match a project name.
-	 */
-	private IJavaProject getJavaProject() {
-		String projectName = fProjText.getText().trim();
-		if (projectName.length() < 1) {
-			return null;
-		}
-		return getJavaModel().getJavaProject(projectName);		
-	}
-	
-	/**
-	 * Convenience method to get the workspace root.
-	 */
-	private IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	/**
-	 * Convenience method to get access to the java model.
-	 */
-	private IJavaModel getJavaModel() {
-		return JavaCore.create(getWorkspaceRoot());
-	}
-
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		
-		setErrorMessage(null);
-		setMessage(null);
-		
-		// Verify project
-		String name = fProjText.getText().trim();
-		if (name.length() > 0) {
-			if (!ResourcesPlugin.getWorkspace().getRoot().getProject(name).exists()) {
-				setErrorMessage(LauncherMessages.getString("appletlauncher.maintab.project.error.doesnotexist")); //$NON-NLS-1$
-				return false;
-			}
-		}
-		
-		// Verify applet class
-		name = fMainText.getText().trim();
-		if (name.length() == 0) {
-			setErrorMessage(LauncherMessages.getString("appletlauncher.maintab.type.error.doesnotexist")); //$NON-NLS-1$
-			return false;
-		}
-		IJavaProject jp = getJavaProject();
-		if (jp != null) {
-			// only verify type exists if Java project is specified
-			try {
-				AppletLaunchConfigurationUtils.getMainType(name, jp);
-			} catch (CoreException e) {
-				setErrorMessage(e.getMessage());
-				return false;
-			}
-		}	
-		
-		// Verify appletviewer class
-		name = fAppletViewerClassText.getText().trim();
-		if (name.length() == 0) {
-			setErrorMessage(LauncherMessages.getString("AppletMainTab.Appletviewer_class_must_be_specified_3"));  //$NON-NLS-1$
-			return false;			
-		}
-		
-		return true;
-	}
-	
-	/**
-	 * Initialize default attribute values based on the
-	 * given Java element.
-	 */
-	private void initializeDefaults(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		initializeJavaProject(javaElement, config);
-		initializeMainTypeAndName(javaElement, config);
-		initializeHardCodedDefaults(config);
-		initializeAppletViewerClass(config);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		IJavaElement je = getContext();
-		if (je == null) {
-			initializeHardCodedDefaults(config);
-		} else {
-			initializeDefaults(je, config);
-		}
-	}
-
-	/**
-	 * Set the main type & name attributes on the working copy based on the IJavaElement
-	 */
-	private void initializeMainTypeAndName(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		String name = null;
-		if (javaElement instanceof IMember) {
-			IMember member = (IMember)javaElement;
-			if (member.isBinary()) {
-				javaElement = member.getClassFile();
-			} else {
-				javaElement = member.getCompilationUnit();
-			}
-		}
-		if (javaElement instanceof ICompilationUnit || javaElement instanceof IClassFile) {
-			if (javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
-				ICompilationUnit cu= (ICompilationUnit) javaElement;
-				IType mainType= cu.getType(Signature.getQualifier(cu.getElementName()));
-				if (mainType.exists()) {
-					name = mainType.getFullyQualifiedName();
-				}
-			} else if (javaElement.getElementType() == IJavaElement.CLASS_FILE) {
-				try {
-					IType mainType= ((IClassFile)javaElement).getType();
-					name = mainType.getFullyQualifiedName();
-				} catch(JavaModelException e) {
-				}
-			}
-		}
-		if (name != null) {
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, name);
-			if (name.length() > 0) {
-				int index = name.lastIndexOf('.');
-				if (index > 0) {
-					name = name.substring(index + 1);
-				}		
-				name = getLaunchConfigurationDialog().generateName(name);
-				config.rename(name);
-			}
-		}
-	}
-
-	/**
-	 * Set the VM attributes on the working copy based on the workbench default VM.
-	 */
-	private void initializeDefaultVM(ILaunchConfigurationWorkingCopy config) {
-		IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-		if (vmInstall == null) {
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-		} else {
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmInstall.getName());
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmInstall.getVMInstallType().getId());
-		}
-	}
-	
-	/**
-	 * Initialize those attributes whose default values are independent of any context.
-	 */
-	private void initializeHardCodedDefaults(ILaunchConfigurationWorkingCopy config) {
-		initializeDefaultVM(config);
-	}
-	
-	/**
-	 * Initialize the appletviewer class name attribute.
-	 */
-	private void initializeAppletViewerClass(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_APPLETVIEWER_CLASS, (String)null);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("appletlauncher.maintab.name"); //$NON-NLS-1$
-	}
-			
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS);
-	}
-
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletParametersTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletParametersTab.java
deleted file mode 100644
index 87b5b29..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/AppletParametersTab.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugImages;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.debug.ui.launcher.NameValuePairDialog;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-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.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
- 
-/**
- * This tab appears for java applet launch configurations and allows the user to edit
- * applet-specific attributes such as width, height, name & applet parameters.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.1
- */
-public class AppletParametersTab extends JavaLaunchConfigurationTab {
-	
-	private Label fWidthLabel;
-	private Text fWidthText;
-	private Label fHeightLabel;
-	private Text fHeightText;
-	private Label fNameLabel;
-	private Text fNameText;
-	private Table fParametersTable;
-	private Button fParametersAddButton;
-	private Button fParametersRemoveButton;
-	private Button fParametersEditButton;
-
-	private static final String EMPTY_STRING = "";	 //$NON-NLS-1$
-	
-	/**
-	 * The default value for the 'width' attribute.
-	 */
-	public static final int DEFAULT_APPLET_WIDTH = 200;
-	
-	/**
-	 * The default value for the 'height' attribute.
-	 */
-	public static final int DEFAULT_APPLET_HEIGHT = 200;
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		GridLayout topLayout = new GridLayout();
-		comp.setLayout(topLayout);		
-		GridData gd;
-		
-		createVerticalSpacer(comp);
-		
-		Composite widthHeightNameComp = new Composite(comp, SWT.NONE);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		widthHeightNameComp.setLayoutData(gd);
-		GridLayout widthHeightNameLayout = new GridLayout();
-		widthHeightNameLayout.marginHeight = 0;
-		widthHeightNameLayout.marginWidth = 0;
-		widthHeightNameLayout.numColumns = 4;
-		widthHeightNameComp.setLayout(widthHeightNameLayout);
-		
-		fWidthLabel= new Label(widthHeightNameComp, SWT.NONE);
-		fWidthLabel.setText(LauncherMessages.getString("appletlauncher.argumenttab.widthlabel.text")); //$NON-NLS-1$
-		fWidthLabel.setFont(font);
-		
-		fWidthText = new Text(widthHeightNameComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fWidthText.setLayoutData(gd);
-		fWidthText.setFont(font);
-		fWidthText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		fNameLabel = new Label(widthHeightNameComp, SWT.NONE);
-		fNameLabel.setText(LauncherMessages.getString("appletlauncher.argumenttab.namelabel.text")); //$NON-NLS-1$
-		fNameLabel.setFont(font);
-		
-		fNameText = new Text(widthHeightNameComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fNameText.setLayoutData(gd);
-		fNameText.setFont(font);
-		fNameText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});	
-
-		fHeightLabel= new Label(widthHeightNameComp, SWT.NONE);
-		fHeightLabel.setText(LauncherMessages.getString("appletlauncher.argumenttab.heightlabel.text")); //$NON-NLS-1$
-		fHeightLabel.setFont(font);
-		
-		fHeightText = new Text(widthHeightNameComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fHeightText.setLayoutData(gd);
-		fHeightText.setFont(font);
-		fHeightText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		Label blank = new Label(widthHeightNameComp, SWT.NONE);
-		blank.setText(EMPTY_STRING);
-		Label hint = new Label(widthHeightNameComp, SWT.NONE);
-		hint.setText(LauncherMessages.getString("AppletParametersTab.(optional_applet_instance_name)_1")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
-		hint.setLayoutData(gd);
-		hint.setFont(font);
-				
-		createVerticalSpacer(comp);
-		
-		Composite parametersComp = new Composite(comp, SWT.NONE);
-		gd = new GridData(GridData.FILL_BOTH);
-		parametersComp.setLayoutData(gd);
-		GridLayout parametersLayout = new GridLayout();
-		parametersLayout.numColumns = 2;
-		parametersLayout.marginHeight = 0;
-		parametersLayout.marginWidth = 0;
-		parametersComp.setLayout(parametersLayout);
-		parametersComp.setFont(font);
-		
-		Label parameterLabel = new Label(parametersComp, SWT.NONE);
-		parameterLabel.setText(LauncherMessages.getString("appletlauncher.argumenttab.parameterslabel.text")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		parameterLabel.setLayoutData(gd);
-		parameterLabel.setFont(font);
-		
-		fParametersTable = new Table(parametersComp, SWT.BORDER | SWT.MULTI);
-		fParametersTable.setData(IJavaLaunchConfigurationConstants.ATTR_APPLET_PARAMETERS);
-		TableLayout tableLayout = new TableLayout();
-		fParametersTable.setLayout(tableLayout);
-		fParametersTable.setFont(font);
-		gd = new GridData(GridData.FILL_BOTH);
-		fParametersTable.setLayoutData(gd);
-		TableColumn column1 = new TableColumn(this.fParametersTable, SWT.NONE);
-		column1.setText(LauncherMessages.getString("appletlauncher.argumenttab.parameterscolumn.name.text")); //$NON-NLS-1$
-		TableColumn column2 = new TableColumn(this.fParametersTable, SWT.NONE);
-		column2.setText(LauncherMessages.getString("appletlauncher.argumenttab.parameterscolumn.value.text"));		 //$NON-NLS-1$
-		tableLayout.addColumnData(new ColumnWeightData(100));
-		tableLayout.addColumnData(new ColumnWeightData(100));
-		fParametersTable.setHeaderVisible(true);
-		fParametersTable.setLinesVisible(true);
-		fParametersTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				setParametersButtonsEnableState();
-			}
-		});
-		fParametersTable.addMouseListener(new MouseAdapter() {
-			public void mouseDoubleClick(MouseEvent e) {
-				setParametersButtonsEnableState();
-				if (fParametersEditButton.isEnabled()) {
-					handleParametersEditButtonSelected();
-				}
-			}
-		});
-	
-		Composite envButtonComp = new Composite(parametersComp, SWT.NONE);
-		GridLayout envButtonLayout = new GridLayout();
-		envButtonLayout.marginHeight = 0;
-		envButtonLayout.marginWidth = 0;
-		envButtonComp.setLayout(envButtonLayout);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-		envButtonComp.setLayoutData(gd);
-		envButtonComp.setFont(font);
-		
-		fParametersAddButton = createPushButton(envButtonComp ,LauncherMessages.getString("appletlauncher.argumenttab.parameters.button.add.text"), null); //$NON-NLS-1$
-		fParametersAddButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleParametersAddButtonSelected();
-			}
-		});
-		
-		fParametersEditButton = createPushButton(envButtonComp, LauncherMessages.getString("appletlauncher.argumenttab.parameters.button.edit.text"), null); //$NON-NLS-1$
-		fParametersEditButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleParametersEditButtonSelected();
-			}
-		});
-		
-		fParametersRemoveButton = createPushButton(envButtonComp, LauncherMessages.getString("appletlauncher.argumenttab.parameters.button.remove.text"), null); //$NON-NLS-1$
-		fParametersRemoveButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleParametersRemoveButtonSelected();
-			}
-		});
-	}
-
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		try {
-			Integer.parseInt(fWidthText.getText().trim());
-		} catch(NumberFormatException nfe) {
-			setErrorMessage(LauncherMessages.getString("appletlauncher.argumenttab.width.error.notaninteger")); //$NON-NLS-1$
-			return false;
-		}
-		try {
-			Integer.parseInt(fHeightText.getText().trim());
-		} catch(NumberFormatException nfe) {
-			setErrorMessage(LauncherMessages.getString("appletlauncher.argumenttab.height.error.notaninteger")); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-
-	private void handleParametersAddButtonSelected() {
-		NameValuePairDialog dialog = 
-			new NameValuePairDialog(getShell(), 
-				LauncherMessages.getString("appletlauncher.argumenttab.parameters.dialog.add.title"),  //$NON-NLS-1$
-				new String[] {LauncherMessages.getString("appletlauncher.argumenttab.parameters.dialog.add.name.text"), LauncherMessages.getString("appletlauncher.argumenttab.parameters.dialog.add.value.text")},  //$NON-NLS-1$ //$NON-NLS-2$
-				new String[] {EMPTY_STRING, EMPTY_STRING},
-				true); 
-		openNewParameterDialog(dialog, null);
-		setParametersButtonsEnableState();
-	}
-
-	private void handleParametersEditButtonSelected() {
-		TableItem selectedItem = this.fParametersTable.getSelection()[0];
-		String name = selectedItem.getText(0);
-		String value = selectedItem.getText(1);
-		NameValuePairDialog dialog =
-			new NameValuePairDialog(getShell(), 
-				LauncherMessages.getString("appletlauncher.argumenttab.parameters.dialog.edit.title"),  //$NON-NLS-1$
-				new String[] {LauncherMessages.getString("appletlauncher.argumenttab.parameters.dialog.edit.name.text"), LauncherMessages.getString("appletlauncher.argumenttab.parameters.dialog.edit.value.text")},  //$NON-NLS-1$ //$NON-NLS-2$
-				new String[] {name, value},
-				false);
-		openNewParameterDialog(dialog, selectedItem);		
-	}
-
-	private void handleParametersRemoveButtonSelected() {
-		int[] selectedIndices = this.fParametersTable.getSelectionIndices();
-		this.fParametersTable.remove(selectedIndices);
-		setParametersButtonsEnableState();
-	}
-
-	/**
-	 * Set the enabled state of the three environment variable-related buttons based on the
-	 * selection in the Table widget.
-	 */
-	private void setParametersButtonsEnableState() {
-		int selectCount = this.fParametersTable.getSelectionIndices().length;
-		if (selectCount < 1) {
-			fParametersEditButton.setEnabled(false);
-			fParametersRemoveButton.setEnabled(false);
-		} else {
-			fParametersRemoveButton.setEnabled(true);
-			if (selectCount == 1) {
-				fParametersEditButton.setEnabled(true);
-			} else {
-				fParametersEditButton.setEnabled(false);
-			}
-		}		
-		fParametersAddButton.setEnabled(true);
-	}
-
-	/**
-	 * Show the specified dialog and update the parameter table based on its results.
-	 * 
-	 * @param updateItem the item to update, or <code>null</code> if
-	 *  adding a new item
-	 */
-	private void openNewParameterDialog(NameValuePairDialog dialog, TableItem updateItem) {
-		if (dialog.open() != Window.OK) {
-			return;
-		}
-		String[] nameValuePair = dialog.getNameValuePair();
-		TableItem tableItem = updateItem;
-		if (tableItem == null) {
-			tableItem = getTableItemForName(nameValuePair[0]);
-			if (tableItem == null) {
-				tableItem = new TableItem(this.fParametersTable, SWT.NONE);
-			}
-		}
-		tableItem.setText(nameValuePair);
-		this.fParametersTable.setSelection(new TableItem[] {tableItem});
-		updateLaunchConfigurationDialog();	
-	}
-	
-	/**
-	 * Helper method that indicates whether the specified parameter name is already present 
-	 * in the parameters table.
-	 */
-	private TableItem getTableItemForName(String candidateName) {
-		TableItem[] items = this.fParametersTable.getItems();
-		for (int i = 0; i < items.length; i++) {
-			String name = items[i].getText(0);
-			if (name.equals(candidateName)) {
-				return items[i];
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_WIDTH, Integer.parseInt(fWidthText.getText()));
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_HEIGHT, Integer.parseInt(fHeightText.getText()));
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_NAME, (String)fNameText.getText());
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_PARAMETERS, getMapFromParametersTable());
-	}
-	
-	private Map getMapFromParametersTable() {
-		TableItem[] items = fParametersTable.getItems();
-		if (items.length == 0) {
-			return null;
-		}
-		Map map = new HashMap(items.length);
-		for (int i = 0; i < items.length; i++) {
-			TableItem item = items[i];
-			String key = item.getText(0);
-			String value = item.getText(1);
-			map.put(key, value);
-		}		
-		return map;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-	}
-	
-	private void updateParametersFromConfig(ILaunchConfiguration config) {
-		Map envVars = null;
-		try {
-			if (config != null) {
-				envVars = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_PARAMETERS, (Map)null);
-			}
-			updateTable(envVars, this.fParametersTable);
-			setParametersButtonsEnableState();
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-	}
-
-	private void updateTable(Map map, Table tableWidget) {
-		tableWidget.removeAll();
-		if (map == null) {
-			return;
-		}
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			String value = (String) map.get(key);
-			TableItem tableItem = new TableItem(tableWidget, SWT.NONE);
-			tableItem.setText(new String[] {key, value});			
-		}
-	}
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration config) {
-		try {
-			fWidthText.setText(Integer.toString(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_WIDTH, DEFAULT_APPLET_WIDTH))); //$NON-NLS-1$
-		} catch(CoreException ce) {
-			fWidthText.setText(Integer.toString(DEFAULT_APPLET_WIDTH)); //$NON-NLS-1$
-		}
-		try {
-			fHeightText.setText(Integer.toString(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_HEIGHT, DEFAULT_APPLET_HEIGHT))); //$NON-NLS-1$
-		} catch(CoreException ce) {
-			fHeightText.setText(Integer.toString(DEFAULT_APPLET_HEIGHT)); //$NON-NLS-1$
-		}
-		try {
-			fNameText.setText(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_NAME, LauncherMessages.getString("appletlauncher.argumenttab.name.defaultvalue"))); //$NON-NLS-1$
-		} catch(CoreException ce) {
-			fNameText.setText(LauncherMessages.getString("appletlauncher.argumenttab.name.defaultvalue")); //$NON-NLS-1$
-		}
-		updateParametersFromConfig(config);
-	}
-	
-	/**
-	 * Create some empty space 
-	 */
-	private void createVerticalSpacer(Composite comp) {
-		new Label(comp, SWT.NONE);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("appletlauncher.argumenttab.name"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return JavaDebugImages.get(JavaDebugImages.IMG_VIEW_ARGUMENTS_TAB);
-	}	
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaArgumentsTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaArgumentsTab.java
deleted file mode 100644
index 488e348..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaArgumentsTab.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugImages;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.debug.ui.launcher.VMArgumentsBlock;
-import org.eclipse.jdt.internal.debug.ui.launcher.WorkingDirectoryBlock;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A launch configuration tab that displays and edits program arguments,
- * VM arguments, and working directory launch configuration attributes.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-public class JavaArgumentsTab extends JavaLaunchConfigurationTab {
-		
-	// Program arguments widgets
-	protected Label fPrgmArgumentsLabel;
-	protected Text fPrgmArgumentsText;
-
-	// VM arguments widgets
-	protected VMArgumentsBlock fVMArgumentsBlock;
-	
-	// Working directory
-	protected WorkingDirectoryBlock fWorkingDirectoryBlock;
-		
-	protected static final String EMPTY_STRING = ""; //$NON-NLS-1$
-		
-	public JavaArgumentsTab() {
-		fVMArgumentsBlock = createVMArgsBlock();
-		fWorkingDirectoryBlock = createWorkingDirBlock();
-	}
-	
-	protected VMArgumentsBlock createVMArgsBlock() {
-		return new VMArgumentsBlock();
-	}
-	
-	protected WorkingDirectoryBlock createWorkingDirBlock() {
-		return new WorkingDirectoryBlock();
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		comp.setFont(font);
-		setControl(comp);
-		setHelpContextId();
-		GridLayout topLayout = new GridLayout();
-		comp.setLayout(topLayout);		
-		GridData gd;
-		
-		createVerticalSpacer(comp, 1);
-				
-		fPrgmArgumentsLabel = new Label(comp, SWT.NONE);
-		fPrgmArgumentsLabel.setText(LauncherMessages.getString("JavaArgumentsTab.&Program_arguments__5")); //$NON-NLS-1$
-		fPrgmArgumentsLabel.setFont(font);
-		
-		fPrgmArgumentsText = new Text(comp, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 40;
-		gd.widthHint = 100;
-		fPrgmArgumentsText.setLayoutData(gd);
-		fPrgmArgumentsText.setFont(font);
-		fPrgmArgumentsText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fVMArgumentsBlock.createControl(comp);
-				
-		createVerticalSpacer(comp, 1);
-						
-		fWorkingDirectoryBlock.createControl(comp);		
-	}
-	
-	/**
-	 * Set the help context id for this launch config tab.  Subclasses may
-	 * override this method.
-	 */
-	protected void setHelpContextId() {
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_ARGUMENTS_TAB);		
-	}
-			
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-	}
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		return fWorkingDirectoryBlock.isValid(config);
-	}
-
-	/**
-	 * Defaults are empty.
-	 * 
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
-		fVMArgumentsBlock.setDefaults(config);
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String)null);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		try {
-			fPrgmArgumentsText.setText(configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, "")); //$NON-NLS-1$
-			fVMArgumentsBlock.initializeFrom(configuration);
-			fWorkingDirectoryBlock.initializeFrom(configuration);
-		} catch (CoreException e) {
-			setErrorMessage(LauncherMessages.getString("JavaArgumentsTab.Exception_occurred_reading_configuration___15") + e.getStatus().getMessage()); //$NON-NLS-1$
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, getAttributeValueFrom(fPrgmArgumentsText));
-		fVMArgumentsBlock.performApply(configuration);
-		fWorkingDirectoryBlock.performApply(configuration);
-	}
-
-	/**
-	 * Retuns the string in the text widget, or <code>null</code> if empty.
-	 * 
-	 * @return text or <code>null</code>
-	 */
-	protected String getAttributeValueFrom(Text text) {
-		String content = text.getText().trim();
-		if (content.length() > 0) {
-			return content;
-		}
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("JavaArgumentsTab.&Arguments_16"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setLaunchConfigurationDialog(ILaunchConfigurationDialog)
-	 */
-	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
-		super.setLaunchConfigurationDialog(dialog);
-		fWorkingDirectoryBlock.setLaunchConfigurationDialog(dialog);
-		fVMArgumentsBlock.setLaunchConfigurationDialog(dialog);
-	}	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		String m = super.getErrorMessage();
-		if (m == null) {
-			return fWorkingDirectoryBlock.getErrorMessage();
-		}
-		return m;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getMessage()
-	 */
-	public String getMessage() {
-		String m = super.getMessage();
-		if (m == null) {
-			return fWorkingDirectoryBlock.getMessage();
-		}
-		return m;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return JavaDebugImages.get(JavaDebugImages.IMG_VIEW_ARGUMENTS_TAB);
-	}	
-
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaClasspathTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaClasspathTab.java
deleted file mode 100644
index 7e8b746..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaClasspathTab.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
-
-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.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.actions.AddAdvancedAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddExternalFolderAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddExternalJarAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddFolderAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddJarAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddProjectAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddVariableAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AttachSourceAction;
-import org.eclipse.jdt.internal.debug.ui.actions.MoveDownAction;
-import org.eclipse.jdt.internal.debug.ui.actions.MoveUpAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RemoveAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RuntimeClasspathAction;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.action.IAction;
-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.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-
-/**
- * A launch configuration tab that displays and edits the user and
- * bootstrap classes comprising the classpath launch configuration
- * attribute.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-public class JavaClasspathTab extends JavaLaunchConfigurationTab {
-
-	protected TabFolder fPathTabFolder;
-	protected TabItem fBootPathTabItem;
-	protected TabItem fClassPathTabItem;
-	protected RuntimeClasspathViewer fClasspathViewer;
-	protected RuntimeClasspathViewer fBootpathViewer;
-	protected Button fClassPathDefaultButton;
-	protected List fActions = new ArrayList(10);
-	protected Image fImage = null;
-
-	protected static final String DIALOG_SETTINGS_PREFIX = "JavaClasspathTab"; //$NON-NLS-1$
-	
-	/**
-	 * The last launch config this tab was initialized from
-	 */
-	protected ILaunchConfiguration fLaunchConfiguration;
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_CLASSPATH_TAB);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 2;
-		comp.setLayout(topLayout);		
-		GridData gd;
-		
-		createVerticalSpacer(comp, 2);
-		
-		fPathTabFolder = new TabFolder(comp, SWT.NONE);
-		gd = new GridData(GridData.FILL_BOTH);
-		fPathTabFolder.setLayoutData(gd);
-		fPathTabFolder.setFont(font);
-		fPathTabFolder.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				TabItem[] tabs = fPathTabFolder.getSelection();
-				if (tabs.length == 1) {
-					RuntimeClasspathViewer data = (RuntimeClasspathViewer)tabs[0].getData();
-					retargetActions(data);
-				}
-			}
-		});
-		
-		fClasspathViewer = new RuntimeClasspathViewer(fPathTabFolder);
-		fClasspathViewer.addEntriesChangedListener(this);
-		fClasspathViewer.getControl().setFont(font);
-		fClassPathTabItem = new TabItem(fPathTabFolder, SWT.NONE, 0);
-		fClassPathTabItem.setText(LauncherMessages.getString("JavaClasspathTab.Us&er_classes_1")); //$NON-NLS-1$
-		fClassPathTabItem.setControl(fClasspathViewer.getControl());
-		fClassPathTabItem.setData(fClasspathViewer);
-
-		fBootpathViewer = new RuntimeClasspathViewer(fPathTabFolder);
-		fBootpathViewer.addEntriesChangedListener(this);
-		fBootpathViewer.getControl().setFont(font);
-		fBootPathTabItem = new TabItem(fPathTabFolder, SWT.NONE, 1);
-		fBootPathTabItem.setText(LauncherMessages.getString("JavaClasspathTab.&Bootstrap_classes_2")); //$NON-NLS-1$
-		fBootPathTabItem.setControl(fBootpathViewer.getControl());
-		fBootPathTabItem.setData(fBootpathViewer);
-
-		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);
-						
-		fClassPathDefaultButton = new Button(comp, SWT.CHECK);
-		fClassPathDefaultButton.setText(LauncherMessages.getString("JavaEnvironmentTab.Use_defau&lt_classpath_10")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fClassPathDefaultButton.setLayoutData(gd);
-		fClassPathDefaultButton.setFont(font);
-		fClassPathDefaultButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleClasspathDefaultButtonSelected();
-			}
-		});
-		
-		createVerticalSpacer(pathButtonComp, 1);
-		
-		List advancedActions = new ArrayList(5);
-		
-		RuntimeClasspathAction action = new MoveUpAction(null);								
-		Button button  = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		addAction(action);
-		
-		action = new MoveDownAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		addAction(action);		
-
-		action = new RemoveAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		addAction(action);		
-		
-		action = new AddProjectAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		addAction(action);		
-
-		action = new AddJarAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		addAction(action);		
-
-		action = new AddExternalJarAction(null, DIALOG_SETTINGS_PREFIX);								
-		button  = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		addAction(action);		
-
-		action = new AddFolderAction(null);								
-		advancedActions.add(action);
-
-		action = new AddExternalFolderAction(null, DIALOG_SETTINGS_PREFIX);								
-		advancedActions.add(action);		
-
-		action = new AddVariableAction(null);								
-		advancedActions.add(action);		
-		
-		action = new AttachSourceAction(null);								
-		advancedActions.add(action);
-		
-		IAction[] adv = (IAction[])advancedActions.toArray(new IAction[advancedActions.size()]);
-		action = new AddAdvancedAction(null, adv);
-		button = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		addAction(action);
-														
-		retargetActions(fClasspathViewer);		
-	}
-
-	/**
-	 * The default classpath button has been toggled
-	 */
-	protected void handleClasspathDefaultButtonSelected() {
-		setDirty(true);
-		boolean useDefault = fClassPathDefaultButton.getSelection();
-		fClassPathDefaultButton.setSelection(useDefault);
-		if (useDefault) {
-			displayDefaultClasspath();
-		}
-		fClasspathViewer.setEnabled(!useDefault);
-		fBootpathViewer.setEnabled(!useDefault);
-		updateLaunchConfigurationDialog();
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		boolean useDefault = true;
-		try {
-			useDefault = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, true);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		
-		if (configuration == getLaunchConfiguration()) {
-			// no need to update if an explicit path is being used and this setting
-			// has not changed (and viewing the same config as last time)
-			if (!useDefault && !fClassPathDefaultButton.getSelection()) {
-				setDirty(false);
-				return;			
-			}
-		}
-		
-		setLaunchConfiguration(configuration);
-		fClassPathDefaultButton.setSelection(useDefault);
-		try {
-			setClasspathEntries(JavaRuntime.computeUnresolvedRuntimeClasspath(configuration));
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != IJavaLaunchConfigurationConstants.ERR_NOT_A_JAVA_PROJECT) {
-				// do not log error if this is a reference to a non-existent project
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		fClasspathViewer.setEnabled(!useDefault);
-		fBootpathViewer.setEnabled(!useDefault);
-		fClasspathViewer.setLaunchConfiguration(configuration);
-		fBootpathViewer.setLaunchConfiguration(configuration);
-		setDirty(false);
-	}
-
-	/**
-	 * Displays the default classpath in the UI
-	 */
-	protected void displayDefaultClasspath() {
-		ILaunchConfiguration config = getLaunchConfiguration();
-		ILaunchConfigurationWorkingCopy wc = null;
-		try {
-			if (config.isWorkingCopy()) {
-				wc= (ILaunchConfigurationWorkingCopy)config;
-			} else {
-				wc = config.getWorkingCopy();
-			}
-			performApply(wc);
-			setClasspathEntries(JavaRuntime.computeUnresolvedRuntimeClasspath(wc));
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-
-	}
-	
-	/**
-	 * Displays the given classpath entries, grouping into user and bootstrap entries
-	 */
-	protected void setClasspathEntries(IRuntimeClasspathEntry[] entries) {
-		List cp = new ArrayList(entries.length);
-		List bp = new ArrayList(entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			switch (entries[i].getClasspathProperty()) {
-				case IRuntimeClasspathEntry.USER_CLASSES:
-					cp.add(entries[i]);
-					break;
-				default:
-					bp.add(entries[i]);
-					break;
-			}
-		}
-		fClasspathViewer.setEntries((IRuntimeClasspathEntry[])cp.toArray(new IRuntimeClasspathEntry[cp.size()]));
-		fBootpathViewer.setEntries((IRuntimeClasspathEntry[])bp.toArray(new IRuntimeClasspathEntry[bp.size()]));		
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if (isDirty()) {
-			boolean def = fClassPathDefaultButton.getSelection();		
-			if (def) {
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, (String)null);
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, (String)null);
-			} else {
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
-				try {
-					IRuntimeClasspathEntry[] boot = fBootpathViewer.getEntries();
-					IRuntimeClasspathEntry[] user = fClasspathViewer.getEntries();
-					List mementos = new ArrayList(boot.length + user.length);
-					for (int i = 0; i < boot.length; i++) {
-						boot[i].setClasspathProperty(IRuntimeClasspathEntry.BOOTSTRAP_CLASSES);
-						mementos.add(boot[i].getMemento());
-					}
-					for (int i = 0; i < user.length; i++) {
-						user[i].setClasspathProperty(IRuntimeClasspathEntry.USER_CLASSES);
-						mementos.add(user[i].getMemento());
-					}
-					configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, mementos);
-				} catch (CoreException e) {
-					JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("JavaClasspathTab.Unable_to_save_classpath_1"), e); //$NON-NLS-1$
-				}	
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("JavaClasspathTab.Cla&ss_path_3"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		if (fImage == null) {
-			fImage = JavaPluginImages.DESC_TOOL_CLASSPATH_ORDER.createImage();
-		}
-		return fImage;
-	}		
-	
-	/**
-	 * Sets the java project currently specified by the
-	 * given launch config, if any.
-	 */
-	protected void setLaunchConfiguration(ILaunchConfiguration config) {
-		fLaunchConfiguration = config;
-	}	
-	
-	/**
-	 * Returns the current java project context
-	 */
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		return fLaunchConfiguration;
-	}
-	
-	/**
-	 * Adds the given action to the action collection in this tab
-	 */
-	protected void addAction(RuntimeClasspathAction action) {
-		fActions.add(action);
-	}
-	
-	/**
-	 * Re-targets actions to the given viewer
-	 */
-	protected void retargetActions(RuntimeClasspathViewer viewer) {
-		Iterator actions = fActions.iterator();
-		while (actions.hasNext()) {
-			RuntimeClasspathAction action = (RuntimeClasspathAction)actions.next();
-			action.setViewer(viewer);
-		}
-	}
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-		if (fClasspathViewer != null) {
-			fClasspathViewer.removeEntriesChangedListener(this);
-			fBootpathViewer.removeEntriesChangedListener(this);
-		}
-		if (fImage != null) {
-			fImage.dispose();
-		}
-		super.dispose();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaConnectTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaConnectTab.java
deleted file mode 100644
index 2a33b7b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaConnectTab.java
+++ /dev/null
@@ -1,578 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-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.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.ComboFieldEditor;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMConnector;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferenceStore;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.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.Text;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import com.sun.jdi.connect.Connector;
-
-/**
- * A launch configuration tab that displays and edits the project associated
- * with a remote connection and the connector used to connect to a remote
- * VM.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-public class JavaConnectTab extends JavaLaunchConfigurationTab implements IPropertyChangeListener {
-
-	// Project UI widgets
-	protected Label fProjLabel;
-	protected Text fProjText;
-	protected Button fProjButton;
-	
-	// Allow terminate UI widgets
-	protected Button fAllowTerminateButton;
-	
-	// Connector attributes for selected connector
-	protected Map fArgumentMap;
-	protected Map fFieldEditorMap = new HashMap();
-	protected Composite fArgumentComposite;
-	// the selected connector
-	protected IVMConnector fConnector;
-	
-	// Connector combo
-	protected Combo fConnectorCombo;
-	protected IVMConnector[] fConnectors = JavaRuntime.getVMConnectors();
-	
-	protected static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_CONNECT_TAB);
-		GridLayout topLayout = new GridLayout();
-		topLayout.marginHeight = 0;
-		comp.setLayout(topLayout);		
-		GridData gd;
-		
-		createVerticalSpacer(comp, 1);
-
-		Composite projComp = new Composite(comp, SWT.NONE);
-		GridLayout projLayout = new GridLayout();
-		projLayout.numColumns = 2;
-		projLayout.marginHeight = 0;
-		projLayout.marginWidth = 0;
-		projComp.setLayout(projLayout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		projComp.setLayoutData(gd);
-		projComp.setFont(font);
-		
-		fProjLabel = new Label(projComp, SWT.NONE);
-		fProjLabel.setText(LauncherMessages.getString("JavaConnectTab.&Project__2")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		fProjLabel.setLayoutData(gd);
-		fProjLabel.setFont(font);
-		
-		fProjText = new Text(projComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fProjText.setLayoutData(gd);
-		fProjText.setFont(font);
-		fProjText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fProjButton = createPushButton(projComp, LauncherMessages.getString("JavaConnectTab.&Browse_3"), null); //$NON-NLS-1$
-		fProjButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleProjectButtonSelected();
-			}
-		});
-		
-		Composite connectorComp = new Composite(comp,SWT.NONE);
-		GridLayout y = new GridLayout();
-		y.numColumns = 2;
-		y.marginHeight = 0;
-		y.marginWidth = 0;
-		connectorComp.setLayout(y);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		connectorComp.setLayoutData(gd);
-		
-		Label l = new Label(connectorComp, SWT.NONE);
-		l.setText(LauncherMessages.getString("JavaConnectTab.Connect&ion_Type__7")); //$NON-NLS-1$
-		gd = new GridData(GridData.BEGINNING);
-		gd.horizontalSpan = 2;
-		l.setLayoutData(gd);
-		l.setFont(font);
-		
-		fConnectorCombo = new Combo(connectorComp, SWT.READ_ONLY);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fConnectorCombo.setLayoutData(gd);
-		fConnectorCombo.setFont(font);
-		String[] names = new String[fConnectors.length];
-		for (int i = 0; i < fConnectors.length; i++) {
-			names[i] = fConnectors[i].getName();
-		}
-		fConnectorCombo.setItems(names);
-		fConnectorCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleConnectorComboModified();
-			}
-		});
-		
-		createVerticalSpacer(comp, 2);
-		
-		Group group = new Group(comp, SWT.NONE);
-		group.setText(LauncherMessages.getString("JavaConnectTab.Connection_Properties_1")); //$NON-NLS-1$
-		group.setLayout(new GridLayout());
-		group.setFont(font);
-		gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		group.setLayoutData(gd);		
-	
-		//Add in an intermediate composite to allow for spacing
-		Composite spacingComposite = new Composite(group, SWT.NONE);
-		y = new GridLayout();
-		spacingComposite.setLayout(y);
-		gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		spacingComposite.setLayoutData(gd);	
-		fArgumentComposite= spacingComposite;
-		
-		createVerticalSpacer(comp, 2);		
-		
-		fAllowTerminateButton = new Button(comp, SWT.CHECK);
-		fAllowTerminateButton.setText(LauncherMessages.getString("JavaConnectTab.&Allow_termination_of_remote_VM_6")); //$NON-NLS-1$
-		fAllowTerminateButton.setFont(font);
-		fAllowTerminateButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}
-
-	/**
-	 * Update the argument area to show the selected connector's arguments
-	 */
-	protected void handleConnectorComboModified() {
-		int index = fConnectorCombo.getSelectionIndex();
-		if ( (index < 0) || (index >= fConnectors.length) ) {
-			return;
-		}
-		IVMConnector vm = fConnectors[index];
-		if (vm.equals(fConnector)) {
-			return; // selection did not change
-		}
-		fConnector = vm;
-		try {
-			fArgumentMap = vm.getDefaultArguments();
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("JavaConnectTab.Unable_to_display_connection_arguments._2"), e.getStatus()); //$NON-NLS-1$
-			return;
-		}
-		
-		// Dispose of any current child widgets in the tab holder area
-		Control[] children = fArgumentComposite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			children[i].dispose();
-		}
-		fFieldEditorMap.clear();
-		PreferenceStore store = new PreferenceStore();
-		// create editors
-		Iterator keys = vm.getArgumentOrder().iterator();
-		while (keys.hasNext()) {
-			String key = (String)keys.next();
-			Connector.Argument arg = (Connector.Argument)fArgumentMap.get(key);
-			FieldEditor field = null;
-			if (arg instanceof Connector.IntegerArgument) {
-				store.setDefault(arg.name(), ((Connector.IntegerArgument)arg).intValue());
-				field = new IntegerFieldEditor(arg.name(), getLabel(arg.label()), fArgumentComposite);
-			} else if (arg instanceof Connector.SelectedArgument) {
-				List choices = ((Connector.SelectedArgument)arg).choices();
-				String[][] namesAndValues = new String[choices.size()][2];
-				Iterator iter = choices.iterator();
-				int count = 0;
-				while (iter.hasNext()) {
-					String choice = (String)iter.next();
-					namesAndValues[count][0] = choice;
-					namesAndValues[count][1] = choice;
-					count++;
-				}
-				store.setDefault(arg.name(), arg.value());
-				field = new ComboFieldEditor(arg.name(), getLabel(arg.label()), namesAndValues, fArgumentComposite);
-			} else if (arg instanceof Connector.StringArgument) {
-				store.setDefault(arg.name(), arg.value());
-				field = new StringFieldEditor(arg.name(), getLabel(arg.label()), fArgumentComposite);
-			} else if (arg instanceof Connector.BooleanArgument) {
-				store.setDefault(arg.name(), ((Connector.BooleanArgument)arg).booleanValue());
-				field = new BooleanFieldEditor(arg.name(), getLabel(arg.label()), fArgumentComposite);					
-			}
-			field.setPreferenceStore(store);
-			field.loadDefault();
-			field.setPropertyChangeListener(this);
-			fFieldEditorMap.put(key, field);
-		}
-		
-		fArgumentComposite.getParent().getParent().layout();
-		fArgumentComposite.layout();
-	}
-	
-	/**
-	 * Adds a colon to the label if required
-	 */
-	protected String getLabel(String label) {
-		if (!label.endsWith(":")) { //$NON-NLS-1$
-			label += ":"; //$NON-NLS-1$
-		}
-		return label;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration config) {
-		updateProjectFromConfig(config);
-		updateAllowTerminateFromConfig(config);
-		updateConnectionFromConfig(config);
-	}
-	
-	protected void updateProjectFromConfig(ILaunchConfiguration config) {
-		String projectName = ""; //$NON-NLS-1$
-		try {
-			projectName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, EMPTY_STRING);	
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-		fProjText.setText(projectName);
-	}
-	
-	protected void updateAllowTerminateFromConfig(ILaunchConfiguration config) {
-		boolean allowTerminate = false;
-		try {
-			allowTerminate = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_ALLOW_TERMINATE, false);	
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);		
-		}
-		fAllowTerminateButton.setSelection(allowTerminate);	
-	}
-
-	protected void updateConnectionFromConfig(ILaunchConfiguration config) {
-		String id = null;
-		try {
-			id = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_CONNECTOR, JavaRuntime.getDefaultVMConnector().getIdentifier());
-			fConnectorCombo.setText(JavaRuntime.getVMConnector(id).getName());
-			handleConnectorComboModified();
-			
-			Map attrMap = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, (Map)null);
-			if (attrMap == null) {
-				return;
-			}
-			Iterator keys = attrMap.keySet().iterator();
-			while (keys.hasNext()) {
-				String key = (String)keys.next();
-				Connector.Argument arg = (Connector.Argument)fArgumentMap.get(key);
-				FieldEditor editor = (FieldEditor)fFieldEditorMap.get(key);
-				if (arg != null && editor != null) {
-					String value = (String)attrMap.get(key);
-					if (arg instanceof Connector.StringArgument || arg instanceof Connector.SelectedArgument) {
-						editor.getPreferenceStore().setValue(key, value);
-					} else if (arg instanceof Connector.BooleanArgument) {
-						boolean b = new Boolean(value).booleanValue();
-						editor.getPreferenceStore().setValue(key, b);
-					} else if (arg instanceof Connector.IntegerArgument) {
-						int i = new Integer(value).intValue();
-						editor.getPreferenceStore().setValue(key, i);
-					}
-					editor.load();
-				}
-			}						
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}	
-			
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-	}
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, fProjText.getText().trim());
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_ALLOW_TERMINATE, fAllowTerminateButton.getSelection());
-		IVMConnector vmc = getSelectedConnector();
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_CONNECTOR, vmc.getIdentifier());
-		
-		Map attrMap = new HashMap(fFieldEditorMap.size());
-		Iterator keys = fFieldEditorMap.keySet().iterator();
-		while (keys.hasNext()) {
-			String key = (String)keys.next();
-			FieldEditor editor = (FieldEditor)fFieldEditorMap.get(key);
-			if (!editor.isValid()) {
-				return;
-			}
-			Connector.Argument arg = (Connector.Argument)fArgumentMap.get(key);
-			editor.store();
-			if (arg instanceof Connector.StringArgument || arg instanceof Connector.SelectedArgument) {
-				String value = editor.getPreferenceStore().getString(key);
-				attrMap.put(key, value);
-			} else if (arg instanceof Connector.BooleanArgument) {
-				boolean value = editor.getPreferenceStore().getBoolean(key);
-				attrMap.put(key, new Boolean(value).toString());
-			} else if (arg instanceof Connector.IntegerArgument) {
-				int value = editor.getPreferenceStore().getInt(key);
-				attrMap.put(key, new Integer(value).toString());
-			}
-		}				
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, attrMap);
-	}
-		
-	/**
-	 * Show a dialog that lets the user select a project.  This in turn provides
-	 * context for the main type, allowing the user to key a main type name, or
-	 * constraining the search for main types to the specified project.
-	 */
-	protected void handleProjectButtonSelected() {
-		IJavaProject project = chooseJavaProject();
-		if (project == null) {
-			return;
-		}
-		
-		String projectName = project.getElementName();
-		fProjText.setText(projectName);		
-	}
-	
-	/**
-	 * Realize a Java Project selection dialog and return the first selected project,
-	 * or null if there was none.
-	 */
-	protected IJavaProject chooseJavaProject() {
-		IJavaProject[] projects;
-		try {
-			projects= JavaCore.create(getWorkspaceRoot()).getJavaProjects();
-		} catch (JavaModelException e) {
-			JDIDebugUIPlugin.log(e);
-			projects= new IJavaProject[0];
-		}
-		
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setTitle(LauncherMessages.getString("JavaConnectTab.Project_selection_10")); //$NON-NLS-1$
-		dialog.setMessage(LauncherMessages.getString("JavaConnectTab.Choose_a_project_to_constrain_the_search_for_main_types_11")); //$NON-NLS-1$
-		dialog.setElements(projects);
-		
-		IJavaProject javaProject = getJavaProject();
-		if (javaProject != null) {
-			dialog.setInitialSelections(new Object[] { javaProject });
-		}
-		if (dialog.open() == ElementListSelectionDialog.OK) {			
-			return (IJavaProject) dialog.getFirstResult();
-		}			
-		return null;		
-	}
-	
-	/**
-	 * Return the IJavaProject corresponding to the project name in the project name
-	 * text field, or null if the text does not match a project name.
-	 */
-	protected IJavaProject getJavaProject() {
-		String projectName = fProjText.getText().trim();
-		if (projectName.length() < 1) {
-			return null;
-		}
-		return getJavaModel().getJavaProject(projectName);		
-	}
-	
-	/**
-	 * Convenience method to get the workspace root.
-	 */
-	private IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	/**
-	 * Convenience method to get access to the java model.
-	 */
-	private IJavaModel getJavaModel() {
-		return JavaCore.create(getWorkspaceRoot());
-	}
-
-	/**
-	 * Initialize default settings for the given Java element
-	 */
-	protected void initializeDefaults(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		initializeJavaProject(javaElement, config);
-		initializeName(javaElement, config);
-		initializeHardCodedDefaults(config);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		IJavaElement javaElement = getContext();
-		if (javaElement == null) {
-			initializeHardCodedDefaults(config);
-		} else {
-			initializeDefaults(javaElement, config);
-		}
-	}
-
-	/**
-	 * Find the first instance of a type, compilation unit, class file or project in the
-	 * specified element's parental hierarchy, and use this as the default name.
-	 */
-	protected void initializeName(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		String name = ""; //$NON-NLS-1$
-		try {
-			IResource resource = javaElement.getUnderlyingResource();
-			if (resource != null) {
-				name = resource.getName();
-				int index = name.lastIndexOf('.');
-				if (index > 0) {
-					name = name.substring(0, index);
-				}
-			} else {
-				name= javaElement.getElementName();
-			}
-			name = getLaunchConfigurationDialog().generateName(name);				
-		} catch (JavaModelException jme) {
-			JDIDebugUIPlugin.log(jme);
-		}
-		config.rename(name);
-	}
-
-	/**
-	 * Initialize those attributes whose default values are independent of any context.
-	 */
-	protected void initializeHardCodedDefaults(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_ALLOW_TERMINATE, false);
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_CONNECTOR, JavaRuntime.getDefaultVMConnector().getIdentifier());
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		
-		setErrorMessage(null);
-		setMessage(null);
-
-		// project		
-		String name = fProjText.getText().trim();
-		if (name.length() > 0) {
-			if (!ResourcesPlugin.getWorkspace().getRoot().getProject(name).exists()) {
-				setErrorMessage(LauncherMessages.getString("JavaConnectTab.Project_does_not_exist_14")); //$NON-NLS-1$
-				return false;
-			}
-		}
-
-		Iterator keys = fFieldEditorMap.keySet().iterator();
-		while (keys.hasNext()) {
-			String key = (String)keys.next();
-			Connector.Argument arg = (Connector.Argument)fArgumentMap.get(key);
-			FieldEditor editor = (FieldEditor)fFieldEditorMap.get(key);
-			if (editor instanceof StringFieldEditor) {
-				String value = ((StringFieldEditor)editor).getStringValue();
-				if (!arg.isValid(value)) {
-					setErrorMessage(arg.label() + LauncherMessages.getString("JavaConnectTab._is_invalid._5")); //$NON-NLS-1$
-					return false;
-				}		
-			}
-		}				
-						
-		return true;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("JavaConnectTab.Conn&ect_20"); //$NON-NLS-1$
-	}			
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return DebugUITools.getImage(IDebugUIConstants.IMG_LCL_DISCONNECT);
-	}
-		
-	/**
-	 * Returns the selected connector
-	 */
-	protected IVMConnector getSelectedConnector() {
-		return fConnector;
-	}
-	/**
-	 * @see IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		updateLaunchConfigurationDialog();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java
deleted file mode 100644
index 5661cdf..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java
+++ /dev/null
@@ -1,654 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
- 
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.AddVMDialog;
-import org.eclipse.jdt.internal.debug.ui.launcher.IAddVMDialogRequestor;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.VMStandin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A launch configuration tab that displays and edits the VM install 
- * launch configuration attributes.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-
-public class JavaJRETab extends JavaLaunchConfigurationTab implements IAddVMDialogRequestor {
-
-	// UI widgets
-	protected Label fJRELabel;
-	protected Combo fJRECombo;
-	protected Button fJREAddButton;
-	
-	// unknown JRE
-	protected String fUnknownVMType;
-	protected String fUnknownVMName;
-	protected boolean fOkToClearUnknownVM = true;
-
-	// Collections used to populate the JRE Combo box
-	protected IVMInstallType[] fVMTypes;
-	protected List fVMStandins;	
-	
-	// Dynamic JRE UI widgets
-	protected ILaunchConfigurationTab fDynamicTab;
-	protected Composite fDynamicTabHolder;
-	protected boolean fUseDynamicArea = true;
-	
-	protected ILaunchConfigurationWorkingCopy fWorkingCopy;
-	protected ILaunchConfiguration fLaunchConfiguration;
-	
-	// State
-	protected boolean fIsInitializing = false;
-	
-	// Constants
-	protected static final String DEFAULT_JRE_NAME_PREFIX = LauncherMessages.getString("JavaJRETab.Default_1"); //$NON-NLS-1$
-	protected static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	
-	/**
-	 * Name of the default VM or <code>null</code> if a default VM does not exist.
-	 */ 
-	protected String fDefaultVMName;
-		
-	/**
-	 * @see ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite topComp = new Composite(parent, SWT.NONE);
-		setControl(topComp);
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_JRE_TAB);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 2;
-		topLayout.marginHeight = 0;
-		topLayout.marginWidth = 0;
-		topComp.setLayout(topLayout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		topComp.setLayoutData(gd);
-		topComp.setFont(font);
-		
-		createVerticalSpacer(topComp, 2);
-		
-		fJRELabel = new Label(topComp, SWT.NONE);
-		fJRELabel.setText(LauncherMessages.getString("JavaJRETab.Run_with_JRE__1")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		fJRELabel.setLayoutData(gd);
-		fJRELabel.setFont(font);
-		
-		fJRECombo = new Combo(topComp, SWT.READ_ONLY);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fJRECombo.setLayoutData(gd);
-		fJRECombo.setFont(font);
-		initializeJREComboBox();
-		fJRECombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				handleJREComboBoxModified();
-			}
-		});
-		
-		fJREAddButton = createPushButton(topComp, LauncherMessages.getString("JavaJRETab.Add"), null);  //$NON-NLS-1$
-		fJREAddButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleJREAddButtonSelected();
-			}
-		});	
-		
-		Composite dynTabComp = new Composite(topComp, SWT.NONE);
-		dynTabComp.setFont(font);
-		
-		setDynamicTabHolder(dynTabComp);
-		GridLayout tabHolderLayout = new GridLayout();
-		tabHolderLayout.marginHeight= 0;
-		tabHolderLayout.marginWidth= 0;
-		tabHolderLayout.numColumns = 1;
-		getDynamicTabHolder().setLayout(tabHolderLayout);
-		gd = new GridData(GridData.FILL_BOTH);
-		getDynamicTabHolder().setLayoutData(gd);
-	}
-
-	protected void setDynamicTabHolder(Composite tabHolder) {
-		this.fDynamicTabHolder = tabHolder;
-	}
-
-	protected Composite getDynamicTabHolder() {
-		return fDynamicTabHolder;
-	}
-
-	protected void setDynamicTab(ILaunchConfigurationTab tab) {
-		fDynamicTab = tab;
-	}
-
-	protected ILaunchConfigurationTab getDynamicTab() {
-		return fDynamicTab;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		setLaunchConfigurationWorkingCopy(config);
-		ILaunchConfigurationTab dynamicTab = getDynamicTab();
-		if (dynamicTab != null) {
-			dynamicTab.setDefaults(config);
-		}
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		fIsInitializing = true;
-		fOkToClearUnknownVM = false;
-		if (getLaunchConfiguration() != null && !configuration.equals(getLaunchConfiguration())) {
-			fUnknownVMName = null;
-			fUnknownVMType = null;
-		}
-		setLaunchConfiguration(configuration);
-		updateJREFromConfig(configuration);
-		ILaunchConfigurationTab dynamicTab = getDynamicTab();
-		if (dynamicTab != null) {
-			dynamicTab.initializeFrom(configuration);
-		}		
-		fOkToClearUnknownVM = true;
-		fIsInitializing = false;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if (fUnknownVMName == null) {
-			int selectedIndex = fJRECombo.getSelectionIndex();
-			if (selectedIndex > -1) {
-				
-				// Find the VM standin corresponding to the selected VM name
-				String selectedVMName = fJRECombo.getItem(selectedIndex);
-				VMStandin vmStandin = getVMStandin(selectedVMName);
-				
-				// A null vmStandin means the default VM was selected, in which case we want
-				// to set null attribute values.  Otherwise, retrieve the name & type ID.
-				String vmName = null;
-				String vmTypeID = null;
-				if (vmStandin != null) {
-					vmName = vmStandin.getName();
-					vmTypeID = vmStandin.getVMInstallType().getId();
-				}
-				
-				// Set the name & type ID attribute values
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmName);
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmTypeID);
-			}	
-			
-			// Handle any attributes in the VM-specific area
-			ILaunchConfigurationTab dynamicTab = getDynamicTab();
-			if (dynamicTab == null) {
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP, (Map)null);
-			} else {
-				dynamicTab.performApply(configuration);
-			}
-		}
-	}
-
-	/**
-	 * Find and return the VMStandin with the specified name.  If the specified
-	 * name is of the default VM, return <code>null</code>.
-	 */
-	private VMStandin getVMStandin(String vmName) {
-		if (vmName.equals(fDefaultVMName)) {
-			return null;
-		}
-		Iterator iterator = fVMStandins.iterator();
-		while (iterator.hasNext()) {
-			VMStandin vmStandin = (VMStandin) iterator.next();
-			if (vmStandin.getName().equals(vmName)) {
-				return vmStandin;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		
-		setErrorMessage(null);
-		setMessage(null);
-		
-		if (fUnknownVMName != null) {
-			setErrorMessage(MessageFormat.format(LauncherMessages.getString("JavaJRETab.Configuration_specifies_undefined_JRE_-_{0}_1"), new String[]{fUnknownVMName}));			 //$NON-NLS-1$
-			return false;
-		}
-		
-		// Don't do any validation if the default VM was chosen
-		int selectedIndex = fJRECombo.getSelectionIndex();
-		if (selectedIndex > 0) {
-			VMStandin vmStandin = (VMStandin)fVMStandins.get(selectedIndex - 1);
-			IVMInstall vm = vmStandin.convertToRealVM();
-			File location = vm.getInstallLocation();
-			if (location == null) {
-				setErrorMessage(LauncherMessages.getString("JavaJRETab.JRE_home_directory_not_specified_36")); //$NON-NLS-1$
-				return false;
-			}
-			if (!location.exists()) {
-				setErrorMessage(LauncherMessages.getString("JavaJRETab.JRE_home_directory_does_not_exist_37")); //$NON-NLS-1$
-				return false;
-			}			
-		} else if (selectedIndex < 0) {
-			setErrorMessage(LauncherMessages.getString("JavaJRETab.JRE_not_specified_38")); //$NON-NLS-1$
-			return false;
-		}		
-
-		ILaunchConfigurationTab dynamicTab = getDynamicTab();
-		if (dynamicTab != null) {
-			return dynamicTab.isValid(config);
-		}
-		return true;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("JavaJRETab.&JRE_1"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return JavaPluginImages.get(JavaPluginImages.IMG_OBJS_LIBRARY);
-	}	
-
-	/**
-	 * @see IAddVMDialogRequestor#isDuplicateName(String)
-	 */
-	public boolean isDuplicateName(String name) {
-		if (name.equals(fDefaultVMName)) {
-			return true;
-		}
-		for (int i = 0; i < fVMStandins.size(); i++) {
-			IVMInstall vm = (IVMInstall)fVMStandins.get(i);
-			if (vm.getName().equals(name)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @see IAddVMDialogRequestor#vmAdded(IVMInstall)
-	 */
-	public void vmAdded(IVMInstall vm) {
-		((VMStandin)vm).convertToRealVM();		
-		try {
-			JavaRuntime.saveVMConfiguration();
-		} catch(CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		fVMStandins.add(vm);
-		populateJREComboBox();
-		selectJREComboBoxEntry(vm.getVMInstallType().getId(), vm.getName());
-	}
-
-	protected void updateJREFromConfig(ILaunchConfiguration config) {
-		String vmName = null;
-		String vmTypeID = null;
-		try {
-			vmTypeID = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-			vmName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);			
-		}
-		populateJREComboBox();
-		selectJREComboBoxEntry(vmTypeID, vmName);
-	}	
-	
-	/**
-	 * Load the JRE related collections, and use these to set the values on the combo box
-	 */
-	protected void initializeJREComboBox() {
-		fVMTypes= JavaRuntime.getVMInstallTypes();
-		fVMStandins= createFakeVMInstalls(fVMTypes);
-		populateJREComboBox();		
-	}
-	
-	/**
-	 * Notification that the user changed the selection in the JRE combo box.
-	 */
-	protected void handleJREComboBoxModified() {
-		if (fOkToClearUnknownVM) {
-			fUnknownVMName = null;
-			fUnknownVMType = null;
-		}
-		
-		loadDynamicJREArea();
-		
-		// always set the newly created area with defaults
-		ILaunchConfigurationWorkingCopy wc = getLaunchConfigurationWorkingCopy();
-		if (getDynamicTab() == null) {
-			// remove any VM specfic args from the config
-			if (wc == null) {
-				if (getLaunchConfiguration().isWorkingCopy()) {
-					wc = (ILaunchConfigurationWorkingCopy)getLaunchConfiguration();
-				}
-			}
-			if (!fIsInitializing) {
-				if (wc != null) {
-					wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP, (Map)null);
-				}
-			}
-		} else {
-			if (wc == null) {
-				try {
-					if (getLaunchConfiguration().isWorkingCopy()) {
-						// get a fresh copy to work on
-						wc = ((ILaunchConfigurationWorkingCopy)getLaunchConfiguration()).getOriginal().getWorkingCopy();
-					} else {
-							wc = getLaunchConfiguration().getWorkingCopy();
-					}
-				} catch (CoreException e) {
-					JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("JavaJRETab.Unable_to_initialize_defaults_for_selected_JRE_1"), e); //$NON-NLS-1$
-					return;
-				}
-			}
-			if (!fIsInitializing) {
-				getDynamicTab().setDefaults(wc);
-				getDynamicTab().initializeFrom(wc);
-			}
-		}
-				
-		updateLaunchConfigurationDialog();		
-	}
-	
-	/**
-	 * Show a dialog that lets the user add a new JRE definition
-	 */
-	protected void handleJREAddButtonSelected() {
-		AddVMDialog dialog= new AddVMDialog(this, getShell(), fVMTypes, null);
-		dialog.setTitle(LauncherMessages.getString("vmPreferencePage.addJRE.title")); //$NON-NLS-1$
-		if (dialog.open() != AddVMDialog.OK) {
-			return;
-		}
-	}	
-	
-	/**
-	 * Set the available items on the JRE combo box
-	 */
-	protected void populateJREComboBox() {
-		
-		ILaunchConfiguration config = getLaunchConfiguration();
-		IVMInstall defaultVM = null;
-		if (config != null) {
-			try {
-				defaultVM = JavaRuntime.computeVMInstall(config);
-			} catch (CoreException e) {
-			}
-		}
-		if (defaultVM == null) {
-			// The default VM is the workspace default if there is no config context
-			defaultVM = JavaRuntime.getDefaultVMInstall();
-		}
-
-		int numVMs = fVMStandins.size();
-		if (defaultVM != null) {
-			numVMs++;
-		}
-		List vmNames = new ArrayList(numVMs);
-		
-		// Set up the default VM name
-		if (defaultVM != null) {
-			fDefaultVMName = constructDefaultJREName(defaultVM);
-			vmNames.add(fDefaultVMName);
-		}
-
-		// Add all installed VMs
-		Iterator iterator = fVMStandins.iterator();
-		while (iterator.hasNext()) {
-			VMStandin standin = (VMStandin)iterator.next();
-			String vmName = standin.getName();
-			vmNames.add(vmName);
-		}
-		Collections.sort(vmNames);
-		fJRECombo.setItems((String[])vmNames.toArray(new String[vmNames.size()]));
-	}	
-	
-	protected String constructDefaultJREName(IVMInstall defaultVM) {
-		String defaultVMName = defaultVM.getName();
-		return DEFAULT_JRE_NAME_PREFIX + " (" + defaultVMName + ')'; //$NON-NLS-1$		
-	}
-	
-	/**
-	 * Cause the specified VM name to be selected in the JRE combo box. This
-	 * relies on the fact that the JRE names in the combo box are in the same
-	 * order as they are in the <code>fVMStandins</code> list.
-	 * 
-	 * @param typeID the VM install type identifier, or <code>null</code> to select "default"
-	 * @param vmName vm name, or <code>null</code> to select "default"
-	 */
-	protected void selectJREComboBoxEntry_OLD(String typeID, String vmName) {
-		int index = 0;
-		int offset = 0;
-		if (fDefaultVMName != null) {
-			offset++;
-		}
-		if (typeID != null && vmName != null) {
-			boolean found = false;
-			for (int i = 0; i < fVMStandins.size(); i++) {
-				VMStandin vmStandin = (VMStandin)fVMStandins.get(i);
-				if (vmStandin.getVMInstallType().getId().equals(typeID) && vmStandin.getName().equals(vmName)) {
-					index = i + offset;
-					found = true;
-					break;
-				}
-			}
-			if (!found) {
-				fUnknownVMName = vmName;
-				fUnknownVMType = typeID;
-			}
-		}
-
-		fJRECombo.select(index);
-	}	
-	
-	protected void selectJREComboBoxEntry(String typeID, String vmName) {
-		
-		// Handle the default VM
-		boolean alreadyTriedDefault = false;
-		String searchName = vmName;
-		if (searchName == null || typeID == null) {
-			searchName = fDefaultVMName;
-			alreadyTriedDefault = true;
-		}
-		
-		// Find the index of the vm name in the combo box's content
-		int index = getVMNameIndex(searchName);
-		
-		// If the name wasn't found, set the 'unknown' fields
-		if (index == -1) {
-			fUnknownVMName = vmName;
-			fUnknownVMType = typeID;	
-			if (!alreadyTriedDefault) {
-				index = getVMNameIndex(fDefaultVMName);
-				if (index == -1) {
-					index = 0;
-				}
-			} else {
-				index = 0;
-			}
-		}
-		
-		// Select the VM name in the combo box
-		fJRECombo.select(index);
-	}
-	
-	/**
-	 * Return the index of the specified VM name in the array of VM names
-	 * contained in the JRE combo box widget.  Return -1 if the specified name
-	 * is not found.
-	 */
-	protected int getVMNameIndex(String searchVMName) {
-		String[] vmNames = fJRECombo.getItems();
-		for (int i = 0; i < vmNames.length; i++) {
-			if (vmNames[i].equals(searchVMName)) {
-				return i;
-			}
-		}
-		
-		return -1;
-	}
-	
-	/**
-	 * Convenience method to remove any selection in the JRE combo box
-	 */
-	protected void clearJREComboBoxEntry() {
-		fJRECombo.deselectAll();
-	}	
-	
-	private java.util.List createFakeVMInstalls(IVMInstallType[] vmTypes) {
-		ArrayList vms= new ArrayList();
-		for (int i= 0; i < vmTypes.length; i++) {
-			IVMInstall[] vmInstalls= vmTypes[i].getVMInstalls();
-			for (int j= 0; j < vmInstalls.length; j++) 
-				vms.add(new VMStandin(vmInstalls[j]));
-		}
-		return vms;
-	}	
-	
-	/**
-	 * Return the class that implements <code>ILaunchConfigurationTab</code>
-	 * that is registered against the install type of the currently selected VM.
-	 */
-	protected ILaunchConfigurationTab getTabForCurrentJRE() {
-		int selectedIndex = fJRECombo.getSelectionIndex();
-		if (selectedIndex > 0) {
-			VMStandin vmStandin = getVMStandin(fJRECombo.getText());
-			if (vmStandin != null) {
-				String vmInstallTypeID = vmStandin.getVMInstallType().getId();
-				return JDIDebugUIPlugin.getDefault().getVMInstallTypePage(vmInstallTypeID);
-			}		
-		}
-		return null;
-	}
-	
-	/**
-	 * Show the contributed piece of UI that was registered for the install type
-	 * of the currently selected VM.
-	 */
-	protected void loadDynamicJREArea() {
-		
-		// Dispose of any current child widgets in the tab holder area
-		Control[] children = getDynamicTabHolder().getChildren();
-		for (int i = 0; i < children.length; i++) {
-			children[i].dispose();
-		}
-		
-		if (isUseDynamicJREArea()) {
-			// Retrieve the dynamic UI for the current JRE 
-			setDynamicTab(getTabForCurrentJRE());
-			if (getDynamicTab() == null) {
-				return;
-			}
-			
-			// Ask the dynamic UI to create its Control
-			getDynamicTab().setLaunchConfigurationDialog(getLaunchConfigurationDialog());
-			getDynamicTab().createControl(getDynamicTabHolder());
-			getDynamicTabHolder().layout();	
-		}
-			
-	}
-
-	protected ILaunchConfigurationWorkingCopy getLaunchConfigurationWorkingCopy() {
-		return fWorkingCopy;
-	}
-	
-	/**
-	 * Overridden here so that any error message in the dynamic UI gets returned.
-	 * 
-	 * @see ILaunchConfigurationTab#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		ILaunchConfigurationTab tab = getDynamicTab();
-		if ((super.getErrorMessage() != null) || (tab == null)) {
-			return super.getErrorMessage();
-		} else {
-			return tab.getErrorMessage();
-		}
-	}
-
-	protected void setLaunchConfigurationWorkingCopy(ILaunchConfigurationWorkingCopy workingCopy) {
-		fWorkingCopy = workingCopy;
-	}
-
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		return fLaunchConfiguration;
-	}
-
-	protected void setLaunchConfiguration(ILaunchConfiguration launchConfiguration) {
-		fLaunchConfiguration = launchConfiguration;
-	}
-	
-	/**
-	 * Sets whether this tab will display the VM specific arguments area
-	 * if a JRE supports VM specific arguments.
-	 * 
-	 * @param visible whether this tab will display the VM specific arguments area
-	 * 	if a JRE supports VM specific arguments
-	 */
-	public void setVMSpecificArgumentsVisible(boolean visible) {
-		fUseDynamicArea = visible;
-	}
-	
-	protected boolean isUseDynamicJREArea() {
-		return fUseDynamicArea;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaMainTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaMainTab.java
deleted file mode 100644
index 779f0b9..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaMainTab.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
- 
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.debug.ui.launcher.MainMethodFinder;
-import org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.ISharedImages;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A launch configuration tab that displays and edits project and
- * main type name launch configuration attributes.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-
-public class JavaMainTab extends JavaLaunchConfigurationTab {
-		
-	// Project UI widgets
-	protected Label fProjLabel;
-	protected Text fProjText;
-	protected Button fProjButton;
-
-	// Main class UI widgets
-	protected Label fMainLabel;
-	protected Text fMainText;
-	protected Button fSearchButton;
-	protected Button fSearchExternalJarsCheckButton;
-	protected Button fStopInMainCheckButton;
-			
-	protected static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	
-	/**
-	 * Boolean launch configuration attribute indicating that external jars (on
-	 * the runtime classpath) should be searched when looking for a main type.
-	 * Default value is <code>false</code>.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_INCLUDE_EXTERNAL_JARS = IJavaDebugUIConstants.PLUGIN_ID + ".INCLUDE_EXTERNAL_JARS"; //$NON-NLS-1$
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_MAIN_TAB);
-		GridLayout topLayout = new GridLayout();
-		comp.setLayout(topLayout);		
-		GridData gd;
-		
-		createVerticalSpacer(comp, 1);
-		
-		Composite projComp = new Composite(comp, SWT.NONE);
-		GridLayout projLayout = new GridLayout();
-		projLayout.numColumns = 2;
-		projLayout.marginHeight = 0;
-		projLayout.marginWidth = 0;
-		projComp.setLayout(projLayout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		projComp.setLayoutData(gd);
-		projComp.setFont(font);
-		
-		fProjLabel = new Label(projComp, SWT.NONE);
-		fProjLabel.setText(LauncherMessages.getString("JavaMainTab.&Project__2")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		fProjLabel.setLayoutData(gd);
-		fProjLabel.setFont(font);
-		
-		fProjText = new Text(projComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fProjText.setLayoutData(gd);
-		fProjText.setFont(font);
-		fProjText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fProjButton = createPushButton(projComp, LauncherMessages.getString("JavaMainTab.&Browse_3"), null); //$NON-NLS-1$
-		fProjButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleProjectButtonSelected();
-			}
-		});
-		
-		createVerticalSpacer(comp, 1);
-
-		Composite mainComp = new Composite(comp, SWT.NONE);
-		GridLayout mainLayout = new GridLayout();
-		mainLayout.numColumns = 2;
-		mainLayout.marginHeight = 0;
-		mainLayout.marginWidth = 0;
-		mainComp.setLayout(mainLayout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		mainComp.setLayoutData(gd);
-		mainComp.setFont(font);
-		
-		fMainLabel = new Label(mainComp, SWT.NONE);
-		fMainLabel.setText(LauncherMessages.getString("JavaMainTab.Main_cla&ss__4")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		fMainLabel.setLayoutData(gd);
-		fMainLabel.setFont(font);
-
-		fMainText = new Text(mainComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fMainText.setLayoutData(gd);
-		fMainText.setFont(font);
-		fMainText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fSearchButton = createPushButton(mainComp,LauncherMessages.getString("JavaMainTab.Searc&h_5"), null); //$NON-NLS-1$
-		fSearchButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleSearchButtonSelected();
-			}
-		});
-		
-		fSearchExternalJarsCheckButton = new Button(mainComp, SWT.CHECK);
-		fSearchExternalJarsCheckButton.setText(LauncherMessages.getString("JavaMainTab.E&xt._jars_6")); //$NON-NLS-1$
-		fSearchExternalJarsCheckButton.setFont(font);
-		fSearchExternalJarsCheckButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});			
-
-		fStopInMainCheckButton = new Button(comp, SWT.CHECK);
-		fStopInMainCheckButton.setText(LauncherMessages.getString("JavaMainTab.St&op_in_main_1")); //$NON-NLS-1$
-		fStopInMainCheckButton.setFont(font);
-		fStopInMainCheckButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});		
-		
-	}
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration config) {
-		updateProjectFromConfig(config);
-		updateMainTypeFromConfig(config);
-		updateStopInMainFromConfig(config);
-		updateExternalJars(config);
-	}
-	
-	protected void updateProjectFromConfig(ILaunchConfiguration config) {
-		String projectName = ""; //$NON-NLS-1$
-		try {
-			projectName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, EMPTY_STRING);	
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-		fProjText.setText(projectName);
-	}
-	
-	protected void updateMainTypeFromConfig(ILaunchConfiguration config) {
-		String mainTypeName = ""; //$NON-NLS-1$
-		try {
-			mainTypeName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, EMPTY_STRING);
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);	
-		}	
-		fMainText.setText(mainTypeName);	
-	}
-	
-	protected void updateStopInMainFromConfig(ILaunchConfiguration configuration) {
-		boolean stop = false;
-		try {
-			stop = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_STOP_IN_MAIN, false);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		fStopInMainCheckButton.setSelection(stop);
-	}
-	
-	protected void updateExternalJars(ILaunchConfiguration configuration) {
-		boolean search = false;
-		try {
-			search = configuration.getAttribute(ATTR_INCLUDE_EXTERNAL_JARS, false);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		fSearchExternalJarsCheckButton.setSelection(search);
-	}	
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String)fProjText.getText());
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)fMainText.getText());
-		
-		// attribute added in 2.1, so null must be used instead of false for backwards compatibility
-		if (fStopInMainCheckButton.getSelection()) {
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_STOP_IN_MAIN, true);
-		} else {
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_STOP_IN_MAIN, (String)null);
-		}
-		
-		// attribute added in 2.1, so null must be used instead of false for backwards compatibility
-		if (fSearchExternalJarsCheckButton.getSelection()) {
-			config.setAttribute(ATTR_INCLUDE_EXTERNAL_JARS, true);
-		} else {
-			config.setAttribute(ATTR_INCLUDE_EXTERNAL_JARS, (String)null);
-		}
-	}
-			
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-	}
-			
-	/**
-	 * Show a dialog that lists all main types
-	 */
-	protected void handleSearchButtonSelected() {
-		
-		IJavaProject javaProject = getJavaProject();
-		IJavaSearchScope searchScope = null;
-		if ((javaProject == null) || !javaProject.exists()) {
-			searchScope = SearchEngine.createWorkspaceScope();
-		} else {
-			searchScope = SearchEngine.createJavaSearchScope(new IJavaElement[] {javaProject}, false);
-		}		
-		
-		int constraints = IJavaElementSearchConstants.CONSIDER_BINARIES;
-		if (fSearchExternalJarsCheckButton.getSelection()) {
-			constraints |= IJavaElementSearchConstants.CONSIDER_EXTERNAL_JARS;
-		}
-		
-		Shell shell = getShell();
-		SelectionDialog dialog = JavaUI.createMainTypeDialog(shell, 
-															 getLaunchConfigurationDialog(), 
-															 searchScope, 
-															 constraints, 
-															 false, 
-															 fMainText.getText()); 
-		dialog.setTitle(LauncherMessages.getString("JavaMainTab.Choose_Main_Type_11")); //$NON-NLS-1$
-		dialog.setMessage(LauncherMessages.getString("JavaMainTab.Choose_a_main_&type_to_launch__12")); //$NON-NLS-1$
-		if (dialog.open() == SelectionDialog.CANCEL) {
-			return;
-		}
-		
-		Object[] results = dialog.getResult();
-		if ((results == null) || (results.length < 1)) {
-			return;
-		}		
-		IType type = (IType)results[0];
-		if (type != null) {
-			fMainText.setText(type.getFullyQualifiedName());
-			javaProject = type.getJavaProject();
-			fProjText.setText(javaProject.getElementName());
-		}
-	}
-		
-	/**
-	 * Show a dialog that lets the user select a project.  This in turn provides
-	 * context for the main type, allowing the user to key a main type name, or
-	 * constraining the search for main types to the specified project.
-	 */
-	protected void handleProjectButtonSelected() {
-		IJavaProject project = chooseJavaProject();
-		if (project == null) {
-			return;
-		}
-		
-		String projectName = project.getElementName();
-		fProjText.setText(projectName);		
-	}
-	
-	/**
-	 * Realize a Java Project selection dialog and return the first selected project,
-	 * or null if there was none.
-	 */
-	protected IJavaProject chooseJavaProject() {
-		IJavaProject[] projects;
-		try {
-			projects= JavaCore.create(getWorkspaceRoot()).getJavaProjects();
-		} catch (JavaModelException e) {
-			JDIDebugUIPlugin.log(e);
-			projects= new IJavaProject[0];
-		}
-		
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setTitle(LauncherMessages.getString("JavaMainTab.Project_Selection_13")); //$NON-NLS-1$
-		dialog.setMessage(LauncherMessages.getString("JavaMainTab.Choose_a_&project_to_constrain_the_search_for_main_types__14")); //$NON-NLS-1$
-		dialog.setElements(projects);
-		
-		IJavaProject javaProject = getJavaProject();
-		if (javaProject != null) {
-			dialog.setInitialSelections(new Object[] { javaProject });
-		}
-		if (dialog.open() == ElementListSelectionDialog.OK) {			
-			return (IJavaProject) dialog.getFirstResult();
-		}			
-		return null;		
-	}
-	
-	/**
-	 * Return the IJavaProject corresponding to the project name in the project name
-	 * text field, or null if the text does not match a project name.
-	 */
-	protected IJavaProject getJavaProject() {
-		String projectName = fProjText.getText().trim();
-		if (projectName.length() < 1) {
-			return null;
-		}
-		return getJavaModel().getJavaProject(projectName);		
-	}
-	
-	/**
-	 * Convenience method to get the workspace root.
-	 */
-	private IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	/**
-	 * Convenience method to get access to the java model.
-	 */
-	private IJavaModel getJavaModel() {
-		return JavaCore.create(getWorkspaceRoot());
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		
-		setErrorMessage(null);
-		setMessage(null);
-		
-		String name = fProjText.getText().trim();
-		if (name.length() > 0) {
-			if (!ResourcesPlugin.getWorkspace().getRoot().getProject(name).exists()) {
-				setErrorMessage(LauncherMessages.getString("JavaMainTab.Project_does_not_exist_15")); //$NON-NLS-1$
-				return false;
-			}
-		}
-
-		name = fMainText.getText().trim();
-		if (name.length() == 0) {
-			setErrorMessage(LauncherMessages.getString("JavaMainTab.Main_type_not_specified_16")); //$NON-NLS-1$
-			return false;
-		}
-		
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		IJavaElement javaElement = getContext();
-		if (javaElement != null) {
-			initializeJavaProject(javaElement, config);
-		} else {
-			// We set empty attributes for project & main type so that when one config is
-			// compared to another, the existence of empty attributes doesn't cause an
-			// incorrect result (the performApply() method can result in empty values
-			// for these attributes being set on a config if there is nothing in the
-			// corresponding text boxes)
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, ""); //$NON-NLS-1$
-		}
-		initializeMainTypeAndName(javaElement, config);
-	}
-
-	/**
-	 * Set the main type & name attributes on the working copy based on the IJavaElement
-	 */
-	protected void initializeMainTypeAndName(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		String name= null;
-		if (javaElement instanceof IMember) {
-			IMember member = (IMember)javaElement;
-			if (member.isBinary()) {
-				javaElement = member.getClassFile();
-			} else {
-				javaElement = member.getCompilationUnit();
-			}
-		}
-		if (javaElement instanceof ICompilationUnit || javaElement instanceof IClassFile) {
-			try {
-				IType[] types = MainMethodFinder.findTargets(new BusyIndicatorRunnableContext(), new Object[] {javaElement});
-				if (types != null && (types.length > 0)) {
-					// Simply grab the first main type found in the searched element
-					name = types[0].getFullyQualifiedName();
-				}
-			} catch (InterruptedException ie) {
-			} catch (InvocationTargetException ite) {
-			}
-		}
-		if (name == null) {
-			name= ""; //$NON-NLS-1$
-		}
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, name);
-		if (name.length() > 0) {
-			int index = name.lastIndexOf('.');
-			if (index > 0) {
-				name = name.substring(index + 1);
-			}		
-			name = getLaunchConfigurationDialog().generateName(name);
-			config.rename(name);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("JavaMainTab.&Main_19"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS);
-	}
-
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaSourceLookupTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaSourceLookupTab.java
deleted file mode 100644
index ca96411..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaSourceLookupTab.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.debug.ui.launchConfigurations;
-
-
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.debug.ui.JavaUISourceLocator;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.launcher.JavaLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.debug.ui.launcher.SourceLookupBlock;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-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.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A launch configuration tab that displays and edits source lookup
- * path launch configuration attributes.
- * <p>
- * This class may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-
-public class JavaSourceLookupTab extends JavaLaunchConfigurationTab {
-
-	protected SourceLookupBlock fSourceLookupBlock;
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_SOURCE_TAB);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 1;
-		comp.setLayout(topLayout);
-		comp.setFont(parent.getFont());	
-		
-		createVerticalSpacer(comp, 1);
-		
-		fSourceLookupBlock = new SourceLookupBlock();
-		fSourceLookupBlock.setLaunchConfigurationDialog(getLaunchConfigurationDialog());
-		fSourceLookupBlock.createControl(comp);
-		GridData gd = (GridData)fSourceLookupBlock.getControl().getLayoutData();
-		gd.heightHint = 200;
-		gd.widthHint = 250;				
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		// be default, use a prompting source locator
-		configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, JavaUISourceLocator.ID_PROMPTING_JAVA_SOURCE_LOCATOR);
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, (String)null);
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH, (List)null);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		fSourceLookupBlock.initializeFrom(configuration);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, JavaUISourceLocator.ID_PROMPTING_JAVA_SOURCE_LOCATOR);
-		fSourceLookupBlock.performApply(configuration);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("JavaSourceLookupTab.Source_1"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-	}	
-		
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/package.html b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/package.html
deleted file mode 100644
index 069bd54..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/package.html
+++ /dev/null
@@ -1,18 +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>Java Debug UI</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left">Provides an implementation launch configuration tabs for local and remote
- Java applications.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides launch configuration tabs for local and remote Java applications. </p>
-</body>
-</html>
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/package.html b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/package.html
deleted file mode 100644
index 8133917..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/package.html
+++ /dev/null
@@ -1,18 +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>Java Debug UI</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left">Provides an implementation of a source locator for the Java debug model.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides a source locator for the Java debug model. The source locator
-prompts the user for source, when source cannot be found on the source lookup path. </p>
-</body>
-</html>
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ActionFilterAdapterFactory.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ActionFilterAdapterFactory.java
deleted file mode 100644
index 984a878..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ActionFilterAdapterFactory.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.ui.IActionFilter;
-
-/**
- * UI adapter factory for JDI Debug
- */
-/*package*/ class ActionFilterAdapterFactory implements IAdapterFactory {
-
-	/**
-	 * @see IAdapterFactory#getAdapter(Object, Class)
-	 */
-	public Object getAdapter(Object obj, Class adapterType) {
-		if (adapterType.isInstance(obj)) {
-			return obj;
-		}
-		if (adapterType == IActionFilter.class) {
-			if (obj instanceof IJavaThread) {
-				return new JavaThreadActionFilter();
-			} else if (obj instanceof IJavaStackFrame) {
-				return new JavaStackFrameActionFilter();
-			} else if (obj instanceof IJavaVariable) {
-				return new JavaVariableActionFilter();
-			} else if (obj instanceof IMethod) {
-				return new MethodActionFilter();
-			} else if (obj instanceof JavaInspectExpression) {
-				return new JavaInspectExpressionActionFilter();
-			} else if (obj instanceof JavaWatchExpression) {
-				return new JavaWatchExpressionActionFilter();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {
-			IActionFilter.class 
-		};
-	}
-}
-
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointConditionCompletionProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointConditionCompletionProcessor.java
deleted file mode 100644
index fb1f116..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointConditionCompletionProcessor.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.debug.ui.display.DisplayCompletionProcessor;
-import org.eclipse.jdt.internal.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.template.TemplateEngine;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-
-public class BreakpointConditionCompletionProcessor extends DisplayCompletionProcessor {
-
-	private IType fType;
-	
-	private int fPosition;
-		
-	public BreakpointConditionCompletionProcessor(IType type) {
-		fType= type;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(ITextViewer, int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-
-		if (fType == null) {
-			return new ICompletionProposal[0];
-		}
-		
-		IJavaProject project= fType.getJavaProject();
-		try {
-			// Generate selections from the compilation unit
-			ITextSelection textSelection= (ITextSelection)viewer.getSelectionProvider().getSelection();			
-			configureResultCollector(project, textSelection);	
-			fType.codeComplete(viewer.getDocument().get().toCharArray(), fPosition, documentOffset,
-				 new char[0][], new char[0][],
-				 new int[0], false, getCollector());
-				 
-			IJavaCompletionProposal[] results= getCollector().getResults();
-			
-			// Generate selections from the template engine
-			TemplateEngine templateEngine= getTemplateEngine();
-			if (templateEngine != null) {
-				try {
-					templateEngine.reset();
-					templateEngine.complete(viewer, documentOffset, null);
-					IJavaCompletionProposal[] templateResults= templateEngine.getResults();
-
-					// concatenate arrays
-					IJavaCompletionProposal[] total= new IJavaCompletionProposal[results.length + templateResults.length];
-					System.arraycopy(templateResults, 0, total, 0, templateResults.length);
-					System.arraycopy(results, 0, total, templateResults.length, results.length);
-					results= total;
-				} catch (JavaModelException x) {
-					JDIDebugUIPlugin.log(x);
-				}					
-			}	 
-			 //Order here and not in result collector to make sure that the order
-			 //applies to all proposals and not just those of the compilation unit. 
-			return order(results);	
-		} catch (JavaModelException x) {
-			handle(viewer, x);
-		}
-		return null;
-	}
-	/**
-	 * Sets the type.
-	 * @param type The type to set
-	 */
-	public void setType(IType type) {
-		fType= type;
-	}
-
-	/**
-	 * Sets the line number.
-	 * @param lineNb The line number to set
-	 */
-	public void setPosition(int position) {
-		fPosition= position;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointUtils.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointUtils.java
deleted file mode 100644
index 0915d12..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/BreakpointUtils.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
- 
-/**
- * Utility class for Java breakpoints 
- */
-public class BreakpointUtils {
-	
-	/**
-	 * Marker attribute storing the handle id of the 
-	 * Java element associated with a Java breakpoint
-	 */
-	private static final String HANDLE_ID = JDIDebugUIPlugin.getUniqueIdentifier() + ".JAVA_ELEMENT_HANDLE_ID"; //$NON-NLS-1$
-
-	/**
-	 * Marker attribute used to denote a run to line breakpoint
-	 */
-	private static final String RUN_TO_LINE =  JDIDebugUIPlugin.getUniqueIdentifier() + ".run_to_line"; //$NON-NLS-1$
-	
-	/**
-	 * Marker attribute used to denote the start of the region within a Java
-	 * member that the breakpoint is located within.
-	 */
-	private static final String MEMBER_START =  JDIDebugUIPlugin.getUniqueIdentifier() + ".member_start"; //$NON-NLS-1$
-	
-	/**
-	 * Marker attribute used to denote the end of the region within a Java
-	 * member that the breakpoint is located within.
-	 */
-	private static final String MEMBER_END =  JDIDebugUIPlugin.getUniqueIdentifier() + ".member_end"; //$NON-NLS-1$
-	
-	/**
-	 * Returns the resource on which a breakpoint marker should
-	 * be created for the given member. The resource returned is the 
-	 * associated file, or project in the case of a class file in 
-	 * a jar.
-	 * 
-	 * @param member member in which a breakpoint is being created
-	 * @return resource the resource on which a breakpoint marker
-	 *  should be created
-	 * @exception CoreException if an exception occurs accessing the
-	 *  underlying resource or Java model elements
-	 */
-	public static IResource getBreakpointResource(IMember member) throws CoreException {
-		ICompilationUnit cu = member.getCompilationUnit();
-		if (cu != null && cu.isWorkingCopy()) {
-			member = (IMember)cu.getOriginal(member);
-		}
-		IResource res = member.getUnderlyingResource();
-		if (res == null) {
-			res = member.getJavaProject().getProject();
-		}
-		return res;
-	}
-	
-	/**
-	 * Returns the type that the given Java breakpoint refers to
-	 * 
-	 * @param breakpoint Java breakpoint
-	 * @return the type the breakpoint is associated with
-	 * @exception CoreException if an exception occurs accessing
-	 *  the breakpoint or Java model
-	 */
-	public static IType getType(IJavaBreakpoint breakpoint) throws CoreException {
-		String handle = breakpoint.getMarker().getAttribute(HANDLE_ID, null);
-		if (handle != null) {
-			IJavaElement je = JavaCore.create(handle);
-			if (je != null) {
-				if (je instanceof IType) {
-					return (IType)je;
-				}
-				if (je instanceof IMember) {
-					return ((IMember)je).getDeclaringType();
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the member associated with the line number of
-	 * the given breakpoint.
-	 * 
-	 * @param breakpoint Java line breakpoint
-	 * @return member at the given line number in the type 
-	 *  associated with the breakpoint
-	 * @exception CoreException if an exception occurs accessing
-	 *  the breakpoint
-	 */
-	public static IMember getMember(IJavaLineBreakpoint breakpoint) throws CoreException {
-		if (breakpoint instanceof IJavaMethodBreakpoint) {
-			return getMethod((IJavaMethodBreakpoint)breakpoint);
-		}
-		if (breakpoint instanceof IJavaWatchpoint) {
-			return getField((IJavaWatchpoint)breakpoint);
-		}
-		
-		int start = breakpoint.getCharStart();
-		int end = breakpoint.getCharEnd();
-		
-		IType type = getType(breakpoint);
-	
-		if (start == -1 && end == -1) {
-			start= breakpoint.getMarker().getAttribute(MEMBER_START, -1);
-			end= breakpoint.getMarker().getAttribute(MEMBER_END, -1);
-		}
-		
-		IMember member = null;
-		if ((type != null) && (end >= start) && (start >= 0)) {
-			try {
-				member= binSearch(type, start, end);
-			} catch (CoreException ce) {
-				JDIDebugUIPlugin.log(ce);
-			}
-		}
-		if (member == null) {
-			member= type;
-		}
-		return member;
-	}
-	
-	/**
-	 * Searches the given source range of the container for a member that is
-	 * not the same as the given type.
-	 */
-	protected static IMember binSearch(IType type, int start, int end) throws JavaModelException {
-		IJavaElement je = getElementAt(type, start);
-		if (je != null && !je.equals(type)) {
-			return asMember(je);
-		}
-		if (end > start) {
-			je = getElementAt(type, end);
-			if (je != null && !je.equals(type)) {
-				return asMember(je);
-			}
-			int mid = ((end - start) / 2) + start;
-			if (mid > start) {
-				je = binSearch(type, start + 1, mid);
-				if (je == null) {
-					je = binSearch(type, mid + 1, end - 1);
-				}
-				return asMember(je);
-			}
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns the given Java element if it is an
-	 * <code>IMember</code>, otherwise <code>null</code>.
-	 * 
-	 * @param element Java element
-	 * @return the given element if it is a type member,
-	 * 	otherwise <code>null</code>
-	 */
-	private static IMember asMember(IJavaElement element) {
-		if (element instanceof IMember) {
-			return (IMember)element;
-		} else {
-			return null;
-		}		
-	}
-	
-	/**
-	 * Returns the element at the given position in the given type
-	 */
-	protected static IJavaElement getElementAt(IType type, int pos) throws JavaModelException {
-		if (type.isBinary()) {
-			return type.getClassFile().getElementAt(pos);
-		} else {
-			return type.getCompilationUnit().getElementAt(pos);
-		}
-	}
-	
-	/**
-	 * Adds attributes to the given attribute map:<ul>
-	 * <li>Java element handle id</li>
-	 * <li>Attributes defined by <code>JavaCore</code></li>
-	 * </ul>
-	 * 
-	 * @param attributes the attribute map to use
-	 * @param element the Java element associated with the breakpoint
-	 * @exception CoreException if an exception occurs configuring
-	 *  the marker
-	 */
-	public static void addJavaBreakpointAttributes(Map attributes, IJavaElement element) {
-		String handleId = element.getHandleIdentifier();
-		attributes.put(HANDLE_ID, handleId);
-		JavaCore.addJavaElementMarkerAttributes(attributes, element);		
-	}
-	
-	/**
-	 * Adds attributes to the given attribute map:<ul>
-	 * <li>Java element handle id</li>
-	 * <li>Member start position</li>
-	 * <li>Member end position</li>
-	 * <li>Attributes defined by <code>JavaCore</code></li>
-	 * </ul>
-	 * 
-	 * @param attributes the attribute map to use
-	 * @param element the Java element associated with the breakpoint
-	 * @param memberStart the start position of the Java member that the breakpoint is positioned within
-	 * @param memberEnd the end position of the Java member that the breakpoint is positioned within
-	 * @exception CoreException if an exception occurs configuring
-	 *  the marker
-	 */
-	public static void addJavaBreakpointAttributesWithMemberDetails(Map attributes, IJavaElement element, int memberStart, int memberEnd) {
-		addJavaBreakpointAttributes(attributes, element);
-		attributes.put(MEMBER_START, new Integer(memberStart));
-		attributes.put(MEMBER_END, new Integer(memberEnd));
-	}
-	
-	/**
-	 * Adds attributes to the given attribute map to make the
-	 * breakpoint a run-to-line breakpoint:<ul>
-	 * <li>PERSISTED = false</li>
-	 * <li>RUN_TO_LINE = true</li>
-	 * </ul>
-	 * 
-	 * @param attributes the attribute map to use
-	 * @param element the Java element associated with the breakpoint
-	 * @exception CoreException if an exception occurs configuring
-	 *  the marker
-	 */
-	public static void addRunToLineAttributes(Map attributes) {
-		attributes.put(IBreakpoint.PERSISTED, Boolean.FALSE);
-		attributes.put(RUN_TO_LINE, Boolean.TRUE);
-	}	
-	
-	/**
-	 * Returns the method associated with the method entry
-	 * breakpoint.
-	 * 
-	 * @param breakpoint Java method entry breakpoint
-	 * @return method
-	 * @exception CoreException if an exception occurs accessing
-	 *  the breakpoint
-	 */
-	public static IMethod getMethod(IJavaMethodBreakpoint breakpoint) throws CoreException {	
-		String handle = breakpoint.getMarker().getAttribute(HANDLE_ID, null);
-		if (handle != null) {
-			IJavaElement je = JavaCore.create(handle);
-			if (je != null) {
-				if (je instanceof IMethod) {
-					return (IMethod)je;
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the field associated with the watchpoint.
-	 * 
-	 * @param breakpoint Java watchpoint
-	 * @return field
-	 * @exception CoreException if an exception occurs accessing
-	 *  the breakpoint
-	 */
-	public static IField getField(IJavaWatchpoint breakpoint) throws CoreException {	
-		String handle = breakpoint.getMarker().getAttribute(HANDLE_ID, null);
-		if (handle != null) {
-			IJavaElement je = JavaCore.create(handle);
-			if (je != null) {
-				if (je instanceof IField) {
-					return (IField)je;
-				}
-			}
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns whether the given breakpoint is a run to line
-	 * breakpoint
-	 * 
-	 * @param breakpoint line breakpoint
-	 * @return whether the given breakpoint is a run to line
-	 *  breakpoint
-	 */
-	public static boolean isRunToLineBreakpoint(IJavaLineBreakpoint breakpoint) throws CoreException {
-		return breakpoint.getMarker().getAttribute(RUN_TO_LINE, false);
-	}
-	
-	/**
-	 * Returns whether the given breakpoint is a compilation
-	 * problem breakpoint or uncaught exception breakpoint
-	 * 
-	 * @param breakpoint breakpoint
-	 * @return whether the given breakpoint is a compilation error breakpoint or
-	 *  uncaught exception breakpoint
-	 */
-	public static boolean isProblemBreakpoint(IBreakpoint breakpoint) {
-		return breakpoint == JavaDebugOptionsManager.getDefault().getSuspendOnCompilationErrorBreakpoint() ||
-			breakpoint == JavaDebugOptionsManager.getDefault().getSuspendOnUncaughtExceptionBreakpoint();
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ConditionalBreakpointErrorDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ConditionalBreakpointErrorDialog.java
deleted file mode 100644
index cef7a2f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ConditionalBreakpointErrorDialog.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-public class ConditionalBreakpointErrorDialog extends ErrorDialog {
-	
-	public ConditionalBreakpointErrorDialog(Shell parentShell, String message, IStatus status) {
-		super(parentShell, DebugUIMessages.getString("ConditionalBreakpointErrorDialog.Conditional_Breakpoint_Error_1"), message, status, IStatus.ERROR); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create Edit and Cancel buttons
-		createButton(parent, IDialogConstants.OK_ID, DebugUIMessages.getString("ConditionalBreakpointErrorDialog.&Edit_Condition_2"), true); //$NON-NLS-1$
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.java
deleted file mode 100644
index c32aaf0..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DebugUIMessages {
-
-	private static final String BUNDLE_NAME =
-		"org.eclipse.jdt.internal.debug.ui.DebugUIMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private DebugUIMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.properties
deleted file mode 100644
index 23c1978..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DebugUIMessages.properties
+++ /dev/null
@@ -1,201 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-
-ExceptionHandler.seeErrorLogMessage= See error log for more details.
-
-ImageDescriptorRegistry.Allocating_image_for_wrong_display_1=Allocating image for wrong display
-
-JavaDebugPreferencePage.description=General settings for Java Debugging.
-JavaDebugPreferencePage.Alert_me_when_hot_code_replace_fails_1=Show error when hot code replace &fails
-JavaDebugPreferencePage.Alert_me_when_hot_code_replace_is_not_supported_1=Show error when hot code replace is not &supported
-JavaDebugPreferencePage.Alert_me_when_obsolete_methods_remain_1=Show error when &obsolete methods remain after hot code replace
-JavaDebugPreferencePage.Display_&hexadecimal_values_(byte,_short,_char,_int,_long)_3=Display &hexadecimal values (byte, short, char, int, long)
-JavaDebugPreferencePage.Display_&unsigned_values_(byte)_5=Display &unsigned values (byte)
-JavaDebugPreferencePage.Display_ASCII_&character_values_(byte,_short,_int,_long)_4=Display ASCII &character values (byte, short, int, long)
-JavaDebugPreferencePage.Hot_Code_Replace_2=Hot Code Replace
-JavaDebugPreferencePage.Suspend_&execution_on_uncaught_exceptions_1=Suspend &execution on uncaught exceptions
-JavaDebugPreferencePage.Suspend_Execution_1=Suspend Execution
-JavaDebugPreferencePage.Suspend_execution_on_co&mpilation_errors_1=Suspend execution on co&mpilation errors
-JavaDebugPreferencePage.Value_must_be_a_valid_integer_greater_than_{0}_ms_1=Value must be a valid integer greater than {0} ms
-JavaDebugPreferencePage.Replace_classfiles_containing_compilation_errors_1=Replace &classfiles containing compilation errors
-JavaDebugPreferencePage.Communication_1=Communication
-JavaDebugPreferencePage.Debugger_&timeout__2=Debugger &timeout (ms):
-JavaDebugPreferencePage.&Launch_timeout_(ms)__1=&Launch timeout (ms):
-
-JavaStepFilterPreferencePage.Filter_co&nstructors_19=Filter co&nstructors
-JavaStepFilterPreferencePage.Filter_s&ynthetic_methods_(requires_VM_support)_17=Filter s&ynthetic methods (requires VM support)
-JavaStepFilterPreferencePage.Filter_static_&initializers_18=Filter static &initializers
-JavaStepFilterPreferencePage.description=Step filters are applied when the \"Step With Filters\" action is used.
-JavaStepFilterPreferencePage.Remove_all_selected_step_filters_16=Remove All Selected Step Filters
-JavaStepFilterPreferencePage.Select_a_package_to_filter_when_stepping_27=&Select a package to filter when stepping
-JavaStepFilterPreferencePage.Select_a_type_to_filter_when_stepping_23=&Select a class to filter when stepping
-JavaStepFilterPreferencePage.&Remove_15=&Remove
-JavaStepFilterPreferencePage.Add_&Filter_9=Add &Filter
-JavaStepFilterPreferencePage.Add_&Package..._13=Add &Packages...
-JavaStepFilterPreferencePage.Add_&Type..._11=Add &Class...
-JavaStepFilterPreferencePage.Add_package_to_step_filters_24=Add Packages to Step Filters
-JavaStepFilterPreferencePage.Add_type_to_step_filters_20=Add Class to Step Filters
-JavaStepFilterPreferencePage.Choose_a_Java_type_and_add_it_to_step_filters_12=Choose a Java Type and Add It to Step Filters
-JavaStepFilterPreferencePage.Choose_a_package_and_add_it_to_step_filters_14=Choose Package(s) to Add to Step Filters
-JavaStepFilterPreferencePage.Could_not_open_package_selection_dialog_for_step_filters_25=Could not open package selection dialog for step filters
-JavaStepFilterPreferencePage.Could_not_open_type_selection_dialog_for_step_filters_21=Could not open type selection dialog for step filters
-JavaStepFilterPreferencePage.Defined_step_fi&lters__8=Defined step fi&lters:
-JavaStepFilterPreferencePage.Invalid_step_filter._Return_to_continue;_escape_to_exit._1=\ Invalid step filter. Return to continue; escape to exit.
-JavaStepFilterPreferencePage.Key_in_the_name_of_a_new_step_filter_10=Key in the Name of a New Step Filter
-JavaStepFilterPreferencePage.&Enable_All_1=&Enable All
-JavaStepFilterPreferencePage.Enables_all_step_filters_2=Enables all step filters
-JavaStepFilterPreferencePage.Disa&ble_All_3=Disa&ble All
-JavaStepFilterPreferencePage.Disables_all_step_filters_4=Disables all step filters
-
-JDIDebugUIPlugin.{0}_contains_obsolete_methods_1={0} contains obsolete methods.
-JDIDebugUIPlugin.{0}_was_unable_to_replace_the_running_code_with_the_code_in_the_workspace._2={0} was unable to replace the running code with the code in the workspace.
-JDIDebugUIPlugin.Always_alert_me_of_hot_code_replace_failure_1=Show error &when hot code replace fails
-JDIDebugUIPlugin.Always_alert_me_of_obsolete_methods_1=Show error &when obsolete methods remain
-JDIDebugUIPlugin.Error_1=Error
-JDIDebugUIPlugin.Hot_code_replace_failed_1=Hot code replace failed
-JDIDebugUIPlugin.Internal_Error_1=Internal Error
-JDIDebugUIPlugin.Obsolete_methods_remain_1=Obsolete methods on the stack
-JDIDebugUIPlugin.Stepping_may_be_hazardous_1=The virtual machine was unable to remove all stack frames running old code from the call stack. The virtual machine is not supplying the debugger with valid data for those frames. Stepping into these obsolete frames may be hazardous to the target virtual machine.
-JDIDebugUIPlugin.The_target_VM_does_not_support_hot_code_replace_1=The target VM does not support hot code replace
-JDIDebugUIPlugin.Always_alert_me_when_hot_code_replace_is_not_supported_1=Show error &when hot code replace is not supported
-
-JDIModelPresentation.(No_explicit_return_value)_30=(No explicit return value)
-JDIModelPresentation.[conditional]_2=[conditional]
-JDIModelPresentation._(may_be_out_of_synch)_2=\ (may be out of synch)
-JDIModelPresentation._(out_of_synch)_1=\ (out of synch)
-JDIModelPresentation._[scoped]_1=\ [scoped]
-JDIModelPresentation.{1}__{0}_63={1}: {0}
-JDIModelPresentation.{1}__{0}_73={1}: {0}
-JDIModelPresentation.<disconnected>_4=<disconnected> 
-JDIModelPresentation.<not_responding>_6=<not responding>
-JDIModelPresentation.<garbage_collected_object>_6=<garbage collected object>
-JDIModelPresentation.<obsolete_method_in__1=<obsolete method in 
-JDIModelPresentation.<terminated>_2=<terminated> 
-JDIModelPresentation.access_71=access
-JDIModelPresentation.access_and_modification_70=access and modification
-JDIModelPresentation.caught_61=caught
-JDIModelPresentation.caught_and_uncaught_60=caught and uncaught
-JDIModelPresentation.Compilation_error_1=Compilation error
-JDIModelPresentation.entry_and_exit=\ [entry and exit]
-JDIModelPresentation.entry=\ [entry]
-JDIModelPresentation.exit=\ [exit]
-JDIModelPresentation.hit_count__67=hit count:
-JDIModelPresentation.line__65=line:
-JDIModelPresentation.line__76=line:
-JDIModelPresentation.local_variables_unavailable=[local variables unavailable]
-JDIModelPresentation.modification_72=modification
-JDIModelPresentation.native_method=[native method]
-JDIModelPresentation.not_available=not available
-JDIModelPresentation.Suspend_VM=[Suspend VM]
-JDIModelPresentation.System_Thread_[({0}]_(Terminated)_7=System Thread [({0}] (Terminated)
-JDIModelPresentation.System_Thread_[{0}]_(Evaluating)_9=System Thread [{0}] (Evaluating)
-JDIModelPresentation.System_Thread_[{0}]_(Running)_11=System Thread [{0}] (Running)
-JDIModelPresentation.System_Thread_[{0}]_(Stepping)_9=System Thread [{0}] (Stepping)
-JDIModelPresentation.System_Thread_[{0}]_(Suspended)_27=System Thread [{0}] (Suspended)
-JDIModelPresentation.System_Thread_[{0}]_(Suspended_({1}))_2=System Thread [{0}] (Suspended ({1}))
-JDIModelPresentation.System_Thread_[{0}]_(Suspended_(access_of_field_{1}_in_{2}))_16=System Thread [{0}] (Suspended (access of field {1} in {2}))
-JDIModelPresentation.System_Thread_[{0}]_(Suspended_(breakpoint_at_line_{1}_in_{2}))_24=System Thread [{0}] (Suspended (breakpoint at line {1} in {2}))
-JDIModelPresentation.System_Thread_[{0}]_(Suspended_(entry_into_method_{1}_in_{2}))_21=System Thread [{0}] (Suspended (entry into method {1} in {2}))
-JDIModelPresentation.System_Thread_[{0}]_(Suspended_(exception_{1}))_13=System Thread [{0}] (Suspended (exception {1}))
-JDIModelPresentation.System_Thread_[{0}]_(Suspended_(exit_of_method_{1}_in_{2}))_21=System Thread [{0}] (Suspended (exit of method {1} in {2}))
-JDIModelPresentation.System_Thread_[{0}]_(Suspended_(modification_of_field_{1}_in_{2}))_18=System Thread [{0}] (Suspended (modification of field {1} in {2}))
-JDIModelPresentation.System_Thread_[{0}]_(Suspended_(run_to_line_{1}_in_{2}))_23=System Thread [{0}] (Suspended (run to line {1} in {2}))
-JDIModelPresentation.target_suspended=\ (Suspended)
-JDIModelPresentation.Thread_[({0}]_(Terminated)_8=Thread [({0}] (Terminated)
-JDIModelPresentation.Thread_[{0}]_(Evaluating)_10=Thread [{0}] (Evaluating)
-JDIModelPresentation.Thread_[{0}]_(Running)_12=Thread [{0}] (Running)
-JDIModelPresentation.Thread_[{0}]_(Stepping)_10=Thread [{0}] (Stepping)
-JDIModelPresentation.Thread_[{0}]_(Suspended)_28=Thread [{0}] (Suspended)
-JDIModelPresentation.Thread_[{0}]_(Suspended_({1}))_3=Thread [{0}] (Suspended ({1}))
-JDIModelPresentation.Thread_[{0}]_(Suspended_(access_of_field_{1}_in_{2}))_17=Thread [{0}] (Suspended (access of field {1} in {2}))
-JDIModelPresentation.Thread_[{0}]_(Suspended_(breakpoint_at_line_{1}_in_{2}))_26=Thread [{0}] (Suspended (breakpoint at line {1} in {2}))
-JDIModelPresentation.Thread_[{0}]_(Suspended_(entry_into_method_{1}_in_{2}))_22=Thread [{0}] (Suspended (entry into method {1} in {2}))
-JDIModelPresentation.Thread_[{0}]_(Suspended_(exception_{1}))_14=Thread [{0}] (Suspended (exception {1}))
-JDIModelPresentation.Thread_[{0}]_(Suspended_(exit_of_method_{1}_in_{2}))_22=Thread [{0}] (Suspended (exit of method {1} in {2}))
-JDIModelPresentation.Thread_[{0}]_(Suspended_(modification_of_field_{1}_in_{2}))_19=Thread [{0}] (Suspended (modification of field {1} in {2}))
-JDIModelPresentation.Thread_[{0}]_(Suspended_(run_to_line_{1}_in_{2}))_25=Thread [{0}] (Suspended (run to line {1} in {2}))
-JDIModelPresentation.thread_filtered=[thread filtered]
-JDIModelPresentation.uncaught_62=uncaught
-
-JDIDebugUIPlugin.An_error_occurred_retrieving_a_VMInstallType_page_1=An error occurred retrieving a VMInstallType page
-
-SuspendTimeoutHandler.suspend=Suspend
-SuspendTimeoutHandler.timeout_occurred=A timeout occurred while retrieving stack frames for thread: {0}.
-JDIDebugUIPlugin.Searching_1=Searching
-JDIModelPresentation<unknown_name>_1=<unknown name>
-JDIModelPresentation<unknown_type>_2=<unknown type>
-JDIModelPresentation<unknown_value>_3=<unknown value>
-JDIModelPresentation<unknown_declaring_type>_4=<unknown declaring type>
-JDIModelPresentation<unknown_receiving_type>_5=<unknown receiving type>
-JDIModelPresentation<unknown_method_name>_6=<unknown method name>
-JDIModelPresentation(<unknown_arguements>)_7=(<unknown arguments>)
-JDIModelPresentation_<unknown_line_number>_8=\ <unknown line number>
-JDIModelPresentation.instance_1=[instance={0}]
-NoLineNumberAttributesStatusHandler.Java_Breakpoint_1=Java Breakpoint
-NoLineNumberAttributesStatusHandler.Attempting_to_install_a_breakpoint_in_the_type_{0}_that_has_no_line_number_attributes.__The_breakpoint_cannot_be_installed.__Class_files_must_be_generated_with_the_line_number_attributes._2=Attempting to install a breakpoint in the type {0} that has no line number attributes.  The breakpoint cannot be installed.  Class files must be generated with the line number attributes.
-
-JavaDetailFormattersPreferencePage.Add_&Formatter..._5=Ad&d...
-JavaDetailFormattersPreferencePage.Allow_you_to_create_a_new_detail_formatter_6=Allow you to create a new detail formatter
-JavaDetailFormattersPreferencePage.&Remove_7=&Remove
-JavaDetailFormattersPreferencePage.Remove_all_selected_detail_formatters_8=Remove all selected detail formatters
-JavaDetailFormattersPreferencePage.&Edit..._9=&Edit...
-JavaDetailFormattersPreferencePage.Edit_the_selected_detail_formatter_10=Edit the selected detail formatter
-JavaDetailFormattersPreferencePage.Override_default___toString()___for_Variables_and_Expressions_view_details._1=Override default \'toString()\' for object details.
-JavaDetailFormattersPreferencePage.&Types_with_detail_formatters__2=&Types with detail formatters:
-JavaDetailFormattersPreferencePage.Detail_formatter_code_snippet_defined_for_selected_type__3=Detail &formatter code snippet defined for selected type:
-
-DetailFormatterDialog.Qualified_type_&name__2=Qualified type &name:
-DetailFormatterDialog.Qualified_type_name_must_not_be_empty._3=Qualified type name must not be empty.
-DetailFormatterDialog.Select_&type_4=Select &Type...
-DetailFormatterDialog.Select_type_6=Select Type
-DetailFormatterDialog.Could_not_open_type_selection_dialog_for_detail_formatters_7=Could not open type selection dialog for detail formatters
-DetailFormatterDialog.Select_type_8=Select Type
-DetailFormatterDialog.Select_a_type_to_format_when_displaying_its_detail_9=Select a type to format when displaying its detail
-DetailFormatterDialog.Edit_Detail_Formatter_1=Edit Detail Formatter
-DetailFormatterDialog.Add_Detail_Formatter_2=Add Detail Formatter
-DetailFormatterDialog.Associated_code_must_not_be_empty_3=Detail formatter code snippet must not be empty
-DetailFormatterDialog.Detail_formatter_&code_snippet__1=Detail formatter &code snippet:
-
-No_type_with_the_given_name_found_in_the_workspace._1=No type with the given name found in the workspace.
-JavaDetailFormattersManager.Detail_formatter_error___1=Detail formatter error: 
-JavaDetailFormattersManager.An_exception_occurred__{0}_3=An exception occurred: {0}
-DetailFormatterDialog.&Enable_1=&Enable
-DetailFormatterDialog.A_detail_formatter_is_already_defined_for_this_type_2=A detail formatter is already defined for this type
-JDIModelPresentation._(pending)_1=\ (pending)
-JDIModelPresentation._<error(s)_during_the_evaluation>_2=\ <error(s) during the evaluation>
-JDIModelPresentation._(disabled)_3=\ (disabled)
-JDIModelPresentation._(obsolete)_1=\ (obsolete)
-WatchExpressionDialog.Edit_Watch_Expression_1=Edit Watch Expression
-WatchExpressionDialog.Add_Watch_Expression_2=Add Watch Expression
-WatchExpressionDialog.E&xpression_3=E&xpression
-WatchExpressionDialog.&Enable_4=&Enable
-WatchExpressionDialog.Expression_must_not_be_empty_5=Expression must not be empty
-
-JavaUISourceLocator.Select_Source_1=Duplicate Source Files Found
-JavaUISourceLocator.&Select_the_source_that_corresponds_to_{0}_2=&Select the source that corresponds to {0}
-JavaUISourceLocator.&Matching_files__3=&Matching files:
-JavaUISourceLocator.&Location__4=&Location:
-
-ConditionalBreakpointErrorDialog.Conditional_Breakpoint_Error_1=Conditional Breakpoint Error
-ConditionalBreakpointErrorDialog.&Edit_Condition_2=&Edit Condition
-
-JavaDebugOptionsManager.Conditional_breakpoint_encountered_runtime_exception._1=Conditional breakpoint encountered runtime exception.
-JavaDebugOptionsManager.Conditional_breakpoint_has_compilation_error(s)._2=Conditional breakpoint has compilation error(s).
-JavaDetailFormattersManager.null=null
-JavaDetailFormattersManager.no_suspended_threads=[toString() unavailable - no suspended threads]
-JavaDetailFormattersManager.<unknown>=<unknown>
-JDIModelPresentation.no_suspended_threads=[toString() unavailable - no suspended threads]
-
-JavaDebugOptionsManager.Breakpoint___1=Breakpoint: 
-JavaDebugOptionsManager.Method_breakpoint___2=Method breakpoint: 
-JavaDebugOptionsManager.Watchpoint___3=Watchpoint: 
-JavaDebugOptionsManager.Line_breakpoint___4=Line breakpoint: 
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatter.java
deleted file mode 100644
index cf0c3f4..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatter.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-/**
- * Information about a detail formatter.
- */
-public class DetailFormatter implements Comparable {
-	
-	private boolean fEnabled;
-	
-	private String fTypeName;
-	
-	private String fSnippet;
-	
-	public DetailFormatter(String typeName, String snippet, boolean enabled) {
-		fTypeName= typeName;
-		fSnippet= snippet;
-		fEnabled= enabled;
-	}
-	
-	/**
-	 * Indicate if this pretty should be used or not.
-	 * @return boolean
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-
-	/**
-	 * Returns the code snippet.
-	 * @return String
-	 */
-	public String getSnippet() {
-		return fSnippet;
-	}
-
-	/**
-	 * Returns the type name.
-	 * @return String
-	 */
-	public String getTypeName() {
-		return fTypeName;
-	}
-
-	/**
-	 * Sets the enabled flag.
-	 * @param enabled the new value of the flag
-	 */
-	public void setEnabled(boolean enabled) {
-		fEnabled= enabled;
-	}
-
-	/**
-	 * Sets the code snippet.
-	 * @param snippet the snippet to set
-	 */
-	public void setSnippet(String snippet) {
-		fSnippet= snippet;
-	}
-
-	/**
-	 * Sets the type name.
-	 * @param typeName the type name to set
-	 */
-	public void setTypeName(String typeName) {
-		fTypeName= typeName;
-	}
-
-	/**
-	 * @see java.lang.Comparable#compareTo(java.lang.Object)
-	 */
-	public int compareTo(Object another) {
-		DetailFormatter detailFormatter= (DetailFormatter)another;
-		if (fTypeName == null) {
-			if (detailFormatter.fTypeName == null) {
-				return 0;
-			} else {
-				return detailFormatter.fTypeName.compareTo(fTypeName);
-			}
-		}
-		return fTypeName.compareTo(detailFormatter.fTypeName);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatterCompletionProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatterCompletionProcessor.java
deleted file mode 100644
index d4bc3b1..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatterCompletionProcessor.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.debug.ui.display.DisplayCompletionProcessor;
-import org.eclipse.jdt.internal.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.template.TemplateEngine;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-
-public class DetailFormatterCompletionProcessor extends DisplayCompletionProcessor {
-
-	/**
-	 * The dialog with which this processor is associated.
-	 */
-	private DetailFormatterDialog fDetailFormatDialog;
-		
-	public DetailFormatterCompletionProcessor(DetailFormatterDialog detailFormatDialog) {
-		fDetailFormatDialog= detailFormatDialog;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(ITextViewer, int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-
-		IType receivingType= fDetailFormatDialog.getType();
-		if (receivingType == null) {
-			return new ICompletionProposal[0];
-		}
-		
-		IJavaProject project= receivingType.getJavaProject();
-		try {
-			// Generate selections from the compilation unit
-			ITextSelection textSelection= (ITextSelection)viewer.getSelectionProvider().getSelection();			
-			configureResultCollector(project, textSelection);	
-			receivingType.codeComplete(viewer.getDocument().get().toCharArray(), -1, documentOffset,
-				 new char[0][], new char[0][],
-				 new int[0], false, getCollector());
-				 
-			IJavaCompletionProposal[] results= getCollector().getResults();
-			
-			// Generate selections from the template engine
-			TemplateEngine templateEngine= getTemplateEngine();
-			if (templateEngine != null) {
-				try {
-					templateEngine.reset();
-					templateEngine.complete(viewer, documentOffset, null);
-					IJavaCompletionProposal[] templateResults= templateEngine.getResults();
-
-					// concatenate arrays
-					IJavaCompletionProposal[] total= new IJavaCompletionProposal[results.length + templateResults.length];
-					System.arraycopy(templateResults, 0, total, 0, templateResults.length);
-					System.arraycopy(results, 0, total, templateResults.length, results.length);
-					results= total;
-				} catch (JavaModelException x) {
-					JDIDebugUIPlugin.log(x);
-				}					
-			}	 
-			 //Order here and not in result collector to make sure that the order
-			 //applies to all proposals and not just those of the compilation unit. 
-			return order(results);	
-		} catch (JavaModelException x) {
-			handle(viewer, x);
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatterDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatterDialog.java
deleted file mode 100644
index 1d8741f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/DetailFormatterDialog.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchResultCollector;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.internal.debug.ui.display.DisplayViewerConfiguration;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-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.IDocumentPartitioner;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.VerifyKeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.VerifyEvent;
-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.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Dialog for edit detail formatter.
- */
-public class DetailFormatterDialog extends StatusDialog {
-	
-	/**
-	 * The detail formatter to edit.
-	 */
-	private DetailFormatter fDetailFormatter;
-
-	// widgets
-	private Text fTypeNameText;
-	private JDISourceViewer fSnippetViewer;
-	private Button fCheckBox;
-
-	/**
-	 * Indicate if a search for a type with the given name 
-	 * have been already performed.
-	 */
-	private boolean fTypeSearched;
-	
-	/**
-	 * Indicate if the type can be modified.
-	 */
-	private boolean fEditTypeName;
-
-	/**
-	 * The type object which corresponds to the given name.
-	 * If this field is <code>null</code> and <code>fTypeSearched</code> is
-	 * <code>true</code>, that means there is no type with the given name in 
-	 * the workspace.
-	 */
-	private IType fType;
-	
-	private List fDefinedTypes;
-	
-	/**
-	 * DetailFormatterDialog constructor.
-	 * 
-	 * @param detailFormatter the detail formatter to edit/add.
-	 * @param editDialog flag which indicates if the dialog is used for
-	 * edit an existing formatter, or for enter the info of a new one.
-	 */
-	public DetailFormatterDialog(Shell parent, DetailFormatter detailFormatter, List definedTypes, boolean editDialog) {
-		this(parent, detailFormatter, definedTypes, true, editDialog);
-	}
-	
-	public DetailFormatterDialog(Shell parent, DetailFormatter detailFormatter, List definedTypes, boolean editTypeName, boolean editDialog) {
-		super(parent);
-		fDetailFormatter= detailFormatter;
-		fTypeSearched= false;
-		setShellStyle(getShellStyle() | SWT.MAX | SWT.RESIZE);
-		if (editDialog) {
-			setTitle(DebugUIMessages.getString("DetailFormatterDialog.Edit_Detail_Formatter_1")); //$NON-NLS-1$
-		} else {
-			setTitle(DebugUIMessages.getString("DetailFormatterDialog.Add_Detail_Formatter_2")); //$NON-NLS-1$
-		}
-		fEditTypeName= editTypeName;
-		fDefinedTypes= definedTypes;
-	}
-	
-	/**
-	 * Create the dialog area.
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		WorkbenchHelp.setHelp(
-			parent,
-			IJavaDebugHelpContextIds.EDIT_DETAIL_FORMATTER_DIALOG);			
-		
-		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);
-
-		// type name label
-		Label label= new Label(container, SWT.NONE);
-		label.setText(DebugUIMessages.getString("DetailFormatterDialog.Qualified_type_&name__2")); //$NON-NLS-1$
-		gd= new GridData(GridData.BEGINNING);
-		label.setLayoutData(gd);
-		label.setFont(font);
-
-		Composite innerContainer = new Composite(container, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		innerContainer.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		innerContainer.setLayoutData(gd);
-		// type name text
-		fTypeNameText= new Text(innerContainer, SWT.SINGLE | SWT.BORDER);
-		fTypeNameText.setEditable(fEditTypeName);
-		fTypeNameText.setText(fDetailFormatter.getTypeName());
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		fTypeNameText.setLayoutData(gd);
-		fTypeNameText.setFont(font);		
-		fTypeNameText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				fTypeSearched= false;
-				checkValues();
-			}
-		});
-		
-		// type search button
-		Button typeSearchButton = new Button(innerContainer, SWT.PUSH); 
-		typeSearchButton.setText(DebugUIMessages.getString("DetailFormatterDialog.Select_&type_4"));  //$NON-NLS-1$
-		setButtonLayoutData(typeSearchButton);
-		gd= (GridData)typeSearchButton.getLayoutData();
-		gd.horizontalAlignment = GridData.END;
-		typeSearchButton.setLayoutData(gd);
-		typeSearchButton.setFont(font);		
-		typeSearchButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				selectType();
-			}
-		});
-		
-		// snippet label
-		label= new Label(container, SWT.NONE);
-		label.setText(DebugUIMessages.getString("DetailFormatterDialog.Detail_formatter_&code_snippet__1")); //$NON-NLS-1$
-		gd= new GridData(GridData.BEGINNING);
-		label.setLayoutData(gd);
-		label.setFont(font);
-
-		// snippet viewer
-		fSnippetViewer= new JDISourceViewer(container,  null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL );
-		fSnippetViewer.setInput(this);
-	
-		JavaTextTools tools= JavaPlugin.getDefault().getJavaTextTools();
-		IDocument document= new Document();
-		IDocumentPartitioner partitioner= tools.createDocumentPartitioner();
-		document.setDocumentPartitioner(partitioner);
-		partitioner.connect(document);		
-		fSnippetViewer.configure(new DisplayViewerConfiguration() {
-			public IContentAssistProcessor getContentAssistantProcessor() {
-				return new DetailFormatterCompletionProcessor(DetailFormatterDialog.this);
-			}
-		});
-		fSnippetViewer.setEditable(true);
-		fSnippetViewer.setDocument(document);
-	
-		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);
-		document.set(fDetailFormatter.getSnippet());
-		
-		fSnippetViewer.getTextWidget().addVerifyKeyListener(new VerifyKeyListener() {
-			public void verifyKey(VerifyEvent event) {
-				//do code assist for CTRL-SPACE
-				if (event.stateMask == SWT.CTRL && event.keyCode == 0) {
-					if (event.character == 0x20) {
-						findCorrespondingType();
-						fSnippetViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-						event.doit= false;
-					}
-				}
-			}
-		});
-		
-		fSnippetViewer.getDocument().addDocumentListener(new IDocumentListener() {
-			public void documentAboutToBeChanged(DocumentEvent event) {
-			}
-			public void documentChanged(DocumentEvent event) {
-				checkValues();
-			}
-		});
-		
-		// enable checkbox
-		fCheckBox= new Button(container, SWT.CHECK | SWT.LEFT);
-		fCheckBox.setText(DebugUIMessages.getString("DetailFormatterDialog.&Enable_1")); //$NON-NLS-1$
-		fCheckBox.setSelection(fDetailFormatter.isEnabled());
-		fCheckBox.setFont(font);
-		
-		checkValues();
-		return container;
-	}
-	
-	/**
-	 * Check the field values and display a message in the status if needed.
-	 */
-	private void checkValues() {
-		StatusInfo status= new StatusInfo();
-		String typeName= fTypeNameText.getText().trim();
-		if (typeName.length() == 0) {
-			status.setError(DebugUIMessages.getString("DetailFormatterDialog.Qualified_type_name_must_not_be_empty._3")); //$NON-NLS-1$
-		} else if (fDefinedTypes != null && fDefinedTypes.contains(typeName)) {
-			status.setError(DebugUIMessages.getString("DetailFormatterDialog.A_detail_formatter_is_already_defined_for_this_type_2")); //$NON-NLS-1$
-		} else if (fSnippetViewer.getDocument().get().trim().length() == 0) {
-			status.setError(DebugUIMessages.getString("DetailFormatterDialog.Associated_code_must_not_be_empty_3")); //$NON-NLS-1$
-		} else if (fType == null && fTypeSearched) {
-			status.setWarning(DebugUIMessages.getString("No_type_with_the_given_name_found_in_the_workspace._1")); //$NON-NLS-1$
-		}
-		updateStatus(status);
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fDetailFormatter.setEnabled(fCheckBox.getSelection());
-		fDetailFormatter.setTypeName(fTypeNameText.getText().trim());
-		fDetailFormatter.setSnippet(fSnippetViewer.getDocument().get());
-		
-		super.okPressed();
-	}
-	
-	/**
-	 * Open the 'select type' dialog, and set the user choice into the formatter.
-	 */
-	private void selectType() {
-		Shell shell= getShell();
-		SelectionDialog dialog= null;
-		try {
-			dialog= JavaUI.createTypeDialog(shell, new ProgressMonitorDialog(shell),
-				SearchEngine.createWorkspaceScope(), IJavaElementSearchConstants.CONSIDER_CLASSES, false);
-		} catch (JavaModelException jme) {
-			String title= DebugUIMessages.getString("DetailFormatterDialog.Select_type_6"); //$NON-NLS-1$
-			String message= DebugUIMessages.getString("DetailFormatterDialog.Could_not_open_type_selection_dialog_for_detail_formatters_7"); //$NON-NLS-1$
-			ExceptionHandler.handle(jme, title, message);
-			return;
-		}
-	
-		dialog.setTitle(DebugUIMessages.getString("DetailFormatterDialog.Select_type_8")); //$NON-NLS-1$
-		dialog.setMessage(DebugUIMessages.getString("DetailFormatterDialog.Select_a_type_to_format_when_displaying_its_detail_9")); //$NON-NLS-1$
-		if (dialog.open() == IDialogConstants.CANCEL_ID) {
-			return;
-		}
-		
-		Object[] types= dialog.getResult();
-		if (types != null && types.length > 0) {
-			fType = (IType)types[0];
-			fTypeNameText.setText(fType.getFullyQualifiedName());
-		}		
-	}
-	
-	/**
-	 * Use the java search engine for find the (a) type which corresponds
-	 * to the given name.
-	 */
-	private void findCorrespondingType() {
-		if (fTypeSearched) {
-			return;
-		}
-		fType= null;
-		fTypeSearched= true;
-		final String pattern= fTypeNameText.getText().trim();
-		if (pattern == null || "".equals(pattern)) { //$NON-NLS-1$
-			return;
-		}
-		final IJavaSearchResultCollector collector= new IJavaSearchResultCollector() {
-			private boolean fFirst= true;
-			
-			public void aboutToStart() {
-			}
-
-			public void accept(IResource resource, int start, int end, IJavaElement enclosingElement, int accuracy) throws CoreException {
-				if (!fFirst) {
-					return;
-				}
-				fFirst= false;
-				if (enclosingElement instanceof IType) {
-					fType= (IType) enclosingElement;
-				}
-			}
-
-			public void done() {
-				checkValues();
-			}
-
-			public IProgressMonitor getProgressMonitor() {
-				return null;
-			}
-		};
-	
-		SearchEngine engine= new SearchEngine(JavaUI.getSharedWorkingCopies());
-		IJavaSearchScope scope= SearchEngine.createWorkspaceScope();
-		try {
-			engine.search(JavaPlugin.getWorkspace(), SearchEngine.createSearchPattern(pattern, IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, true), scope, collector);
-		} catch (JavaModelException e) {
-		}
-	}
-	
-	/**
-	 * Return the type object which corresponds to the given name.
-	 */
-	public IType getType() {
-		if (!fTypeSearched) {
-			findCorrespondingType();
-		}
-		return fType;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ErrorDialogWithToggle.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ErrorDialogWithToggle.java
deleted file mode 100644
index 83b85a0..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ErrorDialogWithToggle.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * An error dialog which allows the user to set
- * a boolean preference.
- * 
- * This is typically used to set a preference that
- * determines if the dialog should be shown in
- * the future
- */
-public class ErrorDialogWithToggle extends ErrorDialog {
-
-	/**
-	 * The preference key which is set by the toggle button.
-	 * This key must be a boolean preference in the preference store.
-	 */
-	private String fPreferenceKey= null;
-	/**
-	 * The message displayed to the user, with the toggle button
-	 */
-	private String fToggleMessage= null;
-	private Button fToggleButton= null;
-	/**
-	 * The preference store which will be affected by the toggle button
-	 */
-	IPreferenceStore fStore= null;
-
-	public ErrorDialogWithToggle(Shell parentShell, String dialogTitle, String message, IStatus status, String preferenceKey, String toggleMessage, IPreferenceStore store) {
-		super(parentShell, dialogTitle, message, status, IStatus.WARNING | IStatus.ERROR | IStatus.INFO);
-		fStore= store;
-		fPreferenceKey= preferenceKey;
-		fToggleMessage= toggleMessage;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogArea= (Composite) super.createDialogArea(parent);
-		dialogArea.setFont(parent.getFont());
-		setToggleButton(createCheckButton(dialogArea, fToggleMessage));
-		getToggleButton().setSelection(fStore.getBoolean(fPreferenceKey));
-		applyDialogFont(dialogArea);
-		return dialogArea;
-	}
-	
-	/**
-	 * Creates a button with the given label and sets the default 
-	 * configuration data.
-	 */
-	private Button createCheckButton(Composite parent, String label) {
-		Button button= new Button(parent, SWT.CHECK | SWT.LEFT);
-		button.setText(label);		
-
-		GridData data = new GridData(SWT.NONE);
-		data.horizontalSpan= 2;
-		data.horizontalAlignment= GridData.CENTER;
-		button.setLayoutData(data);
-		button.setFont(parent.getFont());
-		
-		return button;
-	}
-
-	protected void buttonPressed(int id) {
-		if (id == IDialogConstants.OK_ID) {  // was the OK button pressed?
-			storePreference();
-		}
-		super.buttonPressed(id);
-	}
-	
-	private void storePreference() {
-		fStore.setValue(fPreferenceKey, getToggleButton().getSelection());
-	}
-
-	protected Button getToggleButton() {
-		return fToggleButton;
-	}
-
-	protected void setToggleButton(Button button) {
-		fToggleButton = button;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		getButton(IDialogConstants.OK_ID).setFocus();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/EvaluationContextManager.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/EvaluationContextManager.java
deleted file mode 100644
index 62e498e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/EvaluationContextManager.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-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.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookLauncher;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-
-
-/**
- * Manages the current evaluation context (stack frame) for evaluation actions.
- * In each page, the selection is tracked in each debug view (if any). When a stack
- * frame selection exists, the "debuggerActive" System property is set to true. When
- * a scrapbook becomes active, the "scrapbookActive" System property is set to true. 
- */
-public class EvaluationContextManager implements IWindowListener, IPageListener, ISelectionListener, IPartListener2 {
-
-	private static EvaluationContextManager fgManager;
-	
-	private Map fContextsByPage = null;
-	
-	private EvaluationContextManager() {
-	}
-	
-	public static void startup() {
-		Runnable r = new Runnable() {
-			public void run() {
-				if (fgManager == null) {
-					fgManager = new EvaluationContextManager();
-					IWorkbench workbench = PlatformUI.getWorkbench();
-					IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-					for (int i = 0; i < windows.length; i++) {
-						fgManager.windowOpened(windows[i]);	
-					}
-					workbench.addWindowListener(fgManager);
-				}				
-			}
-		};
-		JDIDebugUIPlugin.getStandardDisplay().asyncExec(r);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowActivated(IWorkbenchWindow window) {
-		windowOpened(window);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowClosed(IWorkbenchWindow window) {
-		window.removePageListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowDeactivated(IWorkbenchWindow window) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowOpened(IWorkbenchWindow window) {
-		IWorkbenchPage[] pages = window.getPages();
-		for (int i = 0; i < pages.length; i++) {
-			window.addPageListener(this);
-			pageOpened(pages[i]);
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPageListener#pageActivated(org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void pageActivated(IWorkbenchPage page) {
-		pageOpened(page);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPageListener#pageClosed(org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void pageClosed(IWorkbenchPage page) {
-		page.removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		page.removePartListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPageListener#pageOpened(org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void pageOpened(IWorkbenchPage page) {
-		page.addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		page.addPartListener(this);
-		IWorkbenchPartReference ref = page.getActivePartReference();
-		if (ref != null) {
-			partActivated(ref);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		IWorkbenchPage page = part.getSite().getPage();
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection)selection;
-			if (ss.size() == 1) {
-				Object element = ss.getFirstElement();
-				if (element instanceof IAdaptable) {
-					IJavaStackFrame frame = (IJavaStackFrame)((IAdaptable)element).getAdapter(IJavaStackFrame.class);
-					if (frame != null) {
-						// do not consider scrapbook frames
-						if (frame.getLaunch().getAttribute(ScrapbookLauncher.SCRAPBOOK_LAUNCH) == null) {
-							setContext(page, frame);
-							return;
-						}
-					}
-				}
-			}
-		}
-		// no context in the given view
-		removeContext(page);
-	}
-
-	/**
-	 * Sets the evaluation context for the given page, and notes that
-	 * a valid execution context exists.
-	 * 
-	 * @param page
-	 * @param frame
-	 */
-	private void setContext(IWorkbenchPage page, IJavaStackFrame frame) {
-		if (fContextsByPage == null) {
-			fContextsByPage = new HashMap();
-		}
-		fContextsByPage.put(page, frame);
-		System.setProperty(JDIDebugUIPlugin.getUniqueIdentifier() + ".debuggerActive", "true"); //$NON-NLS-1$ //$NON-NLS-2$	
-	}
-
-	/**
-	 * Removes an evaluation context for the given page, and determines if
-	 * any valid execution context remain.
-	 * 
-	 * @param page
-	 */
-	private void removeContext(IWorkbenchPage page) {
-		if (fContextsByPage != null) {
-			fContextsByPage.remove(page);
-			if (fContextsByPage.isEmpty()) {
-				System.setProperty(JDIDebugUIPlugin.getUniqueIdentifier() + ".debuggerActive", "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	
-	private static IJavaStackFrame getContext(IWorkbenchPage page) {
-		if (fgManager != null) {
-			if (fgManager.fContextsByPage != null) {
-				return (IJavaStackFrame)fgManager.fContextsByPage.get(page);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the evaluation context for the given part, or <code>null</code> if none.
-	 * The evaluation context corresponds to the selected stack frame in the following
-	 * priority order:<ol>
-	 * <li>stack frame in the same page</li>
-	 * <li>stack frame in the same window</li>
-	 * <li>stack frame in active page of other window</li>
-	 * <li>stack frame in page of other windows</li>
-	 * </ol>
-	 * 
-	 * @param part the part that the evaluation action was invoked from
-	 * @return the stack frame that supplies an evaluation context, or <code>null</code>
-	 *   if none
-	 */
-	public static IJavaStackFrame getEvaluationContext(IWorkbenchPart part) {
-		IWorkbenchPage page = part.getSite().getPage();
-		IJavaStackFrame frame = getContext(page);
-		if (frame == null) {
-			return getEvaluationContext(page.getWorkbenchWindow());
-		} else {
-			return frame;
-		}
-	}
-
-	/**
-	 * Returns the evaluation context for the given window, or <code>null</code> if none.
-	 * The evaluation context corresponds to the selected stack frame in the following
-	 * priority order:<ol>
-	 * <li>stack frame in active page of the window</li>
-	 * <li>stack frame in another page of the window</li>
-	 * <li>stack frame in active page of another window</li>
-	 * <li>stack frame in a page of another window</li>
-	 * </ol>
-	 * 
-	 * @param window the window that the evaluation action was invoked from
-	 * @return the stack frame that supplies an evaluation context, or <code>null</code>
-	 *   if none
-	 * @return IJavaStackFrame
-	 */
-	public static IJavaStackFrame getEvaluationContext(IWorkbenchWindow window) {
-		List alreadyVisited= new ArrayList();
-		return getEvaluationContext(window, alreadyVisited);
-	}
-	
-	private static IJavaStackFrame getEvaluationContext(IWorkbenchWindow window, List alreadyVisited) {
-		IWorkbenchPage activePage = window.getActivePage();
-		IJavaStackFrame frame = null;
-		if (activePage != null) {
-			frame = getContext(activePage);
-		}
-		if (frame == null) {
-			IWorkbenchPage[] pages = window.getPages();
-			for (int i = 0; i < pages.length; i++) {
-				if (activePage != pages[i]) {
-					frame = getContext(pages[i]);
-					if (frame != null) {
-						return frame;
-					}
-				}
-			}
-			
-			alreadyVisited.add(window);
-			
-			IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-			for (int i = 0; i < windows.length; i++) {
-				if (!alreadyVisited.contains(windows[i])) {
-					frame = getEvaluationContext(windows[i], alreadyVisited);
-					if (frame != null) {
-						return frame;
-					}
-				}
-			}
-			return null;
-		} else {
-			return frame;
-		}
-	}
-	
-	/**
-	 * @see IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partActivated(IWorkbenchPartReference ref) {
-		if ("org.eclipse.jdt.debug.ui.SnippetEditor".equals(ref.getId())) { //$NON-NLS-1$
-			System.setProperty(JDIDebugUIPlugin.getUniqueIdentifier() + ".scrapbookActive", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			System.setProperty(JDIDebugUIPlugin.getUniqueIdentifier() + ".scrapbookActive", "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * @see IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partBroughtToTop(IWorkbenchPartReference ref) {
-	}
-
-	/**
-	 * @see IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partClosed(IWorkbenchPartReference ref) {
-		if (ref.getId().equals(IDebugUIConstants.ID_DEBUG_VIEW)) {
-			removeContext(ref.getPage());
-		}
-	}
-
-	/**
-	 * @see IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partDeactivated(IWorkbenchPartReference ref) {
-	}
-
-	/**
-	 * @see IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
-	 */ 
-	public void partOpened(IWorkbenchPartReference ref) {
-	}
-
-	/**
-	 * @see IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
-	 */	
-	public void partHidden(IWorkbenchPartReference ref) {
-	}
-
-	/**
-	 * @see IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partVisible(IWorkbenchPartReference ref) {
-	}
-
-	/**
-	 * @see IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partInputChanged(IWorkbenchPartReference ref) {
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ExceptionHandler.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ExceptionHandler.java
deleted file mode 100644
index 77529ee..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ExceptionHandler.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.io.StringWriter;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The default exception handler shows an error dialog when one of its handle methods
- * is called. If the passed exception is a <code>CoreException</code> an error dialog
- * pops up showing the exception's status information. For a <code>InvocationTargetException</code>
- * a normal message dialog pops up showing the exception's message. Additionally the exception
- * is written to the platform log.
- */
-public class ExceptionHandler {
-
-	private static ExceptionHandler fgInstance= new ExceptionHandler();
-	
-	/**
-	 * Handles the given <code>CoreException</code>. The workbench shell is used as a parent
-	 * for the dialog window.
-	 * 
-	 * @param e the <code>CoreException</code> to be handled
-	 * @param title the dialog window's window title
-	 * @param message message to be displayed by the dialog window
-	 */
-	public static void handle(CoreException e, String title, String message) {
-		handle(e, JDIDebugUIPlugin.getActiveWorkbenchShell(), title, message);
-	}
-	
-	/**
-	 * Handles the given <code>CoreException</code>. 
-	 * 
-	 * @param e the <code>CoreException</code> to be handled
-	 * @param parent the dialog window's parent shell
-	 * @param title the dialog window's window title
-	 * @param message message to be displayed by the dialog window
-	 */
-	public static void handle(CoreException e, Shell parent, String title, String message) {
-		fgInstance.perform(e, parent, title, message);
-	}
-	
-	/**
-	 * Handles the given <code>InvocationTargetException</code>. The workbench shell is used 
-	 * as a parent for the dialog window.
-	 * 
-	 * @param e the <code>InvocationTargetException</code> to be handled
-	 * @param title the dialog window's window title
-	 * @param message message to be displayed by the dialog window
-	 */
-	public static void handle(InvocationTargetException e, String title, String message) {
-		handle(e, JDIDebugUIPlugin.getActiveWorkbenchShell(), title, message);
-	}
-	
-	/**
-	 * Handles the given <code>InvocationTargetException</code>. 
-	 * 
-	 * @param e the <code>InvocationTargetException</code> to be handled
-	 * @param parent the dialog window's parent shell
-	 * @param title the dialog window's window title
-	 * @param message message to be displayed by the dialog window
-	 */
-	public static void handle(InvocationTargetException e, Shell parent, String title, String message) {
-		fgInstance.perform(e, parent, title, message);
-	}
-
-	//---- Hooks for subclasses to control exception handling ------------------------------------
-	
-	protected void perform(CoreException e, Shell shell, String title, String message) {
-		IStatus status= e.getStatus();
-		JDIDebugUIPlugin.log(e);
-		if (status != null) {
-			ErrorDialog.openError(shell, title, message, status);
-		} else {
-			displayMessageDialog(e.getMessage(), shell, title, message);
-		}
-	}
-
-	protected void perform(InvocationTargetException e, Shell shell, String title, String message) {
-		Throwable target= e.getTargetException();
-		if (target instanceof CoreException) {
-			perform((CoreException)target, shell, title, message);
-		} else {
-			JDIDebugUIPlugin.log(e);
-			if (e.getMessage() != null && e.getMessage().length() > 0) {
-				displayMessageDialog(e.getMessage(), shell, title, message);
-			} else {
-				displayMessageDialog(target.getMessage(), shell, title, message);
-			}
-		}
-	}
-	
-	private void displayMessageDialog(String exceptionMessage, Shell shell, String title, String message) {
-		StringWriter msg= new StringWriter();
-		if (message != null) {
-			msg.write(message);
-			msg.write("\n\n"); //$NON-NLS-1$
-		}
-		if (exceptionMessage == null || exceptionMessage.length() == 0) {
-			msg.write(DebugUIMessages.getString("ExceptionHandler.seeErrorLogMessage")); //$NON-NLS-1$
-		}
-		else {
-			msg.write(exceptionMessage);
-		}
-		MessageDialog.openError(shell, title, msg.toString());			
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/Filter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/Filter.java
deleted file mode 100644
index f8d5f0c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/Filter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-/**
- * Model object that represents a single entry in a filter table.
- */
-public class Filter {
-
-	private String fName;
-	private boolean fChecked;
-
-	public Filter(String name, boolean checked) {
-		setName(name);
-		setChecked(checked);
-	}
-
-	public String getName() {
-		return fName;
-	}
-
-	public void setName(String name) {
-		fName = name;
-	}
-
-	public boolean isChecked() {
-		return fChecked;
-	}
-
-	public void setChecked(boolean checked) {
-		fChecked = checked;
-	}
-
-	public boolean equals(Object o) {
-		if (o instanceof Filter) {
-			Filter other = (Filter) o;
-			if (getName().equals(other.getName())) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public int hashCode() {
-		return getName().hashCode();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/FilterLabelProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/FilterLabelProvider.java
deleted file mode 100644
index d9dc4aa..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/FilterLabelProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.jdt.ui.ISharedImages;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Label provider for Filter model objects
- */
-public class FilterLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-	private static final Image IMG_CUNIT =
-		JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS);
-	private static final Image IMG_PKG =
-		JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKAGE);
-
-	/**
-	 * @see ITableLabelProvider#getColumnText(Object, int)
-	 */
-	public String getColumnText(Object object, int column) {
-		if (column == 0) {
-			return ((Filter) object).getName();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ILabelProvider#getText(Object)
-	 */
-	public String getText(Object element) {
-		return ((Filter) element).getName();
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnImage(Object, int)
-	 */
-	public Image getColumnImage(Object object, int column) {
-		String name = ((Filter) object).getName();
-		if (name.endsWith("*") || name.equals("(default package)")) { //$NON-NLS-1$ //$NON-NLS-2$
-			return IMG_PKG;
-		} else {
-			return IMG_CUNIT;
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/FilterViewerSorter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/FilterViewerSorter.java
deleted file mode 100644
index 04385ed..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/FilterViewerSorter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.jface.viewers.ContentViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-public class FilterViewerSorter extends WorkbenchViewerSorter {
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		ILabelProvider lprov =
-			(ILabelProvider) ((ContentViewer) viewer).getLabelProvider();
-		String name1 = lprov.getText(e1);
-		String name2 = lprov.getText(e2);
-		if (name1 == null) {
-			name1 = ""; //$NON-NLS-1$
-		}
-		if (name2 == null) {
-			name2 = ""; //$NON-NLS-1$
-		}
-		if (name1.length() > 0 && name2.length() > 0) {
-			char char1 = name1.charAt(name1.length() - 1);
-			char char2 = name2.charAt(name2.length() - 1);
-			if (char1 == '*' && char1 != char2) {
-				return -1;
-			}
-			if (char2 == '*' && char2 != char1) {
-				return 1;
-			}
-		}
-		return name1.compareTo(name2);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJDIPreferencesConstants.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJDIPreferencesConstants.java
deleted file mode 100644
index ccf3cb1..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJDIPreferencesConstants.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
- 
-/**
- * Defines constants which are used to refer to values in the plugin's preference store.
- */
-public interface IJDIPreferencesConstants {
-	
-	/**
-	 * Boolean preference controlling whether to suspend
-	 * execution when an uncaught Java exceptionis encountered
-	 * (while debugging).
-	 */	
-	public static final String PREF_SUSPEND_ON_UNCAUGHT_EXCEPTIONS= IJavaDebugUIConstants.PLUGIN_ID + "javaDebug.SuspendOnUncaughtExceptions"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether to suspend
-	 * execution when a compilation error is encountered
-	 * (while debugging).
-	 */
-	public static final String PREF_SUSPEND_ON_COMPILATION_ERRORS= IJavaDebugUIConstants.PLUGIN_ID + ".suspend_on_compilation_errors"; //$NON-NLS-1$
-		
-	/**
-	 * Boolean preference controlling whether synthetic
-	 * methods are to be filtered when stepping (and step
-	 * filters are enabled).
-	 */	
-	public static final String PREF_FILTER_SYNTHETICS = IJavaDebugUIConstants.PLUGIN_ID + ".filter_synthetics"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether static
-	 * initializers are to be filtered when stepping (and step
-	 * filters are enabled).
-	 */		
-	public static final String PREF_FILTER_STATIC_INITIALIZERS = IJavaDebugUIConstants.PLUGIN_ID + ".filter_statics"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether constructors
-	 * are to be filtered when stepping (and step
-	 * filters are enabled).
-	 */			
-	public static final String PREF_FILTER_CONSTRUCTORS = IJavaDebugUIConstants.PLUGIN_ID + ".filter_constructors"; //$NON-NLS-1$
-	
-	/**
-	 * List of active step filters. A String containing a comma
-	 * separated list of fully qualified type names/patterns.
-	 */			
-	public static final String PREF_ACTIVE_FILTERS_LIST = IJavaDebugUIConstants.PLUGIN_ID + ".active_filters"; //$NON-NLS-1$
-	
-	/**
-	 * List of inactive step filters. A String containing a comma
-	 * separated list of fully qualified type names/patterns.
-	 */				
-	public static final String PREF_INACTIVE_FILTERS_LIST = IJavaDebugUIConstants.PLUGIN_ID + ".inactive_filters"; //$NON-NLS-1$	
-	
-	/**
-	 * Boolean preference controlling whether to alert
-	 * with a dialog when hot code replace fails.
-	 */	
-	public static final String PREF_ALERT_HCR_FAILED = IJavaDebugUIConstants.PLUGIN_ID + ".javaDebug.alertHCRFailed"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether to alert
-	 * with a dialog when hot code replace is not supported.
-	 */	
-	public static final String PREF_ALERT_HCR_NOT_SUPPORTED = IJavaDebugUIConstants.PLUGIN_ID + ".javaDebug.alertHCRNotSupported"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether to alert
-	 * with a dialog when hot code replace results in 
-	 * obsolete methods.
-	 */	
-	public static final String PREF_ALERT_OBSOLETE_METHODS = IJavaDebugUIConstants.PLUGIN_ID + "javaDebug.alertObsoleteMethods"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether the debugger shows 
-	 * qualifed names. When <code>true</code> the debugger
-	 * will show qualified names in newly opened views.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String PREF_SHOW_QUALIFIED_NAMES= IJavaDebugUIConstants.PLUGIN_ID + ".show_qualified_names"; //$NON-NLS-1$
-	
-	/**
-	 * List of defined detail formatters.A String containing a comma
-	 * separated list of fully qualified type names, the associated
-	 * code snippet and an 'enabled' flag.
-	 */
-	public static final String PREF_DETAIL_FORMATTERS_LIST= IJavaDebugUIConstants.PLUGIN_ID + ".detail_formatters"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference indicating whether (non-final) static varibles should be shown
-	 * in variable views. A view may over-ride this preference, and if so, stores
-	 * its preference, prefixed by view id.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String PREF_SHOW_STATIC_VARIALBES= IJavaDebugUIConstants.PLUGIN_ID + ".show_static_variables"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference indicating whether constant (final static) varibles should be shown
-	 * in variable views. A view may over-ride this preference, and if so, stores
-	 * its preference, prefixed by view id.
-	 * 
-	 * @since 2.1
-	 */	
-	public static final String PREF_SHOW_CONSTANTS= IJavaDebugUIConstants.PLUGIN_ID + ".show_constants"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference indicating whether hex values should be shown for primitives
-	 * in variable views. A view may over-ride this preference, and if so, stores
-	 * its preference, prefixed by view id.
-	 * 
-	 * @since 2.1
-	 */	
-	public static final String PREF_SHOW_HEX = IJavaDebugUIConstants.PLUGIN_ID + ".show_hex"; //$NON-NLS-1$	
-	
-	/**
-	 * Boolean preference indicating whether char values should be shown for primitives
-	 * in variable views. A view may over-ride this preference, and if so, stores
-	 * its preference, prefixed by view id.
-	 * 
-	 * @since 2.1
-	 */	
-	public static final String PREF_SHOW_CHAR = IJavaDebugUIConstants.PLUGIN_ID + ".show_char"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference indicating whether unsigned values should be shown for primitives
-	 * in variable views. A view may over-ride this preference, and if so, stores
-	 * its preference, prefixed by view id.
-	 * 
-	 * @since 2.1
-	 */	
-	public static final String PREF_SHOW_UNSIGNED = IJavaDebugUIConstants.PLUGIN_ID + ".show_unsigned"; //$NON-NLS-1$	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJDIStatusConstants.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJDIStatusConstants.java
deleted file mode 100644
index 3efe5b3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJDIStatusConstants.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-/**
- * Constants for status objects
- */
-public interface IJDIStatusConstants {
-
-	/**
-	 * Indicates a connection could not be made with a remote VM
-	 */
-	public static final int CODE_CONNECTION_FAILED= 1;
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJavaDebugHelpContextIds.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJavaDebugHelpContextIds.java
deleted file mode 100644
index 824f52a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/IJavaDebugHelpContextIds.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-
-/**
- * Help context ids for the Java Debug UI.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-public interface IJavaDebugHelpContextIds {
-	
-	public static final String PREFIX= IJavaDebugUIConstants.PLUGIN_ID + '.';
-
-	// view parts
-	public static final String DISPLAY_VIEW= PREFIX + "display_view_context"; //$NON-NLS-1$
-	public static final String MONITORS_VIEW= PREFIX + "monitors_view_context"; //$NON-NLS-1$
-
-	//dialogs
-	public static final String EDIT_JRE_DIALOG= PREFIX + "edit_jre_dialog_context"; //$NON-NLS-1$
-	public static final String MAIN_TYPE_SELECTION_DIALOG= PREFIX + "main_type_selection_dialog_context"; //$NON-NLS-1$
-	public static final String PRIMITIVE_DISPLAY_OPTIONS_DIALOG= PREFIX + "primitive_options_dialog_context"; //$NON-NLS-1$
-	public static final String EDIT_DETAIL_FORMATTER_DIALOG= PREFIX + "edit_detail_formatter_dialog_context"; //$NON-NLS-1$
-	public static final String INSTANCE_BREAKPOINT_SELECTION_DIALOG= PREFIX + "instance_breakpoint_selection_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 SNIPPET_IMPORTS_DIALOG= PREFIX + "snippet_imports_dialog_context"; //$NON-NLS-1$
-
-	// Preference/Property pages
-	public static final String JRE_PREFERENCE_PAGE= PREFIX + "jre_preference_page_context"; //$NON-NLS-1$
-	public static final String LAUNCH_JRE_PROPERTY_PAGE= PREFIX + "launch_jre_property_page_context"; //$NON-NLS-1$
-	public static final String JAVA_DEBUG_PREFERENCE_PAGE= PREFIX + "java_debug_preference_page_context"; //$NON-NLS-1$	
-	public static final String JAVA_STEP_FILTER_PREFERENCE_PAGE= PREFIX + "java_step_filter_preference_page_context"; //$NON-NLS-1$
-	public static final String JAVA_BREAKPOINT_PREFERENCE_PAGE= PREFIX + "java_breakpoint_preference_page_context"; //$NON-NLS-1$
-	public static final String JAVA_DETAIL_FORMATTER_PREFERENCE_PAGE= PREFIX + "java_detail_formatter_preference_page_context"; //$NON-NLS-1$
-	
-	// reused ui-blocks
-	public static final String SOURCE_ATTACHMENT_BLOCK= PREFIX + "source_attachment_context"; //$NON-NLS-1$
-	public static final String WORKING_DIRECTORY_BLOCK= PREFIX + "working_directory_context"; //$NON-NLS-1$
-
-	// application launch configuration dialog tabs
-	public static final String LAUNCH_CONFIGURATION_DIALOG_ARGUMENTS_TAB= PREFIX + "launch_configuration_dialog_arguments_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_CLASSPATH_TAB= PREFIX + "launch_configuration_dialog_classpath_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_CONNECT_TAB= PREFIX + "launch_configuration_dialog_connect_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_JRE_TAB= PREFIX + "launch_configuration_dialog_jre_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_MAIN_TAB= PREFIX + "launch_configuration_dialog_main_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_SOURCE_TAB= PREFIX + "launch_configuration_dialog_source_tab"; //$NON-NLS-1$
-	
-	// applet launch configuration dialog tabs
-	public static final String LAUNCH_CONFIGURATION_DIALOG_APPLET_MAIN_TAB= PREFIX + "launch_configuration_dialog_applet_main_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_APPLET_ARGUMENTS_TAB= PREFIX + "launch_configuration_dialog_applet_arguments_tab"; //$NON-NLS-1$
-
-	//actions
-	public static final String STEP_INTO_SELECTION_ACTION = PREFIX + "step_into_selection_action"; //$NON-NLS-1$
-	public static final String PRIMITIVE_DISPLAY_OPTIONS_ACTION = PREFIX + "primitive_options_action_context"; //$NON-NLS-1$
-	public static final String SHOW_STATICS_ACTION = PREFIX + "show_static_action_context"; //$NON-NLS-1$
-	public static final String SHOW_CONSTANTS_ACTION = PREFIX + "show_constants_action_context"; //$NON-NLS-1$
-	public static final String CLEAR_DISPLAY_VIEW_ACTION = PREFIX + "clear_display_view_action_context"; //$NON-NLS-1$
-	public static final String TERMINATE_SCRAPBOOK_VM_ACTION = PREFIX + "terminate_scrapbook_vm_action_context"; //$NON-NLS-1$
-	public static final String SCRAPBOOK_IMPORTS_ACTION = PREFIX + "scrapbook_imports_action_context"; //$NON-NLS-1$
-	
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ImageDescriptorRegistry.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ImageDescriptorRegistry.java
deleted file mode 100644
index 54551fa..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ImageDescriptorRegistry.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.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(JDIDebugUIPlugin.getStandardDisplay());
-	}
-	
-	/**
-	 * Creates a new image descriptor registry for the given display. All images
-	 * managed by this registry will be disposed when the display gets disposed.
-	 * 
-	 * @param diaplay the display the images managed by this registry are allocated for 
-	 */
-	public ImageDescriptorRegistry(Display display) {
-		fDisplay= display;
-		Assert.isNotNull(fDisplay);
-		hookDisplay();
-	}
-	
-	/**
-	 * Returns the image associated with the given image descriptor.
-	 * 
-	 * @param descriptor the image descriptor for which the registry manages an image
-	 * @return the image associated with the image descriptor or <code>null</code>
-	 *  if the image descriptor can't create the requested image.
-	 */
-	public Image get(ImageDescriptor descriptor) {
-		if (descriptor == null)
-			descriptor= ImageDescriptor.getMissingImageDescriptor();
-			
-		Image result= (Image)fRegistry.get(descriptor);
-		if (result != null)
-			return result;
-	
-		Assert.isTrue(fDisplay == JDIDebugUIPlugin.getStandardDisplay(), DebugUIMessages.getString("ImageDescriptorRegistry.Allocating_image_for_wrong_display_1")); //$NON-NLS-1$
-		result= descriptor.createImage();
-		if (result != null)
-			fRegistry.put(descriptor, result);
-		return result;
-	}
-
-	/**
-	 * Disposes all images managed by this registry.
-	 */	
-	public void dispose() {
-		for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) {
-			Image image= (Image)iter.next();
-			image.dispose();
-		}
-		fRegistry.clear();
-	}
-	
-	private void hookDisplay() {
-		fDisplay.disposeExec(new Runnable() {
-			public void run() {
-				dispose();
-			}	
-		});
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIContentAssistPreference.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIContentAssistPreference.java
deleted file mode 100644
index 0cc62b8..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIContentAssistPreference.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.debug.ui.display.DisplayCompletionProcessor;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetCompletionProcessor;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.text.IColorManager;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-public class JDIContentAssistPreference {
-	
-	private final static String VISIBILITY= "org.eclipse.jdt.core.codeComplete.visibilityCheck"; //$NON-NLS-1$
-	private final static String ENABLED= "enabled"; //$NON-NLS-1$
-	private final static String DISABLED= "disabled"; //$NON-NLS-1$
-	
-	private static Color getColor(IPreferenceStore store, String key, IColorManager manager) {
-		RGB rgb= PreferenceConverter.getColor(store, key);
-		return manager.getColor(rgb);
-	}
-	
-	private static Color getColor(IPreferenceStore store, String key) {
-		JavaTextTools textTools= JavaPlugin.getDefault().getJavaTextTools();
-		return getColor(store, key, textTools.getColorManager());
-	}
-	
-	private static DisplayCompletionProcessor getDisplayProcessor(ContentAssistant assistant) {
-		IContentAssistProcessor p= assistant.getContentAssistProcessor(IDocument.DEFAULT_CONTENT_TYPE);
-		if (p instanceof DisplayCompletionProcessor)
-			return  (DisplayCompletionProcessor) p;
-		return null;
-	}
-	
-	private static JavaSnippetCompletionProcessor getJavaSnippetProcessor(ContentAssistant assistant) {
-		IContentAssistProcessor p= assistant.getContentAssistProcessor(IDocument.DEFAULT_CONTENT_TYPE);
-		if (p instanceof JavaSnippetCompletionProcessor)
-			return  (JavaSnippetCompletionProcessor) p;
-		return null;
-	}
-	
-	private static void configureDisplayProcessor(ContentAssistant assistant, IPreferenceStore store) {
-		DisplayCompletionProcessor dcp= getDisplayProcessor(assistant);
-		if (dcp == null) {
-			return;
-		}
-		String triggers= store.getString(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA);
-		if (triggers != null) {
-			dcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
-		}
-			
-		boolean enabled= store.getBoolean(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS);
-		restrictProposalsToVisibility(enabled);
-		
-		enabled= store.getBoolean(PreferenceConstants.CODEASSIST_CASE_SENSITIVITY);
-		restrictProposalsToMatchingCases(enabled);
-		
-		enabled= store.getBoolean(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS);
-		dcp.orderProposalsAlphabetically(enabled);
-	}
-	
-	private static void configureJavaSnippetProcessor(ContentAssistant assistant, IPreferenceStore store) {
-		JavaSnippetCompletionProcessor cp= getJavaSnippetProcessor(assistant);
-		if (cp == null) {
-			return;
-		}
-			
-		String triggers= store.getString(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA);
-		if (triggers != null) {
-			cp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
-		}
-			
-		boolean enabled= store.getBoolean(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS);
-		restrictProposalsToVisibility(enabled);
-		
-		enabled= store.getBoolean(PreferenceConstants.CODEASSIST_CASE_SENSITIVITY);
-		restrictProposalsToMatchingCases(enabled);
-		
-		enabled= store.getBoolean(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS);
-		cp.orderProposalsAlphabetically(enabled);
-	}
-	
-	/**
-	 * Configure the given content assistant from the preference store.
-	 */
-	public static void configure(ContentAssistant assistant, IColorManager manager) {
-		
-		IPreferenceStore store= getPreferenceStore();
-		
-		boolean enabled= store.getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION);
-		assistant.enableAutoActivation(enabled);
-		
-		int delay= store.getInt(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY);
-		assistant.setAutoActivationDelay(delay);
-		
-		Color c= getColor(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, manager);
-		assistant.setProposalSelectorForeground(c);
-		
-		c= getColor(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, manager);
-		assistant.setProposalSelectorBackground(c);
-		
-		c= getColor(store, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND, manager);
-		assistant.setContextInformationPopupForeground(c);
-		assistant.setContextSelectorForeground(c);
-		
-		c= getColor(store, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND, manager);
-		assistant.setContextInformationPopupBackground(c);
-		assistant.setContextSelectorBackground(c);
-		
-		enabled= store.getBoolean(PreferenceConstants.CODEASSIST_AUTOINSERT);
-		assistant.enableAutoInsert(enabled);
-
-		configureDisplayProcessor(assistant, store);
-		configureJavaSnippetProcessor(assistant, store);
-	}
-	
-	
-	private static void changeDisplayProcessor(ContentAssistant assistant, IPreferenceStore store, String key) {
-		DisplayCompletionProcessor dcp= getDisplayProcessor(assistant);
-		if (dcp == null) {
-			return;
-		}
-		if (PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA.equals(key)) {
-			String triggers= store.getString(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA);
-			if (triggers != null) {
-				dcp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
-			}
-		} else if (PreferenceConstants.CODEASSIST_ORDER_PROPOSALS.equals(key)) {
-			boolean enable= store.getBoolean(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS);
-			dcp.orderProposalsAlphabetically(enable);
-		}
-	}
-	
-	private static void changeJavaSnippetProcessor(ContentAssistant assistant, IPreferenceStore store, String key) {
-		JavaSnippetCompletionProcessor cp= getJavaSnippetProcessor(assistant);
-		if (cp == null) {
-			return;
-		}
-		if (PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA.equals(key)) {
-			String triggers= store.getString(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA);
-			if (triggers != null) {
-				cp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
-			}
-		} else if (PreferenceConstants.CODEASSIST_ORDER_PROPOSALS.equals(key)) {
-			boolean enable= store.getBoolean(PreferenceConstants.CODEASSIST_ORDER_PROPOSALS);
-			cp.orderProposalsAlphabetically(enable);
-		}	
-	}
-	
-	
-	/**
-	 * Changes the configuration of the given content assistant according to the given property
-	 * change event.
-	 */
-	public static void changeConfiguration(ContentAssistant assistant, PropertyChangeEvent event) {
-		
-		IPreferenceStore store= getPreferenceStore();
-		String p= event.getProperty();
-		
-		if (PreferenceConstants.CODEASSIST_AUTOACTIVATION.equals(p)) {
-			boolean enabled= store.getBoolean(PreferenceConstants.CODEASSIST_AUTOACTIVATION);
-			assistant.enableAutoActivation(enabled);
-		} else if (PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY.equals(p)) {
-			int delay= store.getInt(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY);
-			assistant.setAutoActivationDelay(delay);
-		} else if (PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND.equals(p)) {
-			Color c= getColor(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND);
-			assistant.setProposalSelectorForeground(c);
-		} else if (PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND.equals(p)) {
-			Color c= getColor(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND);
-			assistant.setProposalSelectorBackground(c);
-		} else if (PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND.equals(p)) {
-			Color c= getColor(store, PreferenceConstants.CODEASSIST_PARAMETERS_FOREGROUND);
-			assistant.setContextInformationPopupForeground(c);
-			assistant.setContextSelectorForeground(c);
-		} else if (PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND.equals(p)) {
-			Color c= getColor(store, PreferenceConstants.CODEASSIST_PARAMETERS_BACKGROUND);
-			assistant.setContextInformationPopupBackground(c);
-			assistant.setContextSelectorBackground(c);
-		} else if (PreferenceConstants.CODEASSIST_AUTOINSERT.equals(p)) {
-			boolean enabled= store.getBoolean(PreferenceConstants.CODEASSIST_AUTOINSERT);
-			assistant.enableAutoInsert(enabled);
-		}
-		
-		changeDisplayProcessor(assistant, store, p);
-		changeJavaSnippetProcessor(assistant, store, p);
-	}
-	
-	/**
-	 * Tells this processor to restrict its proposal to those element
-	 * visible in the actual invocation context.
-	 * 
-	 * @param restrict <code>true</code> if proposals should be restricted
-	 */
-	private static void restrictProposalsToVisibility(boolean restrict) {
-		Hashtable options= JavaCore.getOptions();
-		Object value= options.get(VISIBILITY);
-		if (value instanceof String) {
-			String newValue= restrict ? ENABLED : DISABLED;
-			if (!newValue.equals((String) value)) {
-				options.put(VISIBILITY, newValue);
-				JavaCore.setOptions(options);
-			}
-		}
-	}
-	
-	/**
-	 * Tells this processor to restrict is proposals to those
-	 * starting with matching cases.
-	 * 
-	 * @param restrict <code>true</code> if proposals should be restricted
-	 */
-	private static void restrictProposalsToMatchingCases(boolean restrict) {
-		// XXX not yet supported
-	}
-	
-	private static IPreferenceStore getPreferenceStore() {
-		return ((AbstractUIPlugin)Platform.getPlugin(JavaUI.ID_PLUGIN)).getPreferenceStore();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIDebugUIPlugin.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIDebugUIPlugin.java
deleted file mode 100644
index d1281d2..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIDebugUIPlugin.java
+++ /dev/null
@@ -1,491 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPluginDescriptor;
-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.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaHotCodeReplaceListener;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.debug.eval.IAstEvaluationEngine;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.SnippetFileDocumentProvider;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-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.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.editors.text.FileDocumentProvider;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-/**
- * Plug-in class for the org.eclipse.jdt.debug.ui plug-in.
- */
-public class JDIDebugUIPlugin extends AbstractUIPlugin {
-
-	/**
-	 * Java Debug UI plug-in instance
-	 */
-	private static JDIDebugUIPlugin fgPlugin;
-	
-	private FileDocumentProvider fSnippetDocumentProvider;
-	
-	private ImageDescriptorRegistry fImageDescriptorRegistry;
-	
-	private JavaEvaluationEngineManager fEvaluationEngineManager;
-	
-	private ActionFilterAdapterFactory fActionFilterAdapterFactory;
-	private JavaSourceLocationWorkbenchAdapterFactory fSourceLocationAdapterFactory;
-	
-	private IDebugModelPresentation fUtilPresentation;
-	
-	/**
-	 * Java Debug UI listeners
-	 */
-	private IJavaHotCodeReplaceListener fHCRListener;
-	private IElementChangedListener fJavaModelListener;
-	
-	// Map of VMInstallTypeIDs to IConfigurationElements
-	protected Map fVmInstallTypePageMap;
-	
-	/**
-	 * Whether this plugin is in the process of shutting
-	 * down.
-	 */
-	private boolean fShuttingDown= false;
-
-	/**
-	 * @see Plugin(IPluginDescriptor)
-	 */
-	public JDIDebugUIPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		setDefault(this);
-	}
-	
-	/**
-	 * Sets the Java Debug UI plug-in instance
-	 * 
-	 * @param plugin the plugin instance
-	 */
-	private static void setDefault(JDIDebugUIPlugin plugin) {
-		fgPlugin = plugin;
-	}
-	
-	/**
-	 * Returns the Java Debug UI plug-in instance
-	 * 
-	 * @return the Java Debug UI plug-in instance
-	 */
-	public static JDIDebugUIPlugin getDefault() {
-		return fgPlugin;
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		if (getDefault() == null) {
-			// If the default instance is not yet initialized,
-			// return a static identifier. This identifier must
-			// match the plugin id defined in plugin.xml
-			return "org.eclipse.jdt.debug.ui"; //$NON-NLS-1$
-		}
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-	
-	/**
-	 * 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 an internal error with the specified message.
-	 * 
-	 * @param message the error message to log
-	 */
-	public static void logErrorMessage(String message) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, message, null));
-	}
-
-	/**
-	 * Logs an internal error with the specified throwable
-	 * 
-	 * @param e the exception to be logged
-	 */	
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, DebugUIMessages.getString("JDIDebugUIPlugin.Internal_Error_1"), e));  //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the active workbench window
-	 * 
-	 * @return the active workbench window
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}	
-	
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow w = getActiveWorkbenchWindow();
-		if (w != null) {
-			return w.getActivePage();
-		}
-		return null;
-	}
-	
-	
-	/**
-	 * Returns the active workbench shell or <code>null</code> if none
-	 * 
-	 * @return 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;
-	}	
-	
-	/* (non - Javadoc)
-	 * Method declared in AbstractUIPlugin
-	 */
-	protected ImageRegistry createImageRegistry() {
-		return JavaDebugImages.getImageRegistry();
-	}	
-	
-	public IDocumentProvider getSnippetDocumentProvider() {
-		if (fSnippetDocumentProvider == null)
-			fSnippetDocumentProvider= new SnippetFileDocumentProvider();
-		return fSnippetDocumentProvider;
-	}	
-	
-	/**
-	 * Logs the given message if in debug mode.
-	 * 
-	 * @param String message to log
-	 */
-	public static void logDebugMessage(String message) {
-		if (getDefault().isDebugging()) {
-			// this message is intentionally not internationalized, as an exception may
-			// be due to the resource bundle itself
-			log(new Status(IStatus.ERROR, getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, "Internal message logged from JDT Debug UI: " + message, null)); //$NON-NLS-1$
-		}
-	}
-	
-	public static void errorDialog(String message, IStatus status) {
-		log(status);
-		Shell shell = getActiveWorkbenchShell();
-		if (shell != null) {
-			ErrorDialog.openError(shell, DebugUIMessages.getString("JDIDebugUIPlugin.Error_1"), message, status); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Utility method with conventions
-	 */
-	public static void errorDialog(String message, Throwable t) {
-		log(t);
-		Shell shell = getActiveWorkbenchShell();
-		if (shell != null) {
-			IStatus status= new Status(IStatus.ERROR, getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, "Error logged from JDT Debug UI: ", t); //$NON-NLS-1$	
-			ErrorDialog.openError(shell, DebugUIMessages.getString("JDIDebugUIPlugin.Error_1"), message, status); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * @see AbstractUIPlugin#initializeDefaultPreferences
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		if(isShuttingDown()) {
-			return;
-		}
-		// JavaDebugPreferencePage
-		store.setDefault(IJDIPreferencesConstants.PREF_SUSPEND_ON_COMPILATION_ERRORS, true);
-		store.setDefault(IJDIPreferencesConstants.PREF_SUSPEND_ON_UNCAUGHT_EXCEPTIONS, true);
-		store.setDefault(IJDIPreferencesConstants.PREF_ALERT_HCR_FAILED, true);
-		store.setDefault(IJDIPreferencesConstants.PREF_ALERT_HCR_NOT_SUPPORTED, true);
-		store.setDefault(IJDIPreferencesConstants.PREF_ALERT_OBSOLETE_METHODS, true);
-
-		store.setDefault(IJDIPreferencesConstants.PREF_SHOW_QUALIFIED_NAMES, false);
-		store.setDefault(JDIDebugModel.PREF_HCR_WITH_COMPILATION_ERRORS, true);
-
-		store.setDefault(JDIDebugModel.PREF_REQUEST_TIMEOUT, JDIDebugModel.DEF_REQUEST_TIMEOUT);
-		store.setDefault(JavaRuntime.PREF_CONNECT_TIMEOUT, JavaRuntime.DEF_CONNECT_TIMEOUT);
-		
-		// JavaStepFilterPreferencePage
-		store.setDefault(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST, "java.lang.ClassLoader"); //$NON-NLS-1$
-		store.setDefault(IJDIPreferencesConstants.PREF_INACTIVE_FILTERS_LIST, "com.ibm.*,com.sun.*,java.*,javax.*,org.omg.*,sun.*,sunw.*"); //$NON-NLS-1$
-				
-		store.setDefault(IJDIPreferencesConstants.PREF_SHOW_CONSTANTS, false);
-		store.setDefault(IJDIPreferencesConstants.PREF_SHOW_STATIC_VARIALBES, false);
-		store.setDefault(IJDIPreferencesConstants.PREF_SHOW_CHAR, false);
-		store.setDefault(IJDIPreferencesConstants.PREF_SHOW_HEX, false);
-		store.setDefault(IJDIPreferencesConstants.PREF_SHOW_UNSIGNED, false);
-	}
-	
-	/**
-	 * @see AbstractUIPlugin#startup()
-	 */
-	public void startup() throws CoreException {
-		super.startup();
-		JavaDebugOptionsManager.getDefault().startup();
-		
-		IAdapterManager manager= Platform.getAdapterManager();
-		fActionFilterAdapterFactory= new ActionFilterAdapterFactory();
-		manager.registerAdapters(fActionFilterAdapterFactory, IMethod.class);
-		manager.registerAdapters(fActionFilterAdapterFactory, IJavaVariable.class);
-		manager.registerAdapters(fActionFilterAdapterFactory, IJavaStackFrame.class);
-		manager.registerAdapters(fActionFilterAdapterFactory, IJavaThread.class);
-		manager.registerAdapters(fActionFilterAdapterFactory, JavaInspectExpression.class);
-		manager.registerAdapters(fActionFilterAdapterFactory, JavaWatchExpression.class);
-		fSourceLocationAdapterFactory = new JavaSourceLocationWorkbenchAdapterFactory();
-		manager.registerAdapters(fSourceLocationAdapterFactory, IJavaSourceLocation.class);
-		
-		fEvaluationEngineManager= new JavaEvaluationEngineManager();
-		fJavaModelListener= new JavaModelListener();
-		JavaCore.addElementChangedListener(fJavaModelListener);
-		fHCRListener= new JavaHotCodeReplaceListener();
-		JDIDebugModel.addHotCodeReplaceListener(fHCRListener);
-	}
-	
-	/**
-	 * @see AbstractUIPlugin#shutdown()
-	 */
-	public void shutdown() throws CoreException {
-		setShuttingDown(true);
-		JDIDebugModel.removeHotCodeReplaceListener(fHCRListener);
-		JavaCore.removeElementChangedListener(fJavaModelListener);
-		JavaDebugOptionsManager.getDefault().shutdown();
-		if (fImageDescriptorRegistry != null) {
-			fImageDescriptorRegistry.dispose();
-		}
-		fEvaluationEngineManager.dispose();
-		IAdapterManager manager= Platform.getAdapterManager();
-		manager.unregisterAdapters(fActionFilterAdapterFactory);
-		manager.unregisterAdapters(fSourceLocationAdapterFactory);
-		if (fUtilPresentation != null) {
-			fUtilPresentation.dispose();
-		}
-		super.shutdown();
-	}
-	
-	/**
-	 * Returns whether this plug-in is in the process of
-	 * being shutdown.
-	 *
-	 * @return whether this plug-in is in the process of
-	 *  being shutdown
-	 */
-	protected boolean isShuttingDown() {
-		return fShuttingDown;
-	}
-
-	/**
-	 * Sets whether this plug-in is in the process of
-	 * being shutdown.
-	 *
-	 * @param value whether this plug-in is in the process of
-	 *  being shutdown
-	 */
-	private void setShuttingDown(boolean value) {
-		fShuttingDown = value;
-	}
-	
-	/**
-	 * Returns the image descriptor registry used for this plugin.
-	 */
-	public static ImageDescriptorRegistry getImageDescriptorRegistry() {
-		if (getDefault().fImageDescriptorRegistry == null) {
-			getDefault().fImageDescriptorRegistry = new ImageDescriptorRegistry();
-		}
-		return getDefault().fImageDescriptorRegistry;
-	}
-	
-	/**
-	 * 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= Display.getCurrent();
-		if (display == null)
-			display= Display.getDefault();
-		return display;		
-	}
-	
-	/**
-	 * Returns an evaluation engine for the given project in the given debug target.
-	 * 
-	 * @see JavaEvaluationEngineManager#getEvaluationEngine(IJavaProject, IJavaDebugTarget)
-	 * 
-	 * @param project java project
-	 * @param target the debug target
-	 * @return evalaution engine
-	 */
-	public IAstEvaluationEngine getEvaluationEngine(IJavaProject project, IJavaDebugTarget target) {
-		return fEvaluationEngineManager.getEvaluationEngine(project, target);
-	}
-	
-	/**
-	 * Utility method to create and return a selection dialog that allows
-	 * selection of a specific Java package.  Empty packages are not returned.
-	 * If Java Projects are provided, only packages found within those projects
-	 * are included.  If no Java projects are provided, all Java projects in the
-	 * workspace are considered.
-	 */
-	public static ElementListSelectionDialog createAllPackagesDialog(Shell shell, IJavaProject[] originals, final boolean includeDefaultPackage) throws JavaModelException{
-		final List packageList = new ArrayList();
-		if (originals == null) {
-			IWorkspaceRoot wsroot= ResourcesPlugin.getWorkspace().getRoot();
-			IJavaModel model= JavaCore.create(wsroot);
-			originals= model.getJavaProjects();
-		}
-		final IJavaProject[] projects= originals;
-		final JavaModelException[] exception= new JavaModelException[1];
-		ProgressMonitorDialog monitor= new ProgressMonitorDialog(shell);
-		IRunnableWithProgress r= new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				try {
-					Set packageNameSet= new HashSet();
-					monitor.beginTask(DebugUIMessages.getString("JDIDebugUIPlugin.Searching_1"), projects.length); //$NON-NLS-1$
-					for (int i = 0; i < projects.length; i++) {						
-						IPackageFragment[] pkgs= projects[i].getPackageFragments();	
-						for (int j = 0; j < pkgs.length; j++) {
-							IPackageFragment pkg = pkgs[j];
-							if (!pkg.hasChildren() && (pkg.getNonJavaResources().length > 0)) {
-								continue;
-							}
-							String pkgName= pkg.getElementName();
-							if (!includeDefaultPackage && pkgName.length() == 0) {
-								continue;
-							}
-							if (packageNameSet.add(pkgName)) {
-								packageList.add(pkg);
-							}
-						}
-						monitor.worked(1);
-					}
-					monitor.done();
-				} catch (JavaModelException jme) {
-					exception[0]= jme;
-				}
-			}
-		};
-		try {
-			monitor.run(false, false, r);	
-		} catch (InvocationTargetException e) {
-			JDIDebugUIPlugin.log(e);
-		} catch (InterruptedException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		if (exception[0] != null) {
-			throw exception[0];
-		}
-		int flags= JavaElementLabelProvider.SHOW_DEFAULT;
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(shell, new JavaElementLabelProvider(flags));
-		dialog.setIgnoreCase(false);
-		dialog.setElements(packageList.toArray()); // XXX inefficient
-		return dialog;
-	}
-	
-	/**
-	 * Return an object that implements <code>ILaunchConfigurationTab</code> for the
-	 * specified vm install type ID.  
-	 */
-	public ILaunchConfigurationTab getVMInstallTypePage(String vmInstallTypeID) {
-		if (fVmInstallTypePageMap == null) {	
-			initializeVMInstallTypePageMap();
-		}
-		IConfigurationElement configElement = (IConfigurationElement) fVmInstallTypePageMap.get(vmInstallTypeID);
-		ILaunchConfigurationTab tab = null;
-		if (configElement != null) {
-			try {
-				tab = (ILaunchConfigurationTab) configElement.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch(CoreException ce) {			 
-				log(new Status(Status.ERROR, getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, DebugUIMessages.getString("JDIDebugUIPlugin.An_error_occurred_retrieving_a_VMInstallType_page_1"), ce)); //$NON-NLS-1$
-			} 
-		}
-		return tab;
-	}
-	
-	protected void initializeVMInstallTypePageMap() {
-		fVmInstallTypePageMap = new HashMap(10);
-
-		IPluginDescriptor descriptor= JDIDebugUIPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(IJavaDebugUIConstants.EXTENSION_POINT_VM_INSTALL_TYPE_PAGE);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		for (int i = 0; i < infos.length; i++) {
-			String id = infos[i].getAttribute("vmInstallTypeID"); //$NON-NLS-1$
-			fVmInstallTypePageMap.put(id, infos[i]);
-		}		
-	}
-	
-	/**
-	 * Returns a shared utility Java debug model presentation. Clients should not
-	 * dispose the presentation.
-	 * 
-	 * @return a Java debug model presentation
-	 */
-	public IDebugModelPresentation getModelPresentation() {
-		if (fUtilPresentation == null) {
-			fUtilPresentation = DebugUITools.newDebugModelPresentation(JDIDebugModel.getPluginIdentifier());
-		}
-		return fUtilPresentation;
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java
deleted file mode 100644
index 57a395f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIImageDescriptor.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-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 JDIImageDescriptor extends CompositeImageDescriptor {
-	
-	/** Flag to render the is out of synch adornment */
-	public final static int IS_OUT_OF_SYNCH= 			0x0001;
-	/** Flag to render the may be out of synch adornment */
-	public final static int MAY_BE_OUT_OF_SYNCH= 		0x0002;
-	/** Flag to render the installed breakpoint adornment */
-	public final static int INSTALLED= 					0x0004;
-	/** Flag to render the entry method breakpoint adornment */
-	public final static int ENTRY=				 		0x0008;
-	/** Flag to render the exit method breakpoint adornment */
-	public final static int EXIT=				 		0x0010;
-	/** Flag to render the enabled breakpoint adornment */
-	public final static int ENABLED=						0x0020;
-	/** Flag to render the conditional breakpoint adornment */
-	public final static int CONDITIONAL=					0x0040;
-	/** Flag to render the caught breakpoint adornment */
-	public final static int CAUGHT=						0x0080;
-	/** Flag to render the uncaught breakpoint adornment */
-	public final static int UNCAUGHT=					0x0100;
-	/** Flag to render the scoped breakpoint adornment */
-	public final static int SCOPED=						0x0200;
-	
-	/** Flag to render the owning a monitor thread adornment */
-	public final static int OWNS_MONITOR=				0x0400;
-	/** Flag to render the owned monitor adornment */
-	public final static int OWNED_MONITOR=				0x0800;
-	/** Flag to render the in contention monitor adornment */
-	public final static int CONTENTED_MONITOR=			0x1000;
-	/** Flag to render the in contention for monitor thread adornment */
-	public final static int IN_CONTENTION_FOR_MONITOR=	0x2000;
-
-	private ImageDescriptor 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 JDIImageDescriptor(ImageDescriptor 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 JDIImageDescriptor)){
-			return false;
-		}
-			
-		JDIImageDescriptor other= (JDIImageDescriptor)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 & IS_OUT_OF_SYNCH) != 0) {
-			x= getSize().x;
-			y= 0;
-			data= JavaDebugImages.DESC_OVR_IS_OUT_OF_SYNCH.getImageData();
-			x -= data.width;
-			drawImage(data, x, y);
-		} else if ((flags & MAY_BE_OUT_OF_SYNCH) != 0) {
-			x= getSize().x;
-			y= 0;
-			data= JavaDebugImages.DESC_OVR_MAY_BE_OUT_OF_SYNCH.getImageData();
-			x -= data.width;
-			drawImage(data, x, y);
-		} else {
-			if ((flags & OWNED_MONITOR) != 0) {
-				x= getSize().x;
-				y= getSize().y;
-				data= JavaDebugImages.DESC_OVR_OWNED.getImageData();
-				x -= data.width;
-				y -= data.height;
-				drawImage(data, x, y);
-			} else if ((flags & CONTENTED_MONITOR) != 0) {
-				x= getSize().x;
-				y= getSize().y;
-				data= JavaDebugImages.DESC_OVR_IN_CONTENTION.getImageData();
-				x -= data.width;
-				y -= data.height;
-				drawImage(data, x, y);
-			} else if ((flags & OWNS_MONITOR) != 0) {
-				x= getSize().x;
-				y= 0;
-				data= JavaDebugImages.DESC_OVR_OWNS_MONITOR.getImageData();
-				x -= data.width;
-				drawImage(data, x, y);
-			} else if ((flags & IN_CONTENTION_FOR_MONITOR) != 0) {
-				x= getSize().x;
-				y= 0;
-				data= JavaDebugImages.DESC_OVR_IN_CONTENTION_FOR_MONITOR.getImageData();
-				x -= data.width;
-				drawImage(data, x, y);
-			} else {
-				drawBreakpointOverlays();
-			}
-		}
-	}
-	
-	protected void drawBreakpointOverlays() {
-		int flags= getFlags();
-		int x= 0;
-		int y= 0;
-		ImageData data= null;
-		if ((flags & INSTALLED) != 0) {
-			x= 0;
-			y= getSize().y;
-			if ((flags & ENABLED) !=0) {
-				data= JavaDebugImages.DESC_OBJS_BREAKPOINT_INSTALLED.getImageData();
-			} else {
-				data= JavaDebugImages.DESC_OBJS_BREAKPOINT_INSTALLED_DISABLED.getImageData();
-			}
-				
-			y -= data.height;
-			drawImage(data, x, y);
-		}
-		if ((flags & CAUGHT) != 0) {
-			if ((flags & ENABLED) !=0) {
-			data= JavaDebugImages.DESC_OBJS_CAUGHT_BREAKPOINT.getImageData();
-			} else {
-				data= JavaDebugImages.DESC_OBJS_CAUGHT_BREAKPOINT_DISABLED.getImageData();
-			}
-			x= 0;
-			y= 0;
-			drawImage(data, x, y);
-		}
-		if ((flags & UNCAUGHT) != 0) {
-			if ((flags & ENABLED) !=0) {
-				data= JavaDebugImages.DESC_OBJS_UNCAUGHT_BREAKPOINT.getImageData();
-			} else {
-				data= JavaDebugImages.DESC_OBJS_UNCAUGHT_BREAKPOINT_DISABLED.getImageData();
-			}
-			x= data.width;
-			y= data.height;
-			drawImage(data, x, y);
-		}
-		if ((flags & SCOPED) != 0) {
-			if ((flags & ENABLED) !=0) {
-				data= JavaDebugImages.DESC_OBJS_SCOPED_BREAKPOINT.getImageData();
-			} else {
-				data= JavaDebugImages.DESC_OBJS_SCOPED_BREAKPOINT_DISABLED.getImageData();
-			}
-			x= 0;
-			y= getSize().y;
-			y-= data.height;
-			drawImage(data, x, y);
-		}
-		if ((flags & CONDITIONAL) != 0) {
-			x= getSize().x;
-			y= 0;
-			if ((flags & ENABLED) !=0) {
-				data= JavaDebugImages.DESC_OBJS_CONDITIONAL_BREAKPOINT.getImageData();
-			} else {
-				data= JavaDebugImages.DESC_OBJS_CONDITIONAL_BREAKPOINT_DISABLED.getImageData();
-			}
-			x -= data.width;
-			drawImage(data, x, y);
-		} else {
-			if ((flags & ENTRY) != 0) {
-				x= getSize().x;
-				y= 0;
-				if ((flags & ENABLED) !=0) {
-					data= JavaDebugImages.DESC_OBJS_METHOD_BREAKPOINT_ENTRY.getImageData();
-				} else {
-					data= JavaDebugImages.DESC_OBJS_METHOD_BREAKPOINT_ENTRY_DISABLED.getImageData();
-				}
-				x -= data.width;
-				drawImage(data, x, y);
-			}
-			if ((flags & EXIT)  != 0){
-				x= getSize().x;
-				y= getSize().y;
-				if ((flags & ENABLED) != 0) {
-					data= JavaDebugImages.DESC_OBJS_METHOD_BREAKPOINT_EXIT.getImageData();
-				} else {
-					data= JavaDebugImages.DESC_OBJS_METHOD_BREAKPOINT_EXIT_DISABLED.getImageData();
-				}
-				x -= data.width;
-				y -= data.height;
-				drawImage(data, x, y);
-			}
-		}
-	}
-	protected ImageDescriptor getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(ImageDescriptor 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.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIModelPresentation.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIModelPresentation.java
deleted file mode 100644
index 307ff18..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDIModelPresentation.java
+++ /dev/null
@@ -1,1540 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-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.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IExpression;
-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.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodEntryBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaModifiers;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaPatternBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaTargetPatternBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry;
-import org.eclipse.jdt.launching.sourcelookup.LocalFileStorage;
-import org.eclipse.jdt.launching.sourcelookup.ZipEntryStorage;
-import org.eclipse.jdt.ui.ISharedImages;
-import org.eclipse.jdt.ui.JavaElementImageDescriptor;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.PlatformUI;
-
-import com.sun.jdi.ObjectCollectedException;
-import com.sun.jdi.VMDisconnectedException;
-
-/**
- * @see IDebugModelPresentation
- */
-public class JDIModelPresentation extends LabelProvider implements IDebugModelPresentation {
-
-	/**
-	 * Qualified names presentation property (value <code>"DISPLAY_QUALIFIED_NAMES"</code>).
-	 * When <code>DISPLAY_QUALIFIED_NAMES</code> is set to <code>True</code>,
-	 * this label provider should use fully qualified type names when rendering elements.
-	 * When set to <code>False</code>, this label provider should use simple
-	 * names when rendering elements.
-	 * @see #setAttribute(String, Object)
-	 */
-	public final static String DISPLAY_QUALIFIED_NAMES= "DISPLAY_QUALIFIED_NAMES"; //$NON-NLS-1$
-	
-	/**
-	 * Qualified names presentation property (value <code>"SHOW_HEX_VALUES"</code>).
-	 * When <code>SHOW_HEX_VALUES</code> is set to <code>True</code>,
-	 * this label provider should show hexadecimal values rendering elements.
-	 * When set to <code>False</code>, this label provider should not
-	 * show hexadecimal values when rendering elements.
-	 * @see #setAttribute(String, Object)
-	 * @since 2.1
-	 */
-	public final static String SHOW_HEX_VALUES= "SHOW_HEX_VALUES"; //$NON-NLS-1$
-	
-	/**
-	 * Qualified names presentation property (value <code>"SHOW_CHAR_VALUES"</code>).
-	 * When <code>SHOW_CHAR_VALUES</code> is set to <code>True</code>,
-	 * this label provider should show ASCII values when rendering character
-	 * elements. When set to <code>False</code>, this label provider should not
-	 * show ASCII values when rendering elements.
-	 * @see #setAttribute(String, Object)
-	 * @since 2.1
-	 */
-	public final static String SHOW_CHAR_VALUES= "SHOW_CHAR_VALUES"; //$NON-NLS-1$
-	
-	/**
-	 * Qualified names presentation property (value <code>"SHOW_UNSIGNED_VALUES"</code>).
-	 * When <code>SHOW_UNSIGNED_VALUES</code> is set to <code>True</code>,
-	 * this label provider should show unsigned values when rendering
-	 * byte elements. When set to <code>False</code>, this label provider should
-	 * not show unsigned values when rendering byte elements.
-	 * @see #setAttribute(String, Object)
-	 * @since 2.1
-	 */
-	public final static String SHOW_UNSIGNED_VALUES= "SHOW_UNSIGNED_VALUES"; //$NON-NLS-1$
-	
-	protected HashMap fAttributes= new HashMap(3);
-	
-	static final Point BIG_SIZE= new Point(22, 16);
-	
-	private ImageDescriptorRegistry fJavaElementImageRegistry;
-	private org.eclipse.jdt.internal.debug.ui.ImageDescriptorRegistry fDebugImageRegistry;
-
-	protected static final String fgStringName= "java.lang.String"; //$NON-NLS-1$
-	
-	private JavaElementLabelProvider fJavaLabelProvider;
-	
-	public JDIModelPresentation() {
-		super();
-	}
-			
-	/**
-	 * @see IDebugModelPresentation#computeDetail(IValue, IValueDetailListener)
-	 */
-	public void computeDetail(IValue value, IValueDetailListener listener) {
-		IJavaThread thread = getEvaluationThread((IJavaDebugTarget)value.getDebugTarget());
-		if (thread == null) {
-			listener.detailComputed(value, DebugUIMessages.getString("JDIModelPresentation.no_suspended_threads")); //$NON-NLS-1$
-		} else {
-			JavaDetailFormattersManager.getDefault().computeValueDetail((IJavaValue)value, thread, listener);
-		}
-	}
-	
-	/**
-	 * Returns a thread from the specified VM that can be
-	 * used for an evaluationm or <code>null</code> if
-	 * none.
-	 * 
-	 * @param debug target the target in which a thread is 
-	 * 	required
-	 * @return thread or <code>null</code>
-	 */
-	protected IJavaThread getEvaluationThread(IJavaDebugTarget target) {
-		IAdaptable context = DebugUITools.getDebugContext();
-		IJavaThread thread = null;
-		if (context != null) {
-			if (context instanceof IJavaStackFrame) {
-				thread = (IJavaThread)((IJavaStackFrame)context).getThread();		
-			} else if (context instanceof IJavaThread) {
-				thread = (IJavaThread)context;
-			}
-			if (thread != null && (!thread.getDebugTarget().equals(target) || !thread.isSuspended())) {
-				// can only use suspended threads in the same target
-				thread = null;
-			}
-		}
-		if (thread == null) {
-			try {
-				IThread[] threads = target.getThreads();
-				for (int i = 0; i < threads.length; i++) {
-					if (threads[i].isSuspended()) {
-						thread = (IJavaThread)threads[i];
-						break;
-					}
-				}
-			} catch (DebugException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		return thread;
-	}
-			
-	/**
-	 * @see IDebugModelPresentation#getText(Object)
-	 */
-	public String getText(Object item) {
-		try {
-			boolean showQualified= isShowQualifiedNames();
-			if (item instanceof IJavaVariable) {
-				return getVariableText((IJavaVariable) item);
-			} else if (item instanceof IStackFrame) {
-				StringBuffer label= new StringBuffer(getStackFrameText((IStackFrame) item));
-				if (item instanceof IJavaStackFrame) {
-					if (((IJavaStackFrame)item).isOutOfSynch()) {
-						label.append(DebugUIMessages.getString("JDIModelPresentation._(out_of_synch)_1")); //$NON-NLS-1$
-					}
-				}
-				return label.toString();
-			} else if (item instanceof IMarker) {
-				IBreakpoint breakpoint = getBreakpoint((IMarker)item);
-				if (breakpoint != null) {
-					return getBreakpointText(breakpoint);
-				}
-				return null;
-			} else if (item instanceof IBreakpoint) {
-				return getBreakpointText((IBreakpoint)item);
-			} else if (item instanceof JavaWatchExpression) {
-				return getWatchExpressionText((JavaWatchExpression)item);
-			} else if (item instanceof IExpression) {
-				return getExpressionText((IExpression)item);
-			} else {
-				StringBuffer label= new StringBuffer();
-				if (item instanceof IJavaThread) {
-					label.append(getThreadText((IJavaThread) item, showQualified));
-					if (((IJavaThread)item).isOutOfSynch()) {
-						label.append(DebugUIMessages.getString("JDIModelPresentation._(out_of_synch)_1")); //$NON-NLS-1$
-					} else if (((IJavaThread)item).mayBeOutOfSynch()) {
-						label.append(DebugUIMessages.getString("JDIModelPresentation._(may_be_out_of_synch)_2")); //$NON-NLS-1$
-					}
-				} else if (item instanceof IJavaDebugTarget) {
-					label.append(getDebugTargetText((IJavaDebugTarget) item, showQualified));
-					if (((IJavaDebugTarget)item).isOutOfSynch()) {
-						label.append(DebugUIMessages.getString("JDIModelPresentation._(out_of_synch)_1")); //$NON-NLS-1$
-					} else if (((IJavaDebugTarget)item).mayBeOutOfSynch()) {
-						label.append(DebugUIMessages.getString("JDIModelPresentation._(may_be_out_of_synch)_2")); //$NON-NLS-1$
-					}
-				} else if (item instanceof IJavaValue) {
-					label.append(getValueText((IJavaValue) item));
-				}
-				if (item instanceof ITerminate) {
-					if (((ITerminate) item).isTerminated()) {
-						label.insert(0, DebugUIMessages.getString("JDIModelPresentation.<terminated>_2")); //$NON-NLS-1$
-						return label.toString();
-					}
-				}
-				if (item instanceof IDisconnect) {
-					if (((IDisconnect) item).isDisconnected()) {
-						label.insert(0, DebugUIMessages.getString("JDIModelPresentation.<disconnected>_4")); //$NON-NLS-1$
-						return label.toString();
-					}
-				}
-				if (label.length() > 0) {
-					return label.toString();
-				}
-			}
-		} catch (CoreException e) {
-			if (!(e.getStatus().getException() instanceof VMDisconnectedException)) {
-				JDIDebugUIPlugin.log(e);
-			}
-			return DebugUIMessages.getString("JDIModelPresentation.<not_responding>_6"); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	protected IBreakpoint getBreakpoint(IMarker marker) {
-		return DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(marker);
-		}
-	
-	/**
-	 * Build the text for an IJavaThread.
-	 */
-	protected String getThreadText(IJavaThread thread, boolean qualified) throws CoreException {
-		if (thread.isTerminated()) {
-			if (thread.isSystemThread()) {
-				return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[({0}]_(Terminated)_7"), thread.getName()); //$NON-NLS-1$
-			} else {
-				return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[({0}]_(Terminated)_8"), thread.getName()); //$NON-NLS-1$
-			}
-		}
-		if (thread.isStepping()) {
-			if (thread.isSystemThread()) {
-				return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Stepping)_9"), thread.getName()); //$NON-NLS-1$
-			} else {
-				return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Stepping)_10"), thread.getName()); //$NON-NLS-1$
-			}
-		}
-		if (thread.isPerformingEvaluation()) {
-			if (thread.isSystemThread()) {
-				return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Evaluating)_9"), thread.getName()); //$NON-NLS-1$
-			} else {
-				return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Evaluating)_10"), thread.getName()); //$NON-NLS-1$
-			}
-		}
-		if (!thread.isSuspended() || (thread instanceof JDIThread && ((JDIThread)thread).isSuspendedQuiet())) {
-			if (thread.isSystemThread()) {
-				return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Running)_11"), thread.getName()); //$NON-NLS-1$
-			} else {
-				return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Running)_12"), thread.getName()); //$NON-NLS-1$
-			}
-		}
-		IBreakpoint[] breakpoints= thread.getBreakpoints();
-		if (breakpoints.length > 0) {
-			IJavaBreakpoint breakpoint= (IJavaBreakpoint)breakpoints[0];
-			for (int i= 0, numBreakpoints= breakpoints.length; i < numBreakpoints; i++) {
-				if (BreakpointUtils.isProblemBreakpoint(breakpoints[i])) {
-					// If a compilation error breakpoint exists, display it instead of the first breakpoint
-					breakpoint= (IJavaBreakpoint)breakpoints[i];
-					break;
-				}
-			}
-			String typeName= getMarkerTypeName(breakpoint, qualified);
-			if (BreakpointUtils.isProblemBreakpoint(breakpoint)) {
-				IJavaStackFrame frame = (IJavaStackFrame)thread.getTopStackFrame();
-				IMarker problem = null;
-				if (frame != null) {
-					problem = JavaDebugOptionsManager.getDefault().getProblem(frame);
-				}
-				if (problem != null) {
-					String message = problem.getAttribute(IMarker.MESSAGE, DebugUIMessages.getString("JDIModelPresentation.Compilation_error_1")); //$NON-NLS-1$
-					if (thread.isSystemThread()) {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended_({1}))_2"), new String[] {thread.getName(), message}); //$NON-NLS-1$
-					} else {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended_({1}))_3"), new String[] {thread.getName(), message}); //$NON-NLS-1$
-					}
-				}
-			}			
-			if (breakpoint instanceof IJavaExceptionBreakpoint) {
-				String exName = ((IJavaExceptionBreakpoint)breakpoint).getExceptionTypeName();
-				if (exName == null) {
-					exName = typeName;
-				} else if (!qualified) {
-					int index = exName.lastIndexOf('.');
-					exName = exName.substring(index + 1);
-				} 
-				if (thread.isSystemThread()) {
-					return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended_(exception_{1}))_13"), new String[] {thread.getName(), exName}); //$NON-NLS-1$
-				} else {
-					return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended_(exception_{1}))_14"), new String[] {thread.getName(), exName}); //$NON-NLS-1$
-				}
-			}
-			if (breakpoint instanceof IJavaWatchpoint) {
-				IJavaWatchpoint wp = (IJavaWatchpoint)breakpoint;
-				String fieldName = wp.getFieldName(); //$NON-NLS-1$
-				if (wp.isAccessSuspend(thread.getDebugTarget())) {
-					if (thread.isSystemThread()) {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended_(access_of_field_{1}_in_{2}))_16"), new String[] {thread.getName(), fieldName, typeName}); //$NON-NLS-1$
-					} else {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended_(access_of_field_{1}_in_{2}))_17"), new String[] {thread.getName(), fieldName, typeName}); //$NON-NLS-1$
-					}
-				} else {
-					// modification
-					if (thread.isSystemThread()) {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended_(modification_of_field_{1}_in_{2}))_18"), new String[] {thread.getName(), fieldName, typeName}); //$NON-NLS-1$
-					} else {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended_(modification_of_field_{1}_in_{2}))_19"), new String[] {thread.getName(), fieldName, typeName}); //$NON-NLS-1$
-					}
-				}
-			}
-			if (breakpoint instanceof IJavaMethodBreakpoint) {
-				IJavaMethodBreakpoint me= (IJavaMethodBreakpoint)breakpoint;
-				String methodName= me.getMethodName();
-				if (me.isEntrySuspend(thread.getDebugTarget())) {
-					if (thread.isSystemThread()) {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended_(entry_into_method_{1}_in_{2}))_21"), new String[] {thread.getName(), methodName, typeName}); //$NON-NLS-1$
-					} else {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended_(entry_into_method_{1}_in_{2}))_22"), new String[] {thread.getName(), methodName, typeName}); //$NON-NLS-1$
-					}
-				} else {
-					if (thread.isSystemThread()) {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended_(exit_of_method_{1}_in_{2}))_21"), new String[] {thread.getName(), methodName, typeName}); //$NON-NLS-1$
-					} else {
-						return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended_(exit_of_method_{1}_in_{2}))_22"), new String[] {thread.getName(), methodName, typeName}); //$NON-NLS-1$
-					}					
-				}
-			}
-			if (breakpoint instanceof IJavaLineBreakpoint) {
-				IJavaLineBreakpoint jlbp = (IJavaLineBreakpoint)breakpoint;
-				int lineNumber= jlbp.getLineNumber();
-				if (lineNumber > -1) {
-					if (thread.isSystemThread()) {
-						if (BreakpointUtils.isRunToLineBreakpoint(jlbp)) {
-							return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended_(run_to_line_{1}_in_{2}))_23"), new String[] {thread.getName(), String.valueOf(lineNumber), typeName}); //$NON-NLS-1$
-						} else {
-							return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended_(breakpoint_at_line_{1}_in_{2}))_24"), new String[] {thread.getName(), String.valueOf(lineNumber), typeName}); //$NON-NLS-1$
-						}
-					} else {
-						if (BreakpointUtils.isRunToLineBreakpoint(jlbp)) {
-							return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended_(run_to_line_{1}_in_{2}))_25"), new String[] {thread.getName(), String.valueOf(lineNumber), typeName}); //$NON-NLS-1$
-						} else {
-							return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended_(breakpoint_at_line_{1}_in_{2}))_26"), new String[] {thread.getName(), String.valueOf(lineNumber), typeName}); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		}
-
-		// Otherwise, it's just suspended
-		if (thread.isSystemThread()) {
-			return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.System_Thread_[{0}]_(Suspended)_27"), thread.getName()); //$NON-NLS-1$
-		} else {
-			return getFormattedString(DebugUIMessages.getString("JDIModelPresentation.Thread_[{0}]_(Suspended)_28"), thread.getName()); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Build the text for an IJavaDebugTarget.
-	 */
-	protected String getDebugTargetText(IJavaDebugTarget debugTarget, boolean qualified) throws DebugException {
-		String labelString= debugTarget.getName();
-		if (debugTarget.isSuspended()) {
-			labelString += DebugUIMessages.getString("JDIModelPresentation.target_suspended"); //$NON-NLS-1$
-		}
-		return labelString;
-	}
-
-	/**
-	 * Build the text for an IJavaValue.
-	 */
-	protected String getValueText(IJavaValue value) throws DebugException {
-		
-		String refTypeName= value.getReferenceTypeName();
-		String valueString= value.getValueString();
-		boolean isString= refTypeName.equals(fgStringName);
-		IJavaType type= value.getJavaType();
-		String signature= null;
-		if (type != null) {
-			signature= type.getSignature();
-		}
-		if ("V".equals(signature)) { //$NON-NLS-1$
-			valueString= DebugUIMessages.getString("JDIModelPresentation.(No_explicit_return_value)_30"); //$NON-NLS-1$
-		}
-		boolean isObject= isObjectValue(signature);
-		boolean isArray= value instanceof IJavaArray;
-		StringBuffer buffer= new StringBuffer();
-		// Always show type name for objects & arrays (but not Strings)
-		if ((isObject || isArray) && !isString && (refTypeName.length() > 0)) {
-			String qualTypeName= getQualifiedName(refTypeName);
-			if (isArray) {
-				qualTypeName= adjustTypeNameForArrayIndex(qualTypeName, ((IJavaArray)value).getLength());
-			}
-			buffer.append(qualTypeName);
-			buffer.append(' ');
-		}
-		
-		// Put double quotes around Strings
-		if (valueString != null && (isString || valueString.length() > 0)) {
-			if (isString) {
-				buffer.append('"');
-			}
-			buffer.append(valueString);
-			if (isString) {
-				buffer.append('"');
-			}
-		}
-		
-		// show unsigned value second, if applicable
-		if (isShowUnsignedValues()) {
-			buffer= appendUnsignedText(value, buffer);
-		}
-		// show hex value third, if applicable
-		if (isShowHexValues()) {
-			buffer= appendHexText(value, buffer);
-		}
-		// show byte character value last, if applicable
-		if (isShowCharValues()) {
-			buffer= appendCharText(value, buffer);
-		}
-		
-		return buffer.toString();
-	}
-	
-
-	private StringBuffer appendUnsignedText(IJavaValue value, StringBuffer buffer) throws DebugException {
-		String unsignedText= getValueUnsignedText(value);
-		if (unsignedText != null) {
-			buffer.append(" ["); //$NON-NLS-1$
-			buffer.append(unsignedText);
-			buffer.append("]"); //$NON-NLS-1$
-		}
-		return buffer;	
-	}
-		
-	protected StringBuffer appendHexText(IJavaValue value, StringBuffer buffer) throws DebugException {
-		String hexText = getValueHexText(value);
-		if (hexText != null) {
-			buffer.append(" ["); //$NON-NLS-1$
-			buffer.append(hexText);
-			buffer.append("]"); //$NON-NLS-1$
-		}		
-		return buffer;
-	}
-	
-	protected StringBuffer appendCharText(IJavaValue value, StringBuffer buffer) throws DebugException {
-		String charText= getValueCharText(value);
-		if (charText != null) {
-			buffer.append(" ["); //$NON-NLS-1$
-			buffer.append(charText);
-			buffer.append("]"); //$NON-NLS-1$
-		}		
-		return buffer;
-	}
-	
-	/**
-	 * Given a JNI-style signature String for a IJavaValue, return true
-	 * if the signature represents an Object or an array of Objects.
-	 */
-	protected boolean isObjectValue(String signature) {
-		if (signature == null) {
-			return false;
-		}
-		char sigChar= ' ';
-		for (int i= 0; i < signature.length(); i++) {
-			sigChar= signature.charAt(i);
-			if (sigChar == '[') {
-				continue;
-			}
-			break;
-		}
-		if ((sigChar == 'L') || (sigChar == 'Q')) {
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the type signature for this value if its type is primitive.  
-	 * For non-primitive types, null is returned.
-	 */
-	protected String getPrimitiveValueTypeSignature(IJavaValue value) throws DebugException {
-		IJavaType type= value.getJavaType();
-		if (type != null) {
-			String sig= type.getSignature();
-			if (sig != null || sig.length() == 1) {
-				return sig;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Returns the character string of a byte or <code>null</code if
-	 * the value can not be interpreted as a valid character.
-	 */
-	protected String getValueCharText(IJavaValue value) throws DebugException {
-		String sig= getPrimitiveValueTypeSignature(value);
-		if (sig == null) {
-			return null;
-		}
-		String valueString= value.getValueString();
-		int intValue= 0;	
-		switch (sig.charAt(0)) {
-			case 'B' : // byte
-				intValue= Integer.parseInt(valueString);
-				intValue= intValue & 0xFF; // Only lower 8 bits
-				break;
-			case 'I' : // int
-				intValue= Integer.parseInt(valueString);
-				if (intValue > 255 || intValue < 0) {
-					return null;
-				}
-				break;
-			case 'S' : // short
-				intValue= Integer.parseInt(valueString);
-				if (intValue > 255 || intValue < 0) {
-					return null;
-				}
-				break;
-			case 'J' :
-				long longValue= Long.parseLong(valueString);
-				if (longValue > 255 || longValue < 0) {
-					// Out of character range
-					return null;
-				}
-				intValue= (int) longValue;
-				break;
-			default :
-				return null;
-		};
-		StringBuffer charText = new StringBuffer();
-		if (Character.getType((char) intValue) == Character.CONTROL) {
-			Character ctrl = new Character((char) (intValue + 64));
-			charText.append('^'); //$NON-NLS-1$
-			charText.append(ctrl);
-			switch (intValue) { // common use
-				case 0: charText.append(" (NUL)"); break; //$NON-NLS-1$
-				case 8: charText.append(" (BS)"); break; //$NON-NLS-1$
-				case 9: charText.append(" (TAB)"); break; //$NON-NLS-1$
-				case 10: charText.append(" (LF)"); break; //$NON-NLS-1$
-				case 13: charText.append(" (CR)"); break; //$NON-NLS-1$
-				case 21: charText.append(" (NL)"); break; //$NON-NLS-1$
-				case 27: charText.append(" (ESC)"); break; //$NON-NLS-1$
-				case 127: charText.append(" (DEL)"); break; //$NON-NLS-1$
-			}
-		} else {
-			charText.append(new Character((char)intValue));
-		}
-		return charText.toString();
-	}
-
-	protected String getMarkerTypeName(IJavaBreakpoint breakpoint, boolean qualified) throws CoreException {
-		String typeName= null;
-		if (breakpoint instanceof IJavaPatternBreakpoint) {
-			typeName = breakpoint.getMarker().getResource().getName();
-		} else {
-			typeName = breakpoint.getTypeName();
-		}
-		if (!qualified) {
-			int index= typeName.lastIndexOf('.');
-			if (index != -1) {
-				typeName= typeName.substring(index + 1);
-			}
-		}
-		return typeName;
-	}
-
-	/**
-	 * Maps a Java element to an appropriate image.
-	 * 
-	 * @see IDebugModelPresentation#getImage(Object)
-	 */
-	public Image getImage(Object item) {
-		try {
-			if (item instanceof IJavaVariable) {
-				return getVariableImage((IAdaptable) item);
-			}
-			if (item instanceof IMarker) {
-				IBreakpoint bp = getBreakpoint((IMarker)item);
-				if (bp != null && bp instanceof IJavaBreakpoint) {
-					return getBreakpointImage((IJavaBreakpoint)bp);
-				}
-			}
-			if (item instanceof IJavaBreakpoint) {
-				return getBreakpointImage((IJavaBreakpoint)item);
-			}
-			if (item instanceof IJavaStackFrame || item instanceof IJavaThread || item instanceof IJavaDebugTarget) {
-				return getDebugElementImage(item);
-			}
-			if (item instanceof IJavaValue) {
-				return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PUBLIC);
-			}
-			if (item instanceof IExpression) {
-				return getExpressionImage(item);
-			}
-		} catch (CoreException e) {
-			if (!(e.getStatus().getException() instanceof VMDisconnectedException)) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		return null;
-	}
-
-	protected Image getBreakpointImage(IJavaBreakpoint breakpoint) throws CoreException {
-		if (breakpoint instanceof IJavaExceptionBreakpoint) {
-			return getExceptionBreakpointImage((IJavaExceptionBreakpoint)breakpoint);
-		} 
-		
-		if (breakpoint instanceof IJavaLineBreakpoint && BreakpointUtils.isRunToLineBreakpoint((IJavaLineBreakpoint)breakpoint)) {
-			return null;
-		} else {
-			return getJavaBreakpointImage(breakpoint);
-		}
-	}
-
-	protected Image getExceptionBreakpointImage(IJavaExceptionBreakpoint exception) throws CoreException {
-		int flags= computeBreakpointAdornmentFlags(exception);
-		JDIImageDescriptor descriptor= null;
-		if ((flags & JDIImageDescriptor.ENABLED) == 0) {
-			descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_EXCEPTION_DISABLED, flags);
-		} else if (exception.isChecked()) {
-			descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_EXCEPTION, flags);
-		} else {
-			descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_ERROR, flags);
-		}
-		return getDebugImageRegistry().get(descriptor);
-	}
-
-	protected Image getJavaBreakpointImage(IJavaBreakpoint breakpoint) throws CoreException {
-		if (breakpoint instanceof IJavaMethodBreakpoint) {
-			IJavaMethodBreakpoint mBreakpoint= (IJavaMethodBreakpoint)breakpoint;
-			return getJavaMethodBreakpointImage(mBreakpoint);
-		} else if (breakpoint instanceof IJavaWatchpoint) {
-			IJavaWatchpoint watchpoint= (IJavaWatchpoint)breakpoint;
-			return getJavaWatchpointImage(watchpoint);
-		} else if (breakpoint instanceof IJavaMethodEntryBreakpoint) {
-			IJavaMethodEntryBreakpoint meBreakpoint = (IJavaMethodEntryBreakpoint)breakpoint;
-			return getJavaMethodEntryBreakpointImage(meBreakpoint);
-		} else {
-			int flags= computeBreakpointAdornmentFlags(breakpoint);
-			JDIImageDescriptor descriptor= null;
-			if (breakpoint.isEnabled()) {
-				descriptor= new JDIImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_BREAKPOINT), flags);
-			} else {
-				descriptor= new JDIImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED), flags);
-			}
-			return getDebugImageRegistry().get(descriptor);
-		}
-	}
-
-	protected Image getJavaMethodBreakpointImage(IJavaMethodBreakpoint mBreakpoint) throws CoreException {
-		int flags= computeBreakpointAdornmentFlags(mBreakpoint);
-		JDIImageDescriptor descriptor= null;
-		if (mBreakpoint.isEnabled()) {
-			descriptor= new JDIImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_BREAKPOINT), flags);
-		} else {
-			descriptor= new JDIImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED), flags);
-		}
-			
-		return getDebugImageRegistry().get(descriptor);
-	}
-	
-	protected Image getJavaMethodEntryBreakpointImage(IJavaMethodEntryBreakpoint mBreakpoint) throws CoreException {
-		int flags= computeBreakpointAdornmentFlags(mBreakpoint);
-		JDIImageDescriptor descriptor= null;
-		if (mBreakpoint.isEnabled()) {
-			descriptor= new JDIImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_BREAKPOINT), flags);
-		} else {
-			descriptor= new JDIImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED), flags);
-		}
-			
-		return getDebugImageRegistry().get(descriptor);
-	}	
-	
-	protected Image getJavaWatchpointImage(IJavaWatchpoint watchpoint) throws CoreException {
-		int flags= computeBreakpointAdornmentFlags(watchpoint);
-		JDIImageDescriptor descriptor= null;
-		boolean enabled= (flags & JDIImageDescriptor.ENABLED) != 0;
-		if (watchpoint.isAccess()) {
-			if (watchpoint.isModification()) {
-				//access and modification
-				if (enabled) {
-					descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_WATCHPOINT_ENABLED, flags);
-				} else {
-					descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_WATCHPOINT_DISABLED, flags);
-				}
-			} else {
-				if (enabled) {
-					descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_ACCESS_WATCHPOINT_ENABLED, flags);
-				} else {
-					descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_ACCESS_WATCHPOINT_DISABLED, flags);
-				}
-			}
-		} else if (watchpoint.isModification()) {
-			if (enabled) {
-				descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_MODIFICATION_WATCHPOINT_ENABLED, flags);
-			} else {
-				descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_MODIFICATION_WATCHPOINT_DISABLED, flags);
-			}
-		} else {
-			//neither access nor modification
-			descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJS_WATCHPOINT_DISABLED, flags);
-		}
-		return getDebugImageRegistry().get(descriptor);
-	}
-	
-	protected Image getVariableImage(IAdaptable element) {
-		JavaElementImageDescriptor descriptor= new JavaElementImageDescriptor(
-			computeBaseImageDescriptor(element), computeAdornmentFlags(element), BIG_SIZE);
-
-		return getJavaElementImageRegistry().get(descriptor);			
-	}
-	
-	/**
-	 * Returns the image associated with the given element or <code>null</code>
-	 * if none is defined.
-	 */
-	protected Image getDebugElementImage(Object element) {
-		ImageDescriptor image= null;
-		if (element instanceof IJavaThread) {
-			IJavaThread thread = (IJavaThread)element;
-			if (thread.isSuspended() && !thread.isPerformingEvaluation()) {
-				image= DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED);
-			} else if (thread.isTerminated()) {
-				image= DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_THREAD_TERMINATED);
-			} else {
-				image= DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_THREAD_RUNNING);
-			}
-		} else {
-			image= DebugUITools.getDefaultImageDescriptor(element);
-		}
-		if (image == null) {
-			return null;
-		}
-		int flags= computeJDIAdornmentFlags(element);
-		JDIImageDescriptor descriptor= new JDIImageDescriptor(image, flags);
-		return getDebugImageRegistry().get(descriptor);
-	}
-	
-	/**
-	 * Returns the image associated with the given element or <code>null</code>
-	 * if none is defined.
-	 */
-	protected Image getExpressionImage(Object expression) {
-		ImageDescriptor image= null;
-		boolean bigSize = false;
-		if (expression instanceof JavaInspectExpression) {
-			image= JavaDebugImages.DESC_OBJ_JAVA_INSPECT_EXPRESSION;
-			bigSize = true;
-		} else if (expression instanceof JavaWatchExpression) {
-			image= DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_EXPRESSION);
-		}
-		if (image == null) {
-			return null;
-		}
-		JDIImageDescriptor descriptor= new JDIImageDescriptor(image, 0);
-		if (bigSize) {
-			descriptor.setSize(BIG_SIZE);
-		}
-		return getDebugImageRegistry().get(descriptor);
-	}
-
-	/**
-	 * Returns the adornment flags for the given element.
-	 * These flags are used to render appropriate overlay
-	 * icons for the element.
-	 */
-	private int computeJDIAdornmentFlags(Object element) {
-		try {
-			if (element instanceof IJavaStackFrame) {
-				if (((IJavaStackFrame)element).isOutOfSynch()) {
-					return JDIImageDescriptor.IS_OUT_OF_SYNCH;
-				}
-			}
-			if (element instanceof IJavaThread) {
-				if (((IJavaThread)element).isOutOfSynch()) {
-					return JDIImageDescriptor.IS_OUT_OF_SYNCH;
-				}
-				if (((IJavaThread)element).mayBeOutOfSynch()) {
-					return JDIImageDescriptor.MAY_BE_OUT_OF_SYNCH;
-				}
-			}
-			if (element instanceof IJavaDebugTarget) {
-				if (((IJavaDebugTarget)element).isOutOfSynch()) {
-					return JDIImageDescriptor.IS_OUT_OF_SYNCH;
-				}
-				if (((IJavaDebugTarget)element).mayBeOutOfSynch()) {
-					return JDIImageDescriptor.MAY_BE_OUT_OF_SYNCH;
-				}
-			}
-		} catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		return 0;
-	}
-	
-	/**
-	 * Returns the adornment flags for the given breakpoint.
-	 * These flags are used to render appropriate overlay
-	 * icons for the breakpoint.
-	 */
-	private int computeBreakpointAdornmentFlags(IJavaBreakpoint breakpoint)  {
-		int flags= 0;
-		try {
-			if (breakpoint.isEnabled()) {
-				flags |= JDIImageDescriptor.ENABLED;
-			}
-			if (breakpoint.isInstalled()) {
-				flags |= JDIImageDescriptor.INSTALLED;
-			}
-			if (breakpoint instanceof IJavaLineBreakpoint) {
-				if (((IJavaLineBreakpoint)breakpoint).isConditionEnabled()) {
-					flags |= JDIImageDescriptor.CONDITIONAL;
-				}
-				if (breakpoint instanceof IJavaMethodBreakpoint) {
-					IJavaMethodBreakpoint mBreakpoint= (IJavaMethodBreakpoint)breakpoint;
-					if (mBreakpoint.isEntry()) {
-						flags |= JDIImageDescriptor.ENTRY;
-					}
-					if (mBreakpoint.isExit()) {
-						flags |= JDIImageDescriptor.EXIT;
-					}
-				}
-				if (breakpoint instanceof IJavaMethodEntryBreakpoint) {
-					flags |= JDIImageDescriptor.ENTRY;
-				}
-			} else if (breakpoint instanceof IJavaExceptionBreakpoint) {
-				IJavaExceptionBreakpoint eBreakpoint= (IJavaExceptionBreakpoint)breakpoint;
-				if (eBreakpoint.isCaught()) {
-					flags |= JDIImageDescriptor.CAUGHT;
-				}
-				if (eBreakpoint.isUncaught()) {
-					flags |= JDIImageDescriptor.UNCAUGHT;
-				}
-				if (eBreakpoint.getExclusionFilters().length > 0 || eBreakpoint.getInclusionFilters().length > 0) {
-					flags |= JDIImageDescriptor.SCOPED;
-				}
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		return flags;
-	}
-	
-	private ImageDescriptor computeBaseImageDescriptor(IAdaptable element) {
-		IJavaVariable javaVariable= (IJavaVariable) element.getAdapter(IJavaVariable.class);
-		if (javaVariable != null) {
-			try {
-				if (javaVariable.isLocal())
-					return JavaDebugImages.DESC_OBJS_LOCAL_VARIABLE;
-				if (javaVariable.isPublic())
-					return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_PUBLIC);
-				if (javaVariable.isProtected())
-					return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_PROTECTED);
-				if (javaVariable.isPrivate())
-					return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_PRIVATE);
-			} catch (DebugException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_DEFAULT);
-	}
-	
-	private int computeAdornmentFlags(IAdaptable element) {
-		int flags= 0;
-		IJavaModifiers javaProperties= (IJavaModifiers)element.getAdapter(IJavaModifiers.class);
-		try {
-			if (javaProperties != null) {
-				if (javaProperties.isFinal()) {
-					flags |= JavaElementImageDescriptor.FINAL;
-				}
-				if (javaProperties.isStatic()) {
-					flags |= JavaElementImageDescriptor.STATIC;
-				}
-			}
-		} catch(DebugException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		return flags;
-	}
-
-	/**
-	 * @see IDebugModelPresentation#getEditorInput(Object)
-	 */
-	public IEditorInput getEditorInput(Object item) {
-		try {
-			if (item instanceof IMarker) {
-				item = getBreakpoint((IMarker)item);
-			}
-			if (item instanceof IJavaBreakpoint) {
-				IType type = BreakpointUtils.getType((IJavaBreakpoint)item);
-				if (type == null) {
-					// if the breakpoint is not associated with a type, use its resource
-					item = ((IJavaBreakpoint)item).getMarker().getResource();
-				} else {
-					item = type;
-				}
-			}
-			if (item instanceof LocalFileStorage) {
-				return new LocalFileStorageEditorInput((LocalFileStorage)item);
-			}
-			if (item instanceof ZipEntryStorage) {
-				return new ZipEntryStorageEditorInput((ZipEntryStorage)item);
-			}
-			return EditorUtility.getEditorInput(item);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-			return null;
-		}
-	}
-
-	/**
-	 * @see IDebugModelPresentation#getEditorId(IEditorInput, Object)
-	 */
-	public String getEditorId(IEditorInput input, Object inputObject) {
-		IEditorRegistry registry= PlatformUI.getWorkbench().getEditorRegistry();
-		IEditorDescriptor descriptor= registry.getDefaultEditor(input.getName());
-		if (descriptor != null)
-			return descriptor.getId();
-		
-		return null;
-	}
-
-	/**
-	 * @see IDebugModelPresentation#setAttribute(String, Object)
-	 */
-	public void setAttribute(String id, Object value) {
-		if (value == null) {
-			return;
-		}
-		fAttributes.put(id, value);
-	}
-
-	protected boolean isShowQualifiedNames() {
-		Boolean showQualified= (Boolean) fAttributes.get(DISPLAY_QUALIFIED_NAMES);
-		showQualified= showQualified == null ? Boolean.FALSE : showQualified;
-		return showQualified.booleanValue();
-	}
-
-	protected boolean isShowVariableTypeNames() {
-		Boolean show= (Boolean) fAttributes.get(DISPLAY_VARIABLE_TYPE_NAMES);
-		show= show == null ? Boolean.FALSE : show;
-		return show.booleanValue();
-	}
-
-	protected boolean isShowHexValues() {
-		Boolean show= (Boolean) fAttributes.get(SHOW_HEX_VALUES);
-		show= show == null ? Boolean.FALSE : show;
-		return show.booleanValue();
-	}
-
-	protected boolean isShowCharValues() {
-		Boolean show= (Boolean) fAttributes.get(SHOW_CHAR_VALUES);
-		show= show == null ? Boolean.FALSE : show;
-		return show.booleanValue();
-	}
-
-	protected boolean isShowUnsignedValues() {
-		Boolean show= (Boolean) fAttributes.get(SHOW_UNSIGNED_VALUES);
-		show= show == null ? Boolean.FALSE : show;
-		return show.booleanValue();
-	}
-
-	protected String getVariableText(IJavaVariable var) {
-		String varLabel= DebugUIMessages.getString("JDIModelPresentation<unknown_name>_1"); //$NON-NLS-1$
-		try {
-			varLabel= var.getName();
-		} catch (DebugException exception) {
-		}
-		boolean showTypes= isShowVariableTypeNames();
-		int spaceIndex= varLabel.lastIndexOf(' ');
-		StringBuffer buff= new StringBuffer();
-		String typeName= DebugUIMessages.getString("JDIModelPresentation<unknown_type>_2"); //$NON-NLS-1$
-		try {
-			typeName= var.getReferenceTypeName();
-			if (showTypes && spaceIndex == -1) {
-				typeName= getQualifiedName(typeName);
-			}
-		} catch (DebugException exception) {
-		}
-		if (showTypes) {
-			buff.append(typeName);
-			buff.append(' ');
-		}
-		if (spaceIndex != -1 && !showTypes) {
-			varLabel= varLabel.substring(spaceIndex + 1);
-		}
-		buff.append(varLabel);
-
-		String valueString= DebugUIMessages.getString("JDIModelPresentation<unknown_value>_3"); //$NON-NLS-1$
-		try {
-			IJavaValue javaValue= (IJavaValue) var.getValue();
-			valueString= getValueText(javaValue);
-		} catch (DebugException exception) {
-		}
-		//do not put the equal sign for array partitions
-		if (valueString.length() != 0) {
-			buff.append("= "); //$NON-NLS-1$
-			buff.append(valueString);
-		}
-		return buff.toString();
-	}
-	
-	protected String getExpressionText(IExpression expression) throws DebugException {
-		String label= '"' + expression.getExpressionText() + '"';
-		if (label != null) {
-			boolean showTypes= isShowVariableTypeNames();
-			StringBuffer buff= new StringBuffer();
-			IJavaValue javaValue= (IJavaValue) expression.getValue();
-			String typeName=null;
-			try {
-				typeName= javaValue.getReferenceTypeName();
-			} catch (DebugException exception) {
-				// ObjectCollectedException is an expected exception which will
-				// occur if the inspected object has been garbage collected.
-				if (exception.getStatus().getException() instanceof ObjectCollectedException) {
-					return DebugUIMessages.getString("JDIModelPresentation.<garbage_collected_object>_6"); //$NON-NLS-1$
-				} else {
-					throw exception;
-				}
-			}
-			if (showTypes ) {
-				typeName= getQualifiedName(typeName);
-				if (typeName.length() > 0) {
-					buff.append(typeName);
-					buff.append(' ');
-				}
-			}
-			buff.append(label);
-
-			String valueString= getValueText(javaValue);
-			if (valueString.length() > 0) {
-				buff.append("= "); //$NON-NLS-1$
-				buff.append(valueString);
-			}
-			return buff.toString();
-		}
-		return ""; //$NON-NLS-1$ 
-	}	
-
-	/**
-	 * Given the reference type name of an array type, insert the array length
-	 * in between the '[]' for the first dimension and return the result.
-	 */
-	protected String adjustTypeNameForArrayIndex(String typeName, int arrayIndex) {
-		int firstBracket= typeName.indexOf("[]"); //$NON-NLS-1$
-		if (firstBracket < 0) {
-			return typeName;
-		}
-		StringBuffer buffer= new StringBuffer(typeName);
-		buffer.insert(firstBracket + 1, Integer.toString(arrayIndex));
-		return buffer.toString();
-	}
-	
-	protected String getValueUnsignedText(IJavaValue value) throws DebugException {
-		String sig= getPrimitiveValueTypeSignature(value);
-		if (sig == null) {
-			return null;
-		}
-
-		switch (sig.charAt(0)) {
-			case 'B' : // byte
-				int byteVal= Integer.parseInt(value.getValueString());
-				if (byteVal < 0) {
-					byteVal = byteVal & 0xFF;
-					return Integer.toString(byteVal);					
-				}
-			default :
-				return null;
-		}
-	}
-
-	protected String getValueHexText(IJavaValue value) throws DebugException {
-		String sig= getPrimitiveValueTypeSignature(value);
-		if (sig == null) {
-			return null;
-		}
-
-		StringBuffer buff= new StringBuffer();
-		switch (sig.charAt(0)) {
-			case 'B' :
-				buff.append("0x"); //$NON-NLS-1$
-				int byteVal = Integer.parseInt(value.getValueString());
-				byteVal = byteVal & 0xFF;
-				buff.append(Integer.toHexString(byteVal));
-				break;
-			case 'I' :
-				buff.append("0x"); //$NON-NLS-1$
-				buff.append(Integer.toHexString(Integer.parseInt(value.getValueString())));
-				break;			
-			case 'S' :
-				buff.append("0x"); //$NON-NLS-1$
-				int shortVal = Integer.parseInt(value.getValueString());
-				shortVal = shortVal & 0xFFFF;
-				buff.append(Integer.toHexString(shortVal));
-				break;
-			case 'J' :
-				buff.append("0x"); //$NON-NLS-1$
-				buff.append(Long.toHexString(Long.parseLong(value.getValueString())));
-				break;
-			case 'C' :
-				buff.append("\\u"); //$NON-NLS-1$
-				String hexString= Integer.toHexString(value.getValueString().charAt(0));
-				int length= hexString.length();
-				while (length < 4) {
-					buff.append('0');
-					length++;
-				}
-				buff.append(hexString);
-				break;
-			default:
-				return null;
-		}
-		return buff.toString();
-	}
-
-	protected String getBreakpointText(IBreakpoint breakpoint) throws CoreException {
-
-		if (breakpoint instanceof IJavaExceptionBreakpoint) {
-			return getExceptionBreakpointText((IJavaExceptionBreakpoint)breakpoint);
-		}
-		if (breakpoint instanceof IJavaWatchpoint) {
-			return getWatchpointText((IJavaWatchpoint)breakpoint);
-		} else if (breakpoint instanceof IJavaPatternBreakpoint) {
-			return getJavaPatternBreakpointText((IJavaPatternBreakpoint)breakpoint);
-		} else if (breakpoint instanceof IJavaTargetPatternBreakpoint) {
-			return getJavaTargetPatternBreakpointText((IJavaTargetPatternBreakpoint)breakpoint);
-		} else if (breakpoint instanceof IJavaLineBreakpoint) {
-			return getLineBreakpointText((IJavaLineBreakpoint)breakpoint);
-		}
-
-		return ""; //$NON-NLS-1$
-	}
-
-	protected String getExceptionBreakpointText(IJavaExceptionBreakpoint breakpoint) throws CoreException {
-		StringBuffer buffer = new StringBuffer();
-		String typeName = breakpoint.getTypeName();
-		buffer.append(getQualifiedName(typeName));
-		appendHitCount(breakpoint, buffer);
-		appendSuspendPolicy(breakpoint, buffer);
-		appendThreadFilter(breakpoint, buffer);
-		if (breakpoint.getExclusionFilters().length > 0 || breakpoint.getInclusionFilters().length > 0) {
-			buffer.append(DebugUIMessages.getString("JDIModelPresentation._[scoped]_1")); //$NON-NLS-1$
-		}
-		appendInstanceFilter(breakpoint, buffer);
-		String state= null;
-		boolean c= breakpoint.isCaught();
-		boolean u= breakpoint.isUncaught();
-		if (c && u) {
-			state= DebugUIMessages.getString("JDIModelPresentation.caught_and_uncaught_60"); //$NON-NLS-1$
-		} else if (c) {
-			state= DebugUIMessages.getString("JDIModelPresentation.caught_61"); //$NON-NLS-1$
-		} else if (u) {
-			state= DebugUIMessages.getString("JDIModelPresentation.uncaught_62"); //$NON-NLS-1$
-		}
-		String label= null;
-		if (state == null) {
-			label= buffer.toString();
-		} else {
-			String format= DebugUIMessages.getString("JDIModelPresentation.{1}__{0}_63"); //$NON-NLS-1$
-			label= MessageFormat.format(format, new Object[] {state, buffer});
-		}
-		return label;
-	}
-
-	protected String getLineBreakpointText(IJavaLineBreakpoint breakpoint) throws CoreException {
-
-		String typeName= breakpoint.getTypeName();
-		IMember member= BreakpointUtils.getMember(breakpoint);
-		StringBuffer label= new StringBuffer();
-		label.append(getQualifiedName(typeName));
-		appendLineNumber(breakpoint, label);
-		appendHitCount(breakpoint, label);
-		appendSuspendPolicy(breakpoint,label);
-		appendThreadFilter(breakpoint, label);
-		appendConditional(breakpoint, label);
-		appendInstanceFilter(breakpoint, label);
-		
-		if (breakpoint instanceof IJavaMethodBreakpoint) {
-			IJavaMethodBreakpoint mbp = (IJavaMethodBreakpoint)breakpoint;
-			boolean entry = mbp.isEntry();
-			boolean exit = mbp.isExit();
-			if (entry && exit) {
-				label.append(DebugUIMessages.getString("JDIModelPresentation.entry_and_exit")); //$NON-NLS-1$
-			} else if (entry) {
-				label.append(DebugUIMessages.getString("JDIModelPresentation.entry")); //$NON-NLS-1$
-			} else if (exit) {
-				label.append(DebugUIMessages.getString("JDIModelPresentation.exit")); //$NON-NLS-1$
-			}
-		}
-					
-		if (member != null) {
-			label.append(" - "); //$NON-NLS-1$
-			label.append(getJavaLabelProvider().getText(member));
-		}
-		
-		return label.toString();
-	}
-	
-	protected StringBuffer appendLineNumber(IJavaLineBreakpoint breakpoint, StringBuffer label) throws CoreException {
-		int lineNumber= breakpoint.getLineNumber();
-		if (lineNumber > 0) {
-			label.append(" ["); //$NON-NLS-1$
-			label.append(DebugUIMessages.getString("JDIModelPresentation.line__65")); //$NON-NLS-1$
-			label.append(' ');
-			label.append(lineNumber);
-			label.append(']');
-
-		}
-		return label;
-	}
-	
-	protected StringBuffer appendHitCount(IJavaBreakpoint breakpoint, StringBuffer label) throws CoreException {
-		int hitCount= breakpoint.getHitCount();
-		if (hitCount > 0) {
-			label.append(" ["); //$NON-NLS-1$
-			label.append(DebugUIMessages.getString("JDIModelPresentation.hit_count__67")); //$NON-NLS-1$
-			label.append(' ');
-			label.append(hitCount);
-			label.append(']');
-		}
-		return label;
-	}
-	
-	protected String getJavaPatternBreakpointText(IJavaPatternBreakpoint breakpoint) throws CoreException {
-	
-		IResource resource= breakpoint.getMarker().getResource();
-		IMember member= BreakpointUtils.getMember(breakpoint);
-		StringBuffer label= new StringBuffer(resource.getName());
-		appendLineNumber(breakpoint, label);
-		appendHitCount(breakpoint, label);
-		appendSuspendPolicy(breakpoint,label);
-		appendThreadFilter(breakpoint, label);
-					
-		if (member != null) {
-			label.append(" - "); //$NON-NLS-1$
-			label.append(getJavaLabelProvider().getText(member));
-		}
-		
-		return label.toString();
-	}
-
-	protected String getJavaTargetPatternBreakpointText(IJavaTargetPatternBreakpoint breakpoint) throws CoreException {
-		IMember member= BreakpointUtils.getMember(breakpoint);
-		StringBuffer label= new StringBuffer(breakpoint.getSourceName());
-		appendLineNumber(breakpoint, label);
-		appendHitCount(breakpoint, label);
-		appendSuspendPolicy(breakpoint,label);
-		appendThreadFilter(breakpoint, label);
-					
-		if (member != null) {
-			label.append(" - "); //$NON-NLS-1$
-			label.append(getJavaLabelProvider().getText(member));
-		}
-		
-		return label.toString();
-	}
-		
-	protected String getWatchpointText(IJavaWatchpoint watchpoint) throws CoreException {
-		
-		String lineInfo= getLineBreakpointText(watchpoint);
-		String state= null;
-		boolean access= watchpoint.isAccess();
-		boolean modification= watchpoint.isModification();
-		if (access && modification) {
-			state= DebugUIMessages.getString("JDIModelPresentation.access_and_modification_70"); //$NON-NLS-1$
-		} else if (access) {
-			state= DebugUIMessages.getString("JDIModelPresentation.access_71"); //$NON-NLS-1$
-		} else if (modification) {
-			state= DebugUIMessages.getString("JDIModelPresentation.modification_72"); //$NON-NLS-1$
-		}
-		String label= null;
-		if (state == null) {
-			label= lineInfo;
-		} else {
-			String format= DebugUIMessages.getString("JDIModelPresentation.{1}__{0}_73"); //$NON-NLS-1$
-			label= MessageFormat.format(format, new Object[] {state, lineInfo});
-		}
-		return label;	
-	}	
-
-	protected String getStackFrameText(IStackFrame stackFrame) throws DebugException {
-		IJavaStackFrame frame= (IJavaStackFrame) stackFrame.getAdapter(IJavaStackFrame.class);
-		if (frame != null) {
-			StringBuffer label= new StringBuffer();
-			
-			String dec= DebugUIMessages.getString("JDIModelPresentation<unknown_declaring_type>_4"); //$NON-NLS-1$
-			try {
-				dec= frame.getDeclaringTypeName();
-			} catch (DebugException exception) {
-			}
-			if (frame.isObsolete()) {
-				label.append(DebugUIMessages.getString("JDIModelPresentation.<obsolete_method_in__1")); //$NON-NLS-1$
-				label.append(dec);
-				label.append('>');
-				return label.toString();
-			}
-
-			// receiver name
-			String rec= DebugUIMessages.getString("JDIModelPresentation<unknown_receiving_type>_5"); //$NON-NLS-1$
-			try {
-				rec= frame.getReceivingTypeName();
-			} catch (DebugException exception) {
-			}
-			label.append(getQualifiedName(rec));
-
-			// append declaring type name if different
-			if (!dec.equals(rec)) {
-				label.append('(');
-				label.append(getQualifiedName(dec));
-				label.append(')');
-			}
-
-			// append a dot separator and method name
-			label.append('.');
-			try {
-				label.append(frame.getMethodName());
-			} catch (DebugException exception) {
-				label.append(DebugUIMessages.getString("JDIModelPresentation<unknown_method_name>_6")); //$NON-NLS-1$
-			}
-
-			try {
-				List args= frame.getArgumentTypeNames();
-				if (args.isEmpty()) {
-					label.append("()"); //$NON-NLS-1$
-				} else {
-					label.append('(');
-					Iterator iter= args.iterator();
-					while (iter.hasNext()) {
-						label.append(getQualifiedName((String) iter.next()));
-						if (iter.hasNext()) {
-							label.append(", "); //$NON-NLS-1$
-						}
-					}
-					label.append(')');
-				}
-			} catch (DebugException exception) {
-				label.append(DebugUIMessages.getString("JDIModelPresentation(<unknown_arguements>)_7")); //$NON-NLS-1$
-			}
-
-			try {
-				int lineNumber= frame.getLineNumber();
-				label.append(' ');
-				label.append(DebugUIMessages.getString("JDIModelPresentation.line__76")); //$NON-NLS-1$
-				label.append(' ');
-				if (lineNumber >= 0) {
-					label.append(lineNumber);
-				} else {
-					label.append(DebugUIMessages.getString("JDIModelPresentation.not_available")); //$NON-NLS-1$
-					if (frame.isNative()) {
-						label.append(' ');
-						label.append(DebugUIMessages.getString("JDIModelPresentation.native_method")); //$NON-NLS-1$
-					}
-				}
-			} catch (DebugException exception) {
-				label.append(DebugUIMessages.getString("JDIModelPresentation_<unknown_line_number>_8")); //$NON-NLS-1$
-			}
-			
-			if (!frame.wereLocalsAvailable()) {
-				label.append(' ');
-				label.append(DebugUIMessages.getString("JDIModelPresentation.local_variables_unavailable")); //$NON-NLS-1$
-			}
-			
-			return label.toString();
-
-		}
-		return null;
-	}
-	
-	protected String getWatchExpressionText(JavaWatchExpression watchExpression) throws DebugException {
-		StringBuffer result= new StringBuffer();
-		result.append('"').append(watchExpression.getExpressionText()).append('"');
-		if (watchExpression.isPending()) {
-			result.append(DebugUIMessages.getString("JDIModelPresentation._(pending)_1")); //$NON-NLS-1$
-		} else if (watchExpression.hasError()) {
-			result.append(DebugUIMessages.getString("JDIModelPresentation._<error(s)_during_the_evaluation>_2")); //$NON-NLS-1$
-		} else {
-			IJavaValue javaValue= (IJavaValue) watchExpression.getValue();
-			if (javaValue != null) {
-				String typeName=null;
-				try {
-					typeName= javaValue.getReferenceTypeName();
-				} catch (DebugException exception) {
-					// ObjectCollectedException is an expected exception which will
-					// occur if the inspected object has been garbage collected.
-					if (exception.getStatus().getException() instanceof ObjectCollectedException) {
-						return DebugUIMessages.getString("JDIModelPresentation.<garbage_collected_object>_6"); //$NON-NLS-1$
-					} else {
-						throw exception;
-					}
-				}
-				if (isShowVariableTypeNames()) {
-					typeName= getQualifiedName(typeName);
-					if (typeName.length() > 0) {
-						result.insert(0, ' ').insert(0,typeName);
-					}
-				}
-	
-				String valueString= getValueText(javaValue);
-				if (valueString.length() > 0) {
-					result.append("= ").append(valueString); //$NON-NLS-1$
-				}
-			}
-		}
-		if (watchExpression.isObsolete()) {
-			result.append(DebugUIMessages.getString("JDIModelPresentation._(obsolete)_1")); //$NON-NLS-1$
-		}
-		if (!watchExpression.isEnabled()) {
-			result.append(DebugUIMessages.getString("JDIModelPresentation._(disabled)_3")); //$NON-NLS-1$
-		}
-		return result.toString();
-	}
-
-	protected String getQualifiedName(String qualifiedName) {
-		if (!isShowQualifiedNames()) {
-			int index= qualifiedName.lastIndexOf('.');
-			if (index >= 0) {
-				return qualifiedName.substring(index + 1);
-			}
-		}
-		return qualifiedName;
-	}
-
-	/**
-	 * Plug in the single argument to the resource String for the key to get a formatted resource String
-	 */
-	public static String getFormattedString(String key, String arg) {
-		return getFormattedString(key, new String[] {arg});
-	}
-
-	/**
-	 * Plug in the arguments to the resource String for the key to get a formatted resource String
-	 */
-	public static String getFormattedString(String string, String[] args) {
-		return MessageFormat.format(string, args);
-	}
-	
-	interface IValueDetailProvider {
-		public void computeDetail(IValue value, IJavaThread thread, IValueDetailListener listener) throws DebugException;
-	}
-	
-	protected void appendSuspendPolicy(IJavaBreakpoint breakpoint, StringBuffer buffer) throws CoreException {
-		if (breakpoint.getSuspendPolicy() == IJavaBreakpoint.SUSPEND_VM) {
-			buffer.append(' ');
-			buffer.append(DebugUIMessages.getString("JDIModelPresentation.Suspend_VM")); //$NON-NLS-1$
-		}
-	}
-	
-	protected void appendThreadFilter(IJavaBreakpoint breakpoint, StringBuffer buffer) throws CoreException {
-		if (breakpoint.getThreadFilters().length != 0) {
-			buffer.append(' ');
-			buffer.append(DebugUIMessages.getString("JDIModelPresentation.thread_filtered")); //$NON-NLS-1$
-		}
-	}
-	
-	protected void appendConditional(IJavaLineBreakpoint breakpoint, StringBuffer buffer) throws CoreException {
-		if (breakpoint.isConditionEnabled() && breakpoint.getCondition() != null) {
-			buffer.append(' ');
-			buffer.append(DebugUIMessages.getString("JDIModelPresentation.[conditional]_2")); //$NON-NLS-1$
-		}
-	}
-	
-	protected void appendInstanceFilter(IJavaBreakpoint breakpoint, StringBuffer buffer) throws CoreException {
-		IJavaObject[] instances = breakpoint.getInstanceFilters();
-		for (int i = 0; i < instances.length; i++) {
-			String instanceText= instances[i].getValueString();
-			if (instanceText != null) {
-				buffer.append(' ');
-				buffer.append(MessageFormat.format(DebugUIMessages.getString("JDIModelPresentation.instance_1"), new String[] {instanceText})); //$NON-NLS-1$
-			}				
-		}
-	}
-	
-	protected ImageDescriptorRegistry getJavaElementImageRegistry() {
-		if (fJavaElementImageRegistry == null) {
-			fJavaElementImageRegistry = JavaPlugin.getImageDescriptorRegistry();		
-		}
-		return fJavaElementImageRegistry;
-	}
-
-	protected org.eclipse.jdt.internal.debug.ui.ImageDescriptorRegistry getDebugImageRegistry() {
-		if (fDebugImageRegistry == null) {
-			fDebugImageRegistry = JDIDebugUIPlugin.getImageDescriptorRegistry();		
-		}
-		return fDebugImageRegistry;
-	}
-
-	protected JavaElementLabelProvider getJavaLabelProvider() {
-		if (fJavaLabelProvider == null) {
-			fJavaLabelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);		
-		}
-		return fJavaLabelProvider;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDISourceViewer.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDISourceViewer.java
deleted file mode 100644
index efb419b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JDISourceViewer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.internal.ui.text.JavaPartitionScanner;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.custom.BidiSegmentEvent;
-import org.eclipse.swt.custom.BidiSegmentListener;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.widgets.Composite;
-
-public class JDISourceViewer extends SourceViewer {
-
-	public JDISourceViewer(Composite parent, IVerticalRuler ruler, int styles) {
-		super(parent, ruler, styles);
-		StyledText text= this.getTextWidget();
-		text.addBidiSegmentListener(new  BidiSegmentListener() {
-			public void lineGetSegments(BidiSegmentEvent event) {
-				try {
-					event.segments= getBidiLineSegments(event.lineOffset);
-				} catch (BadLocationException x) {
-					// ignore
-				}
-			}
-		});
-	}
-
-	public IContentAssistant getContentAssistant() {
-		return fContentAssistant;
-	}
-	
-	/**
-	 * Returns a segmentation of the line of the given document appropriate for bidi rendering.
-	 * The default implementation returns only the string literals of a Java code line as segments.
-	 * 
-	 * @param document the document
-	 * @param lineOffset the offset of the line
-	 * @return the line's bidi segmentation
-	 * @throws BadLocationException in case lineOffset is not valid in document
-	 */
-	protected int[] getBidiLineSegments(int lineOffset) throws BadLocationException {
-		IDocument document= getDocument();
-		if (document == null) {
-			return null;
-		}
-		IRegion line= document.getLineInformationOfOffset(lineOffset);
-		ITypedRegion[] linePartitioning= document.computePartitioning(lineOffset, line.getLength());
-		
-		List segmentation= new ArrayList();
-		for (int i= 0; i < linePartitioning.length; i++) {
-			if (JavaPartitionScanner.JAVA_STRING.equals(linePartitioning[i].getType()))
-				segmentation.add(linePartitioning[i]);
-		}
-		
-		
-		if (segmentation.size() == 0) 
-			return null;
-			
-		int size= segmentation.size();
-		int[] segments= new int[size * 2 + 1];
-		
-		int j= 0;
-		for (int i= 0; i < size; i++) {
-			ITypedRegion segment= (ITypedRegion) segmentation.get(i);
-			
-			if (i == 0)
-				segments[j++]= 0;
-				
-			int offset= segment.getOffset() - lineOffset;
-			if (offset > segments[j - 1])
-				segments[j++]= offset;
-				
-			if (offset + segment.getLength() >= line.getLength())
-				break;
-				
-			segments[j++]= offset + segment.getLength();
-		}
-		
-		if (j < segments.length) {
-			int[] result= new int[j];
-			System.arraycopy(segments, 0, result, 0, j);
-			segments= result;
-		}
-		
-		return segments;
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
deleted file mode 100644
index ed8fdd4..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugHover.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.ui.text.java.hover.IJavaEditorTextHover;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.ui.IEditorPart;
-
-
-public class JavaDebugHover implements IJavaEditorTextHover {
-		
-	
-	protected IEditorPart fEditor;
-	
-	
-	public JavaDebugHover() {
-	}
-
-	/**
-	 * @see IJavaEditorTextHover#setEditor(IEditorPart)
-	 */
-	public void setEditor(IEditorPart editor) {
-		fEditor= editor;
-	}
-		
-	/**
-	 * @see ITextHover#getHoverRegion(ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		return JavaWordFinder.findWord(textViewer.getDocument(), offset);
-	}
-		
-	/**
-	 * @see ITextHover#getHoverInfo(ITextViewer, IRegion)
-	 */
-	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
-				
-		DebugPlugin debugPlugin= DebugPlugin.getDefault();
-		if (debugPlugin == null) {
-			return null;
-		}
-			
-		ILaunchManager launchManager= debugPlugin.getLaunchManager();
-		if (launchManager == null) {
-			return null;
-		}
-			
-		IDebugTarget[] targets= launchManager.getDebugTargets();
-		if (targets != null && targets.length > 0) {
-			try {
-				
-				IDocument document= textViewer.getDocument();
-				if (document == null)
-					return null;
-					
-				String variableName= document.get(hoverRegion.getOffset(), hoverRegion.getLength());
-				
-				List javaTargetList = new ArrayList(targets.length);
-				for (int i = 0; i < targets.length; i++) {
-					IJavaDebugTarget javaTarget = (IJavaDebugTarget) targets[i].getAdapter(IJavaDebugTarget.class);
-					if (javaTarget != null) {
-						javaTargetList.add(i, javaTarget);
-					}					
-				}
-												
-				StringBuffer buffer= new StringBuffer();
-				boolean showDebugTarget = javaTargetList.size() > 1;
-				Iterator iterator = javaTargetList.iterator();
-				while (iterator.hasNext()) {
-					IJavaDebugTarget javaTarget = (IJavaDebugTarget) iterator.next();	
-					try {
-						IVariable variable= javaTarget.findVariable(variableName);
-						if (variable != null) {
-							String debugTargetName = showDebugTarget ? javaTarget.getName() : null;
-							appendVariable(buffer, variable, debugTargetName);
-						}
-					} catch (DebugException x) {
-						JDIDebugUIPlugin.log(x);
-					}
-				}
-				
-				if (buffer.length() > 0) {
-					return buffer.toString();
-				}
-			
-			} catch (BadLocationException x) {
-				JDIDebugUIPlugin.log(x);
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * A variable gets one line for each debug target it appears in.
-	 */
-	private static void appendVariable(StringBuffer buffer, IVariable variable, String debugTargetName) throws DebugException {
-
-		buffer.append("<p>"); //$NON-NLS-1$
-		if (debugTargetName != null) {
-			buffer.append('[' + debugTargetName + "]&nbsp;"); //$NON-NLS-1$ 
-		}
-		buffer.append("<pre>").append(variable.getName()).append("</pre>"); //$NON-NLS-1$ //$NON-NLS-2$
-		buffer.append(" ="); //$NON-NLS-1$
-		
-		String type= getTypeName(variable);
-		String value= "<b><pre>" + variable.getValue().getValueString() + "</pre></b>"; //$NON-NLS-1$ //$NON-NLS-2$
-		
-		if (type == null) {
-			buffer.append(" null"); //$NON-NLS-1$
-		} else if (type.equals("java.lang.String")) { //$NON-NLS-1$
-			buffer.append(" \""); //$NON-NLS-1$
-			buffer.append(value);
-			buffer.append('"');
-		} else if (type.equals("boolean")) { //$NON-NLS-1$
-			buffer.append(' ');
-			buffer.append(value);
-		} else {
-			buffer.append(" ("); //$NON-NLS-1$
-			buffer.append("<pre>").append(type).append("</pre>"); //$NON-NLS-1$ //$NON-NLS-2$
-			buffer.append(") "); //$NON-NLS-1$
-			buffer.append(value);			
-		}		
-		buffer.append("</p>"); //$NON-NLS-1$
-	}
-
-	private static String getTypeName(IVariable variable) throws DebugException {
-		IValue value= variable.getValue();
-		if (value instanceof IJavaValue) {
-			IJavaType type= ((IJavaValue) value).getJavaType();
-			if (type == null) {
-				return null;
-			}			
-			return type.getName();
-		}
-		return value.getReferenceTypeName();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugImages.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugImages.java
deleted file mode 100644
index 48bf0e7..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugImages.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Bundle of most images used by the Java debug plug-in.
- */
-public class JavaDebugImages {
-
-	private static final String NAME_PREFIX= "org.eclipse.jdt.debug.ui."; //$NON-NLS-1$
-	private static final int NAME_PREFIX_LENGTH= NAME_PREFIX.length();
-
-	private static URL fgIconBaseURL= null;
-	
-	static {
-		String pathSuffix= "icons/full/"; //$NON-NLS-1$
-		try {
-			fgIconBaseURL= new URL(JDIDebugUIPlugin.getDefault().getDescriptor().getInstallURL(), pathSuffix);
-		} catch (MalformedURLException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-	
-	// The plugin registry
-	private static ImageRegistry fgImageRegistry = null;
-	private static HashMap fgAvoidSWTErrorMap = null;
-
-	/*
-	 * Available cached Images in the Java debug plug-in image registry.
-	 */	
-	public static final String IMG_OBJS_EXCEPTION= NAME_PREFIX + "jexception_obj.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJS_EXCEPTION_DISABLED= NAME_PREFIX + "jexceptiond_obj.gif";			//$NON-NLS-1$
-	public static final String IMG_OBJS_ERROR= NAME_PREFIX + "jrtexception_obj.gif";			//$NON-NLS-1$	
-	
-	public static final String IMG_OBJS_BREAKPOINT_INSTALLED= NAME_PREFIX + "installed_ovr.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_BREAKPOINT_INSTALLED_DISABLED= NAME_PREFIX + "installed_ovr_disabled.gif";	//$NON-NLS-1$
-	
-	public static final String IMG_OBJS_ACCESS_WATCHPOINT_ENABLED= NAME_PREFIX + "read_obj.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_ACCESS_WATCHPOINT_DISABLED= NAME_PREFIX + "read_obj_disabled.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_MODIFICATION_WATCHPOINT_ENABLED= NAME_PREFIX + "write_obj.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_MODIFICATION_WATCHPOINT_DISABLED= NAME_PREFIX + "write_obj_disabled.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_WATCHPOINT_ENABLED= NAME_PREFIX + "readwrite_obj.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_WATCHPOINT_DISABLED= NAME_PREFIX + "readwrite_obj_disabled.gif";	//$NON-NLS-1$
-	
-	public static final String IMG_OBJS_LOCAL_VARIABLE = NAME_PREFIX + "localvariable_obj.gif";	//$NON-NLS-1$
-	
-	public static final String IMG_OBJS_METHOD_BREAKPOINT_ENTRY= NAME_PREFIX + "entry_ovr.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_METHOD_BREAKPOINT_ENTRY_DISABLED= NAME_PREFIX + "entry_ovr_disabled.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_METHOD_BREAKPOINT_EXIT= NAME_PREFIX + "exit_ovr.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_METHOD_BREAKPOINT_EXIT_DISABLED= NAME_PREFIX + "exit_ovr_disabled.gif";	//$NON-NLS-1$
-	
-	public static final String IMG_OBJS_CONDITIONAL_BREAKPOINT= NAME_PREFIX + "conditional_ovr.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_CONDITIONAL_BREAKPOINT_DISABLED= NAME_PREFIX + "conditional_ovr_disabled.gif";	//$NON-NLS-1$
-
-	public static final String IMG_OBJS_SCOPED_BREAKPOINT= NAME_PREFIX + "scoped_ovr.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_SCOPED_BREAKPOINT_DISABLED= NAME_PREFIX + "scoped_ovr_disabled.gif";	//$NON-NLS-1$
-	
-	public static final String IMG_OBJS_UNCAUGHT_BREAKPOINT= NAME_PREFIX + "uncaught_ovr.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_UNCAUGHT_BREAKPOINT_DISABLED= NAME_PREFIX + "uncaught_ovr_disabled.gif";	//$NON-NLS-1$
-	
-	public static final String IMG_OBJS_CAUGHT_BREAKPOINT= NAME_PREFIX + "caught_ovr.gif";	//$NON-NLS-1$
-	public static final String IMG_OBJS_CAUGHT_BREAKPOINT_DISABLED= NAME_PREFIX + "caught_ovr_disabled.gif";	//$NON-NLS-1$
-	
-	public static final String IMG_OBJS_SNIPPET_EVALUATING= NAME_PREFIX + "jsbook_run_obj.gif";	//$NON-NLS-1$
-	
-	public static final String IMG_VIEW_ARGUMENTS_TAB= NAME_PREFIX + "variable_tab.gif";  //$NON-NLS-1$
-	
-	public static final String IMG_OBJS_MONITOR = NAME_PREFIX + "monitor_obj.gif";  //$NON-NLS-1$
-	
-	public static final String IMG_OBJS_PLUS_SIGN = NAME_PREFIX + "plus_sign.gif";  //$NON-NLS-1$
-	public static final String IMG_OBJS_MINUS_SIGN = NAME_PREFIX + "minus_sign.gif";  //$NON-NLS-1$
-	
-	/*
-	 * Set of predefined Image Descriptors.
-	 */
-	private static final String T_OBJ= "obj16"; 		//$NON-NLS-1$
-	private static final String T_OVR= "ovr16"; 		//$NON-NLS-1$
-	private static final String T_WIZBAN= "wizban"; 	//$NON-NLS-1$
-	private static final String T_LCL= "clcl16"; 	//$NON-NLS-1$
-	private static final String T_CTOOL= "ctool16"; 	//$NON-NLS-1$
-	private static final String T_CVIEW= "cview16"; 	//$NON-NLS-1$
-	private static final String T_DTOOL= "dtool16"; 	//$NON-NLS-1$
-	private static final String T_ETOOL= "etool16"; 	//$NON-NLS-1$
-	
-	public static final ImageDescriptor DESC_OBJS_EXCEPTION= createManaged(T_OBJ, IMG_OBJS_EXCEPTION);
-	public static final ImageDescriptor DESC_OBJS_EXCEPTION_DISABLED= createManaged(T_OBJ, IMG_OBJS_EXCEPTION_DISABLED);
-	public static final ImageDescriptor DESC_OBJS_BREAKPOINT_INSTALLED= createManaged(T_OVR, IMG_OBJS_BREAKPOINT_INSTALLED);
-	public static final ImageDescriptor DESC_OBJS_BREAKPOINT_INSTALLED_DISABLED= createManaged(T_OVR, IMG_OBJS_BREAKPOINT_INSTALLED_DISABLED);
-	
-	public static final ImageDescriptor DESC_OBJS_WATCHPOINT_ENABLED= createManaged(T_OBJ, IMG_OBJS_WATCHPOINT_ENABLED);
-	public static final ImageDescriptor DESC_OBJS_WATCHPOINT_DISABLED= createManaged(T_OBJ, IMG_OBJS_WATCHPOINT_DISABLED);
-	public static final ImageDescriptor DESC_OBJS_ACCESS_WATCHPOINT_ENABLED= createManaged(T_OBJ, IMG_OBJS_ACCESS_WATCHPOINT_ENABLED);
-	public static final ImageDescriptor DESC_OBJS_ACCESS_WATCHPOINT_DISABLED= createManaged(T_OBJ, IMG_OBJS_ACCESS_WATCHPOINT_DISABLED);
-	public static final ImageDescriptor DESC_OBJS_MODIFICATION_WATCHPOINT_ENABLED= createManaged(T_OBJ, IMG_OBJS_MODIFICATION_WATCHPOINT_ENABLED);
-	public static final ImageDescriptor DESC_OBJS_MODIFICATION_WATCHPOINT_DISABLED= createManaged(T_OBJ, IMG_OBJS_MODIFICATION_WATCHPOINT_DISABLED);
-	
-	public static final ImageDescriptor DESC_OBJS_LOCAL_VARIABLE = createManaged(T_OBJ, IMG_OBJS_LOCAL_VARIABLE);
-	
-	public static final ImageDescriptor DESC_OBJS_METHOD_BREAKPOINT_ENTRY= createManaged(T_OVR, IMG_OBJS_METHOD_BREAKPOINT_ENTRY);
-	public static final ImageDescriptor DESC_OBJS_METHOD_BREAKPOINT_ENTRY_DISABLED= createManaged(T_OVR, IMG_OBJS_METHOD_BREAKPOINT_ENTRY_DISABLED);
-	public static final ImageDescriptor DESC_OBJS_METHOD_BREAKPOINT_EXIT= createManaged(T_OVR, IMG_OBJS_METHOD_BREAKPOINT_EXIT);
-	public static final ImageDescriptor DESC_OBJS_METHOD_BREAKPOINT_EXIT_DISABLED= createManaged(T_OVR, IMG_OBJS_METHOD_BREAKPOINT_EXIT_DISABLED);
-	
-	public static final ImageDescriptor DESC_OBJS_CONDITIONAL_BREAKPOINT= createManaged(T_OVR, IMG_OBJS_CONDITIONAL_BREAKPOINT);
-	public static final ImageDescriptor DESC_OBJS_CONDITIONAL_BREAKPOINT_DISABLED= createManaged(T_OVR, IMG_OBJS_CONDITIONAL_BREAKPOINT_DISABLED);
-	
-	public static final ImageDescriptor DESC_OBJS_SCOPED_BREAKPOINT= createManaged(T_OVR, IMG_OBJS_SCOPED_BREAKPOINT);
-	public static final ImageDescriptor DESC_OBJS_SCOPED_BREAKPOINT_DISABLED= createManaged(T_OVR, IMG_OBJS_SCOPED_BREAKPOINT_DISABLED);
-	
-	public static final ImageDescriptor DESC_OBJS_UNCAUGHT_BREAKPOINT= createManaged(T_OVR, IMG_OBJS_UNCAUGHT_BREAKPOINT);
-	public static final ImageDescriptor DESC_OBJS_UNCAUGHT_BREAKPOINT_DISABLED= createManaged(T_OVR, IMG_OBJS_UNCAUGHT_BREAKPOINT_DISABLED);
-	
-	public static final ImageDescriptor DESC_OBJS_CAUGHT_BREAKPOINT= createManaged(T_OVR, IMG_OBJS_CAUGHT_BREAKPOINT);
-	public static final ImageDescriptor DESC_OBJS_CAUGHT_BREAKPOINT_DISABLED= createManaged(T_OVR, IMG_OBJS_CAUGHT_BREAKPOINT_DISABLED);
-	
-	public static final ImageDescriptor DESC_OBJS_ERROR= createManaged(T_OBJ, IMG_OBJS_ERROR);
-	
-	public static final ImageDescriptor DESC_OBJS_SNIPPET_EVALUATING= createManaged(T_OBJ, IMG_OBJS_SNIPPET_EVALUATING);
-	
-	public static final ImageDescriptor DESC_VIEW_ARGUMENTS_TAB = createManaged(T_CVIEW, IMG_VIEW_ARGUMENTS_TAB);
-
-	public static final ImageDescriptor DESC_OBJ_MONITOR = createManaged(T_OBJ, IMG_OBJS_MONITOR);
-	
-	public static final ImageDescriptor DESC_OVR_IS_OUT_OF_SYNCH= create(T_OVR, "error_co.gif");			//$NON-NLS-1$
-	public static final ImageDescriptor DESC_OVR_MAY_BE_OUT_OF_SYNCH= create(T_OVR, "warning_co.gif");		//$NON-NLS-1$
-	
-	public static final ImageDescriptor DESC_OVR_OWNED= create(T_OVR, "owned_ovr.gif");			//$NON-NLS-1$
-	public static final ImageDescriptor DESC_OVR_OWNS_MONITOR= create(T_OVR, "ownsmonitor_ovr.gif");		//$NON-NLS-1$
-	public static final ImageDescriptor DESC_OVR_IN_CONTENTION= create(T_OVR, "contention_ovr.gif");			//$NON-NLS-1$
-	public static final ImageDescriptor DESC_OVR_IN_CONTENTION_FOR_MONITOR= create(T_OVR, "contentionformonitor_ovr.gif");		//$NON-NLS-1$
-			
-	public static final ImageDescriptor DESC_WIZBAN_NEWSCRAPPAGE= create(T_WIZBAN, "newsbook_wiz.gif");		//$NON-NLS-1$
-	public static final ImageDescriptor DESC_WIZBAN_JAVA_LAUNCH= create(T_WIZBAN, "java_app_wiz.gif"); 		//$NON-NLS-1$
-	public static final ImageDescriptor DESC_WIZBAN_JAVA_ATTACH= create(T_WIZBAN, "java_attach_wiz.gif"); 	//$NON-NLS-1$
-	public static final ImageDescriptor DESC_WIZBAN_LIBRARY= create(T_WIZBAN, "library_wiz.gif"); 	//$NON-NLS-1$
-	
-	public static final ImageDescriptor DESC_TOOL_RUNSNIPPET= create(T_ETOOL, "run_sbook.gif"); 			//$NON-NLS-1$
-	public static final ImageDescriptor DESC_TOOL_RUNSNIPPET_HOVER= create(T_CTOOL, "run_sbook.gif"); 	//$NON-NLS-1$
-	public static final ImageDescriptor DESC_TOOL_RUNSNIPPET_DISABLED= create(T_DTOOL, "run_sbook.gif"); //$NON-NLS-1$
-	
-	public static final ImageDescriptor DESC_TOOL_TERMSNIPPET= create(T_ETOOL, "term_sbook.gif"); 			//$NON-NLS-1$
-	public static final ImageDescriptor DESC_TOOL_TERMSNIPPET_HOVER= create(T_CTOOL, "term_sbook.gif"); 			//$NON-NLS-1$
-	public static final ImageDescriptor DESC_TOOL_TERMSNIPPET_DISABLED= create(T_DTOOL, "term_sbook.gif"); 			//$NON-NLS-1$
-	
-	public static final ImageDescriptor DESC_OBJS_PLUS_SIGN= createManaged(T_OBJ, IMG_OBJS_PLUS_SIGN);
-	public static final ImageDescriptor DESC_OBJS_MINUS_SIGN= createManaged(T_OBJ, IMG_OBJS_MINUS_SIGN);
-
-	public static final ImageDescriptor DESC_OBJ_JAVA_INSPECT_EXPRESSION= create(T_OBJ, "insp_sbook.gif"); 			//$NON-NLS-1$
-
-	/**
-	 * Returns the image managed under the given key in this registry.
-	 * 
-	 * @param key the image's key
-	 * @return the image managed under the given key
-	 */ 
-	public static Image get(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions
-	 * are retrieved from the *tool16 folders.
-	 */
-	public static void setToolImageDescriptors(IAction action, String iconName) {
-		setImageDescriptors(action, "tool16", iconName); //$NON-NLS-1$
-	}
-	
-	/**
-	 * 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$
-	}
-	
-	/*
-	 * Helper method to access the image registry from the JDIDebugUIPlugin class.
-	 */
-	/* package */ static ImageRegistry getImageRegistry() {
-		if (fgImageRegistry == null) {
-			fgImageRegistry= new ImageRegistry();
-			for (Iterator iter= fgAvoidSWTErrorMap.keySet().iterator(); iter.hasNext();) {
-				String key= (String) iter.next();
-				fgImageRegistry.put(key, (ImageDescriptor) fgAvoidSWTErrorMap.get(key));
-			}
-			fgAvoidSWTErrorMap= null;
-		}
-		return fgImageRegistry;
-	}
-
-	//---- Helper methods to access icons on the file system --------------------------------------
-
-	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) {
-			JDIDebugUIPlugin.log(e);
-		}
-	
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("c" + type, relPath)); //$NON-NLS-1$
-			if (id != null)
-				action.setHoverImageDescriptor(id);
-		} catch (MalformedURLException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	
-		action.setImageDescriptor(create("e" + type, relPath)); //$NON-NLS-1$
-	}
-	
-	private static ImageDescriptor createManaged(String prefix, String name) {
-		try {
-			ImageDescriptor result= ImageDescriptor.createFromURL(makeIconFileURL(prefix, name.substring(NAME_PREFIX_LENGTH)));
-			if (fgAvoidSWTErrorMap == null) {
-				fgAvoidSWTErrorMap = new HashMap(); 
-			}
-			fgAvoidSWTErrorMap.put(name, result);
-			if (fgImageRegistry != null) {
-				JDIDebugUIPlugin.logErrorMessage("Internal Error: Image registry already defined"); //$NON-NLS-1$
-			}
-			return result;
-		} catch (MalformedURLException e) {
-			JDIDebugUIPlugin.log(e);
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-	
-	private static ImageDescriptor create(String prefix, String name) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
-		} catch (MalformedURLException e) {
-			JDIDebugUIPlugin.log(e);
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-	
-	private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
-		if (fgIconBaseURL == null)
-			throw new MalformedURLException();
-			
-		StringBuffer buffer= new StringBuffer(prefix);
-		buffer.append('/');
-		buffer.append(name);
-		return new URL(fgIconBaseURL, buffer.toString());
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
deleted file mode 100644
index bca73d0..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugOptionsManager.java
+++ /dev/null
@@ -1,855 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.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.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.dom.Message;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaBreakpointListener;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodEntryBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.debug.ui.actions.JavaBreakpointPropertiesDialog;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import com.sun.jdi.InvocationException;
-import com.sun.jdi.ObjectReference;
-
-/**
- * Manages options for the Java Debugger:<ul>
- * <li>Suspend on compilation errors</li>
- * <li>Suspend on uncaught exceptions</li>
- * <li>Step filters</li>
- * <li>Sets a system property that the Java debugger is active if
- * there are launches that contain running debug targets. Used for Java
- * debug action visibility.
- * </ul>
- */
-public class JavaDebugOptionsManager implements IResourceChangeListener, IDebugEventSetListener, IPropertyChangeListener, IJavaBreakpointListener, ILaunchListener, IBreakpointsListener {
-	
-	/**
-	 * Singleton options manager
-	 */
-	private static JavaDebugOptionsManager fgOptionsManager = null;
-	
-	/**
-	 * Map of problems to locations
-	 * (<code>IMarker</code> -> <code>Location</code>)
-	 */
-	private HashMap fProblemMap = new HashMap(10);
-	
-	/**
-	 * Map of locations to problems.
-	 * (<code>Location</code> -> <code>IMarker</code>)
-	 */
-	private HashMap fLocationMap = new HashMap(10);
-	
-	/**
-	 * Breakpoint used to suspend on uncaught exceptions
-	 */
-	private IJavaExceptionBreakpoint fSuspendOnExceptionBreakpoint = null;
-	
-	/**
-	 * Breakpoint used to suspend on compilation errors
-	 */
-	private IJavaExceptionBreakpoint fSuspendOnErrorBreakpoint = null;	
-	
-	/**
-	 * A label provider
-	 */
-	private static ILabelProvider fLabelProvider= DebugUITools.newDebugModelPresentation();
-	
-	/**
-	 * Constants indicating whether a breakpoint
-	 * is added, removed, or changed.
-	 */
-	private static final int ADDED = 0;
-	private static final int REMOVED = 1;
-	private static final int CHANGED = 2;
-		
-	/**
-	 * Local cache of active step filters.
-	 */
-	private String[] fActiveStepFilters = null;
-	
-	/**
-	 * Helper class that describes a location in a stack
-	 * frame. A location consists of a package name, source
-	 * file name, and a line number.
-	 */
-	class Location {
-		private String fPackageName;
-		private String fSourceName;
-		private int fLineNumber;
-		
-		public Location(String packageName, String sourceName, int lineNumber) {
-			fPackageName = packageName;
-			fSourceName = sourceName;
-			fLineNumber = lineNumber;
-		}
-		
-		public boolean equals(Object o) {
-			if (o instanceof Location) {
-				Location l = (Location)o;
-				return l.fPackageName.equals(fPackageName) && l.fSourceName.equals(fSourceName) && l.fLineNumber == fLineNumber;
-				
-			}
-			return false;
-		}
-		
-		public int hashCode() {
-			return fPackageName.hashCode() + fSourceName.hashCode() + fLineNumber;
-		}
-	}
-
-	/**
-	 * Update cache of problems as they are added/removed.
-	 * 
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IMarkerDelta[] deltas = event.findMarkerDeltas("org.eclipse.jdt.core.problem", true); //$NON-NLS-1$
-		if (deltas != null) {
-			for (int i = 0; i < deltas.length; i++) {
-				IMarkerDelta delta = deltas[i];
-				switch (delta.getKind()) {
-					case IResourceDelta.ADDED:
-						problemAdded(delta.getMarker());
-						break;
-					case IResourceDelta.REMOVED:
-						problemRemoved(delta.getMarker());
-						break;
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Not to be instantiated
-	 * 
-	 * @see JavaDebugOptionsManager.getDefault();
-	 */
-	private JavaDebugOptionsManager() {
-	}
-	
-	/**
-	 * Return the default options manager
-	 */
-	public static JavaDebugOptionsManager getDefault() {
-		if (fgOptionsManager == null) {
-			fgOptionsManager = new JavaDebugOptionsManager();
-		}
-		return fgOptionsManager;
-	}
-	
-	/**
-	 * Called at startup by the java debug ui plug-in
-	 */
-	public void startup() throws CoreException {
-		// lazy initialization will occur on the first launch
-		DebugPlugin debugPlugin = DebugPlugin.getDefault();
-		debugPlugin.getLaunchManager().addLaunchListener(this);
-		debugPlugin.getBreakpointManager().addBreakpointListener(this);
-		EvaluationContextManager.startup();
-	}
-	
-	/**
-	 * Called at shutdown by the Java debug ui plug-in
-	 */
-	public void shutdown() throws CoreException {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		DebugPlugin debugPlugin = DebugPlugin.getDefault();
-		debugPlugin.removeDebugEventListener(this);
-		debugPlugin.getLaunchManager().removeLaunchListener(this);
-		debugPlugin.getBreakpointManager().removeBreakpointListener(this);
-		if (!JDIDebugUIPlugin.getDefault().isShuttingDown()) {
-			//avert restoring the preference store at shutdown
-			JDIDebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		}
-		JDIDebugModel.removeJavaBreakpointListener(this);
-		fProblemMap.clear();
-		fLocationMap.clear();
-		System.getProperties().remove(JDIDebugUIPlugin.getUniqueIdentifier() + ".debuggerActive"); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Initializes compilation error handling and suspending
-	 * on uncaught exceptions.
-	 */
-	protected void initializeProblemHandling() {
-		IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				// compilation error breakpoint
-				IJavaExceptionBreakpoint bp = JDIDebugModel.createExceptionBreakpoint(ResourcesPlugin.getWorkspace().getRoot(),"java.lang.Error", true, true, false, false, null); //$NON-NLS-1$
-				bp.setPersisted(false);
-				bp.setRegistered(false);
-				// disabled until there are errors
-				bp.setEnabled(false);
-				setSuspendOnCompilationErrorsBreakpoint(bp);
-				
-				// uncaught exception breakpoint
-				bp = JDIDebugModel.createExceptionBreakpoint(ResourcesPlugin.getWorkspace().getRoot(),"java.lang.Throwable", false, true, false, false, null); //$NON-NLS-1$
-				bp.setPersisted(false);
-				bp.setRegistered(false);
-				bp.setEnabled(isSuspendOnUncaughtExceptions());
-				setSuspendOnUncaughtExceptionBreakpoint(bp);
-				
-				// note existing compilation errors
-				IMarker[] problems = ResourcesPlugin.getWorkspace().getRoot().findMarkers("org.eclipse.jdt.core.problem", true, IResource.DEPTH_INFINITE); //$NON-NLS-1$
-				if (problems != null) {
-					for (int i = 0; i < problems.length; i++) {
-						problemAdded(problems[i]);
-					}
-				}				
-			}
-		};
-		
-		try {
-			ResourcesPlugin.getWorkspace().run(wr, null);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-		
-	/**
-	 * The given problem has been added. Cross
-	 * reference the problem with its location.
-	 * Enable the error breakpoint if the suspend
-	 * option is on, and this is the first problem
-	 * being added.
-	 */
-	protected void problemAdded(IMarker problem) {
-		if (problem.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) == IMarker.SEVERITY_ERROR) {
-			IResource res = problem.getResource();
-			IJavaElement cu = JavaCore.create(res);
-			if (cu != null && cu instanceof ICompilationUnit) {
-				// auto-enable the exception breakpoint if this is the first problem added
-				// and the preference is turned on.
-				boolean autoEnable = fProblemMap.isEmpty();
-				int line = problem.getAttribute(IMarker.LINE_NUMBER, -1);
-				String name = cu.getElementName();
-				Location l = new Location(cu.getParent().getElementName(), name, line);
-				fLocationMap.put(l, problem);
-				fProblemMap.put(problem, l);
-				if (autoEnable) {
-					try {
-						getSuspendOnCompilationErrorBreakpoint().setEnabled(isSuspendOnCompilationErrors());
-					} catch (CoreException e) {
-						JDIDebugUIPlugin.log(e);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * The given problem has been removed. Remove
-	 * cross reference of problem and location.
-	 * Disable the breakpoint if there are no errors.
-	 */
-	protected void problemRemoved(IMarker problem) {
-		Object location = fProblemMap.remove(problem);
-		if (location != null) {
-			fLocationMap.remove(location);
-		}
-		if (fProblemMap.isEmpty()) {
-			try {
-				getSuspendOnCompilationErrorBreakpoint().setEnabled(false);
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-	}
-				
-	/**
-	 * Notifies java debug targets of the given breakpoint
-	 * addition or removal.
-	 * 
-	 * @param breakpoint a breakpoint
-	 * @param kind ADDED, REMOVED, or CHANGED
-	 */
-	protected void notifyTargets(IBreakpoint breakpoint, int kind) {
-		IDebugTarget[] targets = DebugPlugin.getDefault().getLaunchManager().getDebugTargets();
-		for (int i = 0; i < targets.length; i++) {
-			if (targets[i] instanceof IJavaDebugTarget) {
-				IJavaDebugTarget target = (IJavaDebugTarget)targets[i];
-				notifyTarget(target, breakpoint, kind);
-			}
-		}	
-	}
-	
-	/**
-	 * Notifies the give debug target of filter specifications
-	 * 
-	 * @param target Java debug target
-	 */
-	protected void notifyTargetOfFilters(IJavaDebugTarget target) {
-
-		IPreferenceStore store = JDIDebugUIPlugin.getDefault().getPreferenceStore();
-		
-		target.setFilterConstructors(store.getBoolean(IJDIPreferencesConstants.PREF_FILTER_CONSTRUCTORS));
-		target.setFilterStaticInitializers(store.getBoolean(IJDIPreferencesConstants.PREF_FILTER_STATIC_INITIALIZERS));
-		target.setFilterSynthetics(store.getBoolean(IJDIPreferencesConstants.PREF_FILTER_SYNTHETICS));
-		target.setStepFilters(getActiveStepFilters());
-
-	}	
-	
-	/**
-	 * Notifies all targets of current filter specifications.
-	 */
-	protected void notifyTargetsOfFilters() {
-		IDebugTarget[] targets = DebugPlugin.getDefault().getLaunchManager().getDebugTargets();
-		for (int i = 0; i < targets.length; i++) {
-			if (targets[i] instanceof IJavaDebugTarget) {
-				IJavaDebugTarget target = (IJavaDebugTarget)targets[i];
-				notifyTargetOfFilters(target);
-			}
-		}	
-	}		
-
-	/**
-	 * Notifies the given target of the given breakpoint
-	 * addition or removal.
-	 * 
-	 * @param target Java debug target
-	 * @param breakpoint a breakpoint
-	 * @param kind ADDED, REMOVED, or CHANGED
-	 */	
-	protected void notifyTarget(IJavaDebugTarget target, IBreakpoint breakpoint, int kind) {
-		switch (kind) {
-			case ADDED:
-				target.breakpointAdded(breakpoint);
-				break;
-			case REMOVED:
-				target.breakpointRemoved(breakpoint,null);
-				break;
-			case CHANGED:
-				target.breakpointChanged(breakpoint,null);
-				break;
-		}
-	}
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IJDIPreferencesConstants.PREF_SUSPEND_ON_COMPILATION_ERRORS)) {
-			IBreakpoint breakpoint = getSuspendOnCompilationErrorBreakpoint();
-			if (breakpoint != null) {
-				setEnabled(breakpoint, JDIDebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_SUSPEND_ON_COMPILATION_ERRORS));
-			}
-		} else if (event.getProperty().equals(IJDIPreferencesConstants.PREF_SUSPEND_ON_UNCAUGHT_EXCEPTIONS)) {
-			IBreakpoint breakpoint = getSuspendOnUncaughtExceptionBreakpoint();
-			if (breakpoint != null) {
-				setEnabled(breakpoint, JDIDebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_SUSPEND_ON_UNCAUGHT_EXCEPTIONS));
-			}
-		} else if (isUseFilterProperty(event.getProperty())) {
-			notifyTargetsOfFilters();
-		} else if (isFilterListProperty(event.getProperty())) {
-			updateActiveFilters();
-		}
-	}
-	
-	/**
-	 * Returns whether the given property is a property that affects whether
-	 * or not step filters are used.
-	 */
-	private boolean isUseFilterProperty(String property) {
-		return property.equals(IJDIPreferencesConstants.PREF_FILTER_CONSTRUCTORS) ||
-			property.equals(IJDIPreferencesConstants.PREF_FILTER_STATIC_INITIALIZERS) ||
-			property.equals(IJDIPreferencesConstants.PREF_FILTER_SYNTHETICS);
-	}
-	
-	/**
-	 * Returns whether the given property is a property that affects
-	 * the list of active or inactive step filters.
-	 */
-	private boolean isFilterListProperty(String property) {
-		return property.equals(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST) ||
-			property.equals(IJDIPreferencesConstants.PREF_INACTIVE_FILTERS_LIST);
-	}
-	
-	/**
-	 * Enable/Disable the given breakpoint and notify
-	 * targets of the change.
-	 * 
-	 * @param breakpoint a breakpoint
-	 * @param enabled whether enabeld
-	 */ 
-	protected void setEnabled(IBreakpoint breakpoint, boolean enabled) {
-		try {
-			breakpoint.setEnabled(enabled);
-			notifyTargets(breakpoint, CHANGED);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}		
-	}
-	
-	/**
-	 * Returns whether suspend on compilation errors is
-	 * enabled.
-	 * 
-	 * @return whether suspend on compilation errors is
-	 * enabled
-	 */
-	protected boolean isSuspendOnCompilationErrors() {
-		return JDIDebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_SUSPEND_ON_COMPILATION_ERRORS);
-	}
-	
-	/**
-	 * Returns whether suspend on uncaught exception is
-	 * enabled
-	 * 
-	 * @return whether suspend on uncaught exception is
-	 * enabled
-	 */
-	protected boolean isSuspendOnUncaughtExceptions() {
-		return JDIDebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_SUSPEND_ON_UNCAUGHT_EXCEPTIONS);
-	}	
-
-
-	/**
-	 * Sets the breakpoint used to suspend on uncaught exceptions
-	 * 
-	 * @param breakpoint exception breakpoint
-	 */
-	private void setSuspendOnUncaughtExceptionBreakpoint(IJavaExceptionBreakpoint breakpoint) {
-		fSuspendOnExceptionBreakpoint = breakpoint;
-	}
-	
-	/**
-	 * Returns the breakpoint used to suspend on uncaught exceptions
-	 * 
-	 * @return exception breakpoint
-	 */
-	protected IJavaExceptionBreakpoint getSuspendOnUncaughtExceptionBreakpoint() {
-		return fSuspendOnExceptionBreakpoint;
-	}	
-	
-	/**
-	 * Sets the breakpoint used to suspend on compilation 
-	 * errors.
-	 * 
-	 * @param breakpoint exception breakpoint
-	 */
-	private void setSuspendOnCompilationErrorsBreakpoint(IJavaExceptionBreakpoint breakpoint) {
-		fSuspendOnErrorBreakpoint = breakpoint;
-	}
-	
-	/**
-	 * Returns the breakpoint used to suspend on compilation
-	 * errors
-	 * 
-	 * @return exception breakpoint
-	 */
-	protected IJavaExceptionBreakpoint getSuspendOnCompilationErrorBreakpoint() {
-		return fSuspendOnErrorBreakpoint;
-	}	
-	
-	/**
-	 * Parses the comma separated string into an array of strings
-	 * 
-	 * @return list
-	 */
-	public static String[] 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 (String[])list.toArray(new String[list.size()]);
-	}
-	
-	/**
-	 * Serializes the array of strings into one comma
-	 * separated string.
-	 * 
-	 * @param list array of strings
-	 * @return a single string composed of the given list
-	 */
-	public static String serializeList(String[] list) {
-		if (list == null) {
-			return ""; //$NON-NLS-1$
-		}
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < list.length; i++) {
-			if (i > 0) {
-				buffer.append(',');
-			}
-			buffer.append(list[i]);
-		}
-		return buffer.toString();
-	}
-	
-	/**
-	 * Returns the current list of active step filters.
-	 * 
-	 * @return current list of active step filters
-	 */
-	protected String[] getActiveStepFilters() {
-		if (fActiveStepFilters == null) {
-			fActiveStepFilters= parseList(JDIDebugUIPlugin.getDefault().getPreferenceStore().getString(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST));
-			// After active filters are cached, register to hear about future changes
-			JDIDebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		}
-		return fActiveStepFilters;
-	}
-	
-	/**
-	 * Updates local copy of active step filters and
-	 * notifies targets.
-	 */
-	protected void updateActiveFilters() {
-		fActiveStepFilters= parseList(JDIDebugUIPlugin.getDefault().getPreferenceStore().getString(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST));
-		notifyTargetsOfFilters();
-	}
-	
-	/**
-	 * When a Java debug target is created, install options in
-	 * the target and set that the Java debugger is active.
-	 * When all Java debug targets are terminated set that that Java debugger is
-	 * no longer active.
-	 * 
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.CREATE) {
-				Object source = event.getSource();
-				if (source instanceof IJavaDebugTarget) {
-					IJavaDebugTarget javaTarget = (IJavaDebugTarget)source;
-					
-					// compilation breakpoints				
-					notifyTarget(javaTarget, getSuspendOnCompilationErrorBreakpoint(), ADDED);
-					
-					// uncaught exception breakpoint
-					notifyTarget(javaTarget, getSuspendOnUncaughtExceptionBreakpoint(), ADDED);
-					
-					// step filters
-					notifyTargetOfFilters(javaTarget);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see IJavaBreakpointListener#addingBreakpoint(IJavaDebugTarget, IJavaBreakpoint)
-	 */
-	public void addingBreakpoint(IJavaDebugTarget target, IJavaBreakpoint breakpoint) {
-	}
-
-	/**
-	 * @see IJavaBreakpointListener#installingBreakpoint(IJavaDebugTarget, IJavaBreakpoint, IJavaType)
-	 */
-	public boolean installingBreakpoint(IJavaDebugTarget target, IJavaBreakpoint breakpoint, IJavaType type) {
-		return true;
-	}
-	
-	/**
-	 * @see IJavaBreakpointListener#breakpointHit(IJavaThread, IJavaBreakpoint)
-	 */
-	public boolean breakpointHit(IJavaThread thread, IJavaBreakpoint breakpoint) {
-		if (breakpoint == getSuspendOnCompilationErrorBreakpoint()) {
-			return  getProblem(thread) != null;
-		}
-		if (breakpoint == getSuspendOnUncaughtExceptionBreakpoint()) {
-			// the "uncaught" exceptions breakpoint subsumes the "compilation error" breakpoint
-			// since "Throwable" is a supertype of "Error". Thus, if there is actually a compilation
-			// error here, but the option to suspend on compilation errors is off, we should
-			// resume (i.e. do not suspend)
-			if (!isSuspendOnCompilationErrors()) {
-				// only suspend if there is no compilation error
-				return getProblem(thread) == null;
-			}
-		}
-		return true;
-	}
-	
-	private IMarker getProblem(IJavaThread thread) {
-		try {
-			IJavaStackFrame frame = (IJavaStackFrame)thread.getTopStackFrame();
-			if (frame != null) {
-				return  getProblem(frame);
-			}
-		} catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-		}	
-		return null;	
-	}
-
-	/**
-	 * @see IJavaBreakpointListener#breakpointInstalled(IJavaDebugTarget, IJavaBreakpoint)
-	 */
-	public void breakpointInstalled(IJavaDebugTarget target, IJavaBreakpoint breakpoint) {
-	}
-
-	/**
-	 * @see IJavaBreakpointListener#breakpointRemoved(IJavaDebugTarget, IJavaBreakpoint)
-	 */
-	public void breakpointRemoved(IJavaDebugTarget target, IJavaBreakpoint breakpoint) {
-	}
-	
-	/**
-	 * Returns any problem marker associated with the current location
-	 * of the given stack frame, or <code>null</code> if none.
-	 * 
-	 * @param frame stack frame
-	 * @return marker representing compilation problem, or <code>null</code>
-	 */
-	protected IMarker getProblem(IJavaStackFrame frame) {
-		try {
-			String name = frame.getSourceName();
-			String packageName = frame.getDeclaringTypeName();
-			int index = packageName.lastIndexOf('.');
-			if (index == -1) {
-				if (name == null) {
-					// guess at source name if no debug attribute
-					name = packageName;
-					int dollar = name.indexOf('$');
-					if (dollar >= 0) {
-						name = name.substring(0, dollar);
-					}
-					name+= ".java"; //$NON-NLS-1$
-				}
-				packageName = ""; //$NON-NLS-1$
-			} else {
-				if (name == null) {
-					name = packageName.substring(index + 1);
-					int dollar = name.indexOf('$');
-					if (dollar >= 0) {
-						name = name.substring(0, dollar);
-					}
-					name += ".java"; //$NON-NLS-1$
-				}
-				packageName = packageName.substring(0,index);
-			}
-			int line = frame.getLineNumber();
-			Location l = new Location(packageName, name, line);
-			return  (IMarker)fLocationMap.get(l);		
-		} catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		return null;
-	}	
-	
-	/**
-	 * @see IJavaConditionalBreakpointListener#breakpointHasRuntimeException(IJavaLineBreakpoint, Throwable)
-	 */
-	public void breakpointHasRuntimeException(final IJavaLineBreakpoint breakpoint, final DebugException exception) {
-		IStatus status;
-		Throwable wrappedException= exception.getStatus().getException();
-		if (wrappedException instanceof InvocationException) {
-			InvocationException ie= (InvocationException) wrappedException;
-			ObjectReference ref= ie.exception();		
-			status= new Status(IStatus.ERROR,JDIDebugUIPlugin.getUniqueIdentifier(), IStatus.ERROR, ref.referenceType().name(), null);
-		} else {
-			status= exception.getStatus();
-		}
-		openConditionErrorDialog(breakpoint, DebugUIMessages.getString("JavaDebugOptionsManager.Conditional_breakpoint_encountered_runtime_exception._1"), status); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see IJavaConditionalBreakpointListener#breakpointHasCompilationErrors(IJavaLineBreakpoint, Message[])
-	 */
-	public void breakpointHasCompilationErrors(final IJavaLineBreakpoint breakpoint, final Message[] errors) {
-		StringBuffer message= new StringBuffer();
-		Message error;
-		for (int i=0, numErrors= errors.length; i < numErrors; i++) {
-			error= errors[i];
-			message.append(error.getMessage());
-			message.append("\n "); //$NON-NLS-1$
-		}
-		IStatus status= new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), IStatus.ERROR, message.toString(), null);
-		openConditionErrorDialog(breakpoint, DebugUIMessages.getString("JavaDebugOptionsManager.Conditional_breakpoint_has_compilation_error(s)._2"), status); //$NON-NLS-1$
-	}
-	
-	private void openConditionErrorDialog(final IJavaLineBreakpoint breakpoint, final String errorMessage, final IStatus status) {
-		final Display display= JDIDebugUIPlugin.getStandardDisplay();
-		if (display.isDisposed()) {
-			return;
-		}
-		final String message= MessageFormat.format(errorMessage, new String[] {fLabelProvider.getText(breakpoint)});
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (display.isDisposed()) {
-					return;
-				}
-				Shell shell= JDIDebugUIPlugin.getActiveWorkbenchShell();
-				ConditionalBreakpointErrorDialog dialog= new ConditionalBreakpointErrorDialog(shell, message, status);
-				int result = dialog.open();
-				if (result == Dialog.OK) {
-					JavaBreakpointPropertiesDialog breakpointPropertiesDialog = new JavaBreakpointPropertiesDialog(shell, breakpoint);
-					breakpointPropertiesDialog.open();
-				}
-			}
-		});
-	}
-	
-	/**
-	 * Activates this debug options manager. When active, this
-	 * manager becomes a listener to many notifications and updates
-	 * running debug targets based on these notifications.
-	 * 
-	 * A debug options manager does not need to be activated until
-	 * there is a running debug target.
-	 */
-	private void activate() {
-		initializeProblemHandling();
-		notifyTargetsOfFilters();
-		DebugPlugin.getDefault().addDebugEventListener(this);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_AUTO_BUILD);
-		JDIDebugModel.addJavaBreakpointListener(this);
-	}	
-
-	/**
-	 * Startup problem handling on the first launch.
-	 * 
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		launchChanged(launch);
-	}
-	/**
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-		activate();
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);		
-	}
-
-	/**
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-	}
-	
-	/**
-	 * Adds message attributes to java breakpoints.
-	 * 
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
-	 */
-	public void breakpointsAdded(final IBreakpoint[] breakpoints) {
-		// if a breakpoint is added, but already has a message, do not update it
-		List update = new ArrayList();
-		for (int i = 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint = breakpoints[i];
-			try {
-				if (breakpoint instanceof IJavaBreakpoint && breakpoint.getMarker().getAttribute(IMarker.MESSAGE) == null) {
-					update.add(breakpoint);
-				}
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		if (!update.isEmpty()) {
-			updateBreakpointMessages((IBreakpoint[])update.toArray(new IBreakpoint[update.size()]));
-		}
-	}
-	
-	/**
-	 * Updates message attributes on the given java breakpoints.
-	 * 
-	 * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[])
-	 */
-	private void updateBreakpointMessages(final IBreakpoint[] breakpoints) {
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				for (int i = 0; i < breakpoints.length; i++) {
-					IBreakpoint breakpoint = breakpoints[i];
-					if (breakpoint instanceof IJavaBreakpoint) {
-						String info = fLabelProvider.getText(breakpoint);
-						String type = DebugUIMessages.getString("JavaDebugOptionsManager.Breakpoint___1"); //$NON-NLS-1$
-						if (breakpoint instanceof IJavaMethodBreakpoint || breakpoint instanceof IJavaMethodEntryBreakpoint) {
-							type = DebugUIMessages.getString("JavaDebugOptionsManager.Method_breakpoint___2"); //$NON-NLS-1$
-						} else if (breakpoint instanceof IJavaWatchpoint) {
-							type = DebugUIMessages.getString("JavaDebugOptionsManager.Watchpoint___3");  //$NON-NLS-1$
-						} else if (breakpoint instanceof IJavaLineBreakpoint) {
-							type = DebugUIMessages.getString("JavaDebugOptionsManager.Line_breakpoint___4"); //$NON-NLS-1$
-						}
-						breakpoint.getMarker().setAttribute(IMarker.MESSAGE, type + info);
-					}
-				}
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(runnable, null);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}	
-
-	/**
-	 * Updates message attributes on java breakpoints.
-	 * 
-	 * @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) {
-			updateBreakpointMessages(breakpoints);
-
-	}
-
-	/* (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) {
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugPreferencePage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugPreferencePage.java
deleted file mode 100644
index 8e10807..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDebugPreferencePage.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.launching.JavaRuntime;
-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.preference.StringFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Preference page for debug preferences that apply specifically to
- * Java Debugging.
- */
-public class JavaDebugPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IPropertyChangeListener {
-	
-	/**
-	 * This class exists to provide visibility to the
-	 * <code>refreshValidState</code> method and to perform more intelligent
-	 * clearing of the error message.
-	 */
-	protected class JavaDebugIntegerFieldEditor extends IntegerFieldEditor {						
-		
-		public JavaDebugIntegerFieldEditor(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();
-			}
-		}
-	}
-	
-	// Suspend preference widgets
-	private Button fSuspendButton;
-	private Button fSuspendOnCompilationErrors;
-	// Hot code replace preference widgets
-	private Button fAlertHCRButton;
-	private Button fAlertHCRNotSupportedButton;
-	private Button fAlertObsoleteButton;
-	private Button fPerformHCRWithCompilationErrors;
-	// Timeout preference widgets
-	private JavaDebugIntegerFieldEditor fTimeoutText;
-	private JavaDebugIntegerFieldEditor fConnectionTimeoutText;
-	
-	public JavaDebugPreferencePage() {
-		super();
-		setPreferenceStore(JDIDebugUIPlugin.getDefault().getPreferenceStore());
-		setDescription(DebugUIMessages.getString("JavaDebugPreferencePage.description")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.JAVA_DEBUG_PREFERENCE_PAGE);
-		
-		Font font = parent.getFont();
-		
-		//The main composite
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		composite.setLayout(layout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);		
-		composite.setFont(font);
-		
-		Composite comp= createGroupComposite(composite, 1, DebugUIMessages.getString("JavaDebugPreferencePage.Suspend_Execution_1")); //$NON-NLS-1$
-		fSuspendButton= createCheckButton(comp, DebugUIMessages.getString("JavaDebugPreferencePage.Suspend_&execution_on_uncaught_exceptions_1")); //$NON-NLS-1$
-		fSuspendOnCompilationErrors= createCheckButton(comp, DebugUIMessages.getString("JavaDebugPreferencePage.Suspend_execution_on_co&mpilation_errors_1")); //$NON-NLS-1$
-		
-		createSpacer(composite, 1);
-		
-		comp= createGroupComposite(composite, 1, DebugUIMessages.getString("JavaDebugPreferencePage.Hot_Code_Replace_2")); //$NON-NLS-1$
-		fAlertHCRButton= createCheckButton(comp, DebugUIMessages.getString("JavaDebugPreferencePage.Alert_me_when_hot_code_replace_fails_1")); //$NON-NLS-1$
-		fAlertHCRNotSupportedButton= createCheckButton(comp, DebugUIMessages.getString("JavaDebugPreferencePage.Alert_me_when_hot_code_replace_is_not_supported_1")); //$NON-NLS-1$
-		fAlertObsoleteButton= createCheckButton(comp, DebugUIMessages.getString("JavaDebugPreferencePage.Alert_me_when_obsolete_methods_remain_1")); //$NON-NLS-1$
-		fPerformHCRWithCompilationErrors= createCheckButton(comp, DebugUIMessages.getString("JavaDebugPreferencePage.Replace_classfiles_containing_compilation_errors_1")); //$NON-NLS-1$
-		
-		createSpacer(composite, 1);
-		
-		comp = createGroupComposite(composite, 1, DebugUIMessages.getString("JavaDebugPreferencePage.Communication_1")); //$NON-NLS-1$
-		//Add in an intermediate composite to allow for spacing
-		Composite spacingComposite = new Composite(comp, SWT.NONE);
-		layout = new GridLayout();
-		spacingComposite.setLayout(layout);
-		data = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		spacingComposite.setLayoutData(data);
-		spacingComposite.setFont(font);
-		
-		IPreferenceStore store= JDIDebugUIPlugin.getDefault().getPreferenceStore();
-		int minValue;
-		
-		fTimeoutText = new JavaDebugIntegerFieldEditor(JDIDebugModel.PREF_REQUEST_TIMEOUT, DebugUIMessages.getString("JavaDebugPreferencePage.Debugger_&timeout__2"), spacingComposite); //$NON-NLS-1$
-		fTimeoutText.setPreferenceStore(store);
-		fTimeoutText.setPreferencePage(this);
-		fTimeoutText.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		minValue= store.getDefaultInt(JDIDebugModel.PREF_REQUEST_TIMEOUT);
-		fTimeoutText.setValidRange(minValue, Integer.MAX_VALUE);
-		fTimeoutText.setErrorMessage(MessageFormat.format(DebugUIMessages.getString("JavaDebugPreferencePage.Value_must_be_a_valid_integer_greater_than_{0}_ms_1"), new Object[] {new Integer(minValue)})); //$NON-NLS-1$
-		fTimeoutText.load();
-		fTimeoutText.setPropertyChangeListener(this);
-		fConnectionTimeoutText = new JavaDebugIntegerFieldEditor(JavaRuntime.PREF_CONNECT_TIMEOUT, DebugUIMessages.getString("JavaDebugPreferencePage.&Launch_timeout_(ms)__1"), spacingComposite); //$NON-NLS-1$
-		fConnectionTimeoutText.setPreferenceStore(store);
-		fConnectionTimeoutText.setPreferencePage(this);
-		fConnectionTimeoutText.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		minValue= store.getDefaultInt(JavaRuntime.PREF_CONNECT_TIMEOUT);
-		fConnectionTimeoutText.setValidRange(minValue, Integer.MAX_VALUE);
-		fConnectionTimeoutText.setErrorMessage(MessageFormat.format(DebugUIMessages.getString("JavaDebugPreferencePage.Value_must_be_a_valid_integer_greater_than_{0}_ms_1"), new Object[] {new Integer(minValue)})); //$NON-NLS-1$
-		fConnectionTimeoutText.load();
-		fConnectionTimeoutText.setPropertyChangeListener(this);
-		// cannot set preference store, as it is a core preference
-		
-		setValues();
-		return composite;		
-	}
-		
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	/**
-	 * @see IPreferencePage#performOk()
-	 * Also, notifies interested listeners
-	 */
-	public boolean performOk() {
-		storeValues();
-		JDIDebugUIPlugin.getDefault().savePluginPreferences();
-		JDIDebugModel.savePreferences();
-		JavaRuntime.savePreferences();
-		return true;
-	}
-	
-	/**
-	 * Sets the default preferences.
-	 * @see PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		setDefaultValues();
-		super.performDefaults();	
-	}
-	
-	private void setDefaultValues() {
-		IPreferenceStore store = getPreferenceStore();		
-		fSuspendButton.setSelection(store.getBoolean(IJDIPreferencesConstants.PREF_SUSPEND_ON_UNCAUGHT_EXCEPTIONS));
-		fSuspendOnCompilationErrors.setSelection(store.getBoolean(IJDIPreferencesConstants.PREF_SUSPEND_ON_COMPILATION_ERRORS));
-		fAlertHCRButton.setSelection(store.getDefaultBoolean(IJDIPreferencesConstants.PREF_ALERT_HCR_FAILED));
-		fAlertHCRNotSupportedButton.setSelection(store.getDefaultBoolean(IJDIPreferencesConstants.PREF_ALERT_HCR_NOT_SUPPORTED));
-		fAlertObsoleteButton.setSelection(store.getDefaultBoolean(IJDIPreferencesConstants.PREF_ALERT_OBSOLETE_METHODS));
-		fPerformHCRWithCompilationErrors.setSelection(store.getDefaultBoolean(JDIDebugModel.PREF_HCR_WITH_COMPILATION_ERRORS));
-		fTimeoutText.setStringValue(new Integer(store.getDefaultInt(JDIDebugModel.PREF_REQUEST_TIMEOUT)).toString());
-		fConnectionTimeoutText.setStringValue(new Integer(store.getDefaultInt(JavaRuntime.PREF_CONNECT_TIMEOUT)).toString());
-	}
-	
-	/**
-	 * Creates a button with the given label and sets the default 
-	 * configuration data.
-	 */
-	private Button createCheckButton(Composite parent, String label) {
-		Button button= new Button(parent, SWT.CHECK | SWT.LEFT);
-		button.setText(label);		
-		// FieldEditor GridData
-		GridData data = new GridData();	
-		button.setLayoutData(data);
-		button.setFont(parent.getFont());
-		
-		return button;
-	}
-	
-	/**
-	 * Creates composite group and sets the default layout data.
-	 *
-	 * @param parent  the parent of the new composite
-	 * @param numColumns  the number of columns for the new composite
-	 * @param labelText  the text label of the new composite
-	 * @return the newly-created composite
-	 */
-	private Composite createGroupComposite(Composite parent, int numColumns, String labelText) {
-		Group comp = new Group(parent, SWT.NONE);
-		//GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		comp.setLayout(layout);
-		//GridData
-		GridData gd= new GridData();
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		comp.setLayoutData(gd);
-		comp.setText(labelText);
-		comp.setFont(parent.getFont());
-		return comp;
-	}
-		
-	/**
-	 * Set the values of the component widgets based on the
-	 * values in the preference store
-	 */
-	private void setValues() {
-		IPreferenceStore store = getPreferenceStore();
-		
-		fSuspendButton.setSelection(store.getBoolean(IJDIPreferencesConstants.PREF_SUSPEND_ON_UNCAUGHT_EXCEPTIONS));
-		fSuspendOnCompilationErrors.setSelection(store.getBoolean(IJDIPreferencesConstants.PREF_SUSPEND_ON_COMPILATION_ERRORS));
-		fAlertHCRButton.setSelection(store.getBoolean(IJDIPreferencesConstants.PREF_ALERT_HCR_FAILED));
-		fAlertHCRNotSupportedButton.setSelection(store.getBoolean(IJDIPreferencesConstants.PREF_ALERT_HCR_NOT_SUPPORTED));
-		fAlertObsoleteButton.setSelection(store.getBoolean(IJDIPreferencesConstants.PREF_ALERT_OBSOLETE_METHODS));
-		fPerformHCRWithCompilationErrors.setSelection(JDIDebugModel.getPreferences().getBoolean(JDIDebugModel.PREF_HCR_WITH_COMPILATION_ERRORS));
-		fTimeoutText.setStringValue(new Integer(JDIDebugModel.getPreferences().getInt(JDIDebugModel.PREF_REQUEST_TIMEOUT)).toString());
-		fConnectionTimeoutText.setStringValue(new Integer(JavaRuntime.getPreferences().getInt(JavaRuntime.PREF_CONNECT_TIMEOUT)).toString());
-	}
-	
-	/**
-	 * Store the preference values based on the state of the
-	 * component widgets
-	 */
-	private void storeValues() {
-		IPreferenceStore store = getPreferenceStore();
-		store.setValue(IJDIPreferencesConstants.PREF_SUSPEND_ON_UNCAUGHT_EXCEPTIONS, fSuspendButton.getSelection());
-		store.setValue(IJDIPreferencesConstants.PREF_SUSPEND_ON_COMPILATION_ERRORS, fSuspendOnCompilationErrors.getSelection());
-		store.setValue(IJDIPreferencesConstants.PREF_ALERT_HCR_FAILED, fAlertHCRButton.getSelection());
-		store.setValue(IJDIPreferencesConstants.PREF_ALERT_HCR_NOT_SUPPORTED, fAlertHCRNotSupportedButton.getSelection());
-		store.setValue(IJDIPreferencesConstants.PREF_ALERT_OBSOLETE_METHODS, fAlertObsoleteButton.getSelection());
-		JDIDebugModel.getPreferences().setValue(JDIDebugModel.PREF_HCR_WITH_COMPILATION_ERRORS, fPerformHCRWithCompilationErrors.getSelection());
-		JDIDebugModel.getPreferences().setValue(JDIDebugModel.PREF_REQUEST_TIMEOUT, fTimeoutText.getIntValue());
-		JavaRuntime.getPreferences().setValue(JavaRuntime.PREF_CONNECT_TIMEOUT, fConnectionTimeoutText.getIntValue());
-	}
-	
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-
-	/**
-	 * @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 (fTimeoutText != null && event.getSource() != fTimeoutText) {
-					fTimeoutText.refreshValidState();
-				} 
-				if (fConnectionTimeoutText != null && event.getSource() != fConnectionTimeoutText) {
-					fConnectionTimeoutText.refreshValidState();
-				}
-			} 
-			setValid(fTimeoutText.isValid() && fConnectionTimeoutText.isValid());
-			getContainer().updateButtons();
-			updateApplyButton();
-		}
-	}
-
-	protected boolean canClearErrorMessage() {
-		if (fTimeoutText.isValid() && fConnectionTimeoutText.isValid()) {
-			return true;
-		}
-		return false;
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersManager.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersManager.java
deleted file mode 100644
index 2b669a5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersManager.java
+++ /dev/null
@@ -1,510 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-import java.text.MessageFormat;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchesListener;
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.debug.core.IEvaluationRunnable;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaArrayType;
-import org.eclipse.jdt.debug.core.IJavaClassType;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaPrimitiveValue;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.eval.IAstEvaluationEngine;
-import org.eclipse.jdt.debug.eval.ICompiledExpression;
-import org.eclipse.jdt.debug.eval.IEvaluationListener;
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import com.sun.jdi.InvocationException;
-
-public class JavaDetailFormattersManager implements IPropertyChangeListener, IDebugEventSetListener, ILaunchesListener {
-	/**
-	 * The default detail formatters manager.
-	 */
-	static private JavaDetailFormattersManager fgDefault;
-	
-	/**
-	 * Return the default detail formatters manager.
-	 * 
-	 * @return default detail formatters manager.
-	 */
-	static public JavaDetailFormattersManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault= new JavaDetailFormattersManager();
-		}
-		return fgDefault;
-	}
-
-	/**
-	 * Map of types to the associated formatter (code snippet).
-	 * (<code>String</code> -> <code>String</code>)
-	 */
-	private HashMap fDetailFormattersMap;
-	
-	/**
-	 * Cache of compiled expressions.
-	 * Associate a pair type name/debug target to a compiled expression.
-	 */
-	private HashMap fCacheMap;
-	
-	/**
-	 * JavaDetailFormattersManager constructor.
-	 */
-	private JavaDetailFormattersManager() {
-		populateDetailFormattersMap();
-		JDIDebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-		fCacheMap= new HashMap();
-	}
-	
-	/**
-	 * Populate the detail formatters map with data from preferences.
-	 */
-	private void populateDetailFormattersMap() {
-		String[] detailFormattersList= JavaDebugOptionsManager.parseList(JDIDebugUIPlugin.getDefault().getPreferenceStore().getString(IJDIPreferencesConstants.PREF_DETAIL_FORMATTERS_LIST));
-		fDetailFormattersMap= new HashMap(detailFormattersList.length / 3);
-		for (int i= 0, length= detailFormattersList.length; i < length;) {
-			String typeName= detailFormattersList[i++];
-			String snippet= detailFormattersList[i++].replace('\u0000', ',');
-			boolean enabled= ! JavaDetailFormattersPreferencePage.DETAIL_FORMATTER_IS_DISABLED.equals(detailFormattersList[i++]);
-			fDetailFormattersMap.put(typeName, new DetailFormatter(typeName, snippet, enabled));
-		}
-	}
-
-	/**
-	 * Compute asynchronously the 'toString' of the given value. If a formatter is associated to
-	 * the type of the given value, this formatter is used instead of the <code>toString()</code>
-	 * method.
-	 * The result is return through the listener.
-	 * 
-	 * @param objectValue the value to 'format' 
-	 * @param thread the thread to use to performed the evaluation
-	 * @param listener the listener
-	 */	
-	public void computeValueDetail(final IJavaValue objectValue, final IJavaThread thread, final IValueDetailListener listener) {
-		Runnable postEventDispatch = new Runnable() {
-			public void run() {
-				Runnable postEventProcess = new Runnable() {
-					public void run() {
-						thread.queueRunnable(new Runnable() {
-							public void run() {
-								resolveFormatter(objectValue, thread, listener);
-							}
-						});
-					}
-				};
-				JDIDebugUIPlugin.getStandardDisplay().asyncExec(postEventProcess);
-			}
-		};
-		DebugPlugin.getDefault().asyncExec(postEventDispatch);
-	}
-	
-	private void resolveFormatter(final IJavaValue value, final IJavaThread thread, final IValueDetailListener listener) {
-		ICompiledExpression compiledExpression= null;
-		EvaluationListener evaluationListener= new EvaluationListener(value, thread, listener);
-		if (value instanceof IJavaObject && !(value instanceof IJavaArray)) {
-			IJavaObject objectValue= (IJavaObject) value;
-			IJavaProject project= getJavaProject(thread);
-			if (project != null) {
-				// get the evaluation engine
-				JDIDebugTarget debugTarget= (JDIDebugTarget) thread.getDebugTarget();
-				IAstEvaluationEngine evaluationEngine= JDIDebugUIPlugin.getDefault().getEvaluationEngine(project, debugTarget);
-				// get the compiled expression to use
-				try {
-					compiledExpression= getCompiledExpression(objectValue, debugTarget, evaluationEngine);
-					if (compiledExpression != null) {
-						evaluationEngine.evaluateExpression(compiledExpression, objectValue, thread, evaluationListener, DebugEvent.EVALUATION_IMPLICIT, false);
-						return;
-					}
-				} catch (DebugException e) {
-					DebugUIPlugin.log(e);
-					return;
-				}
-			}
-		}
-		try {
-			evaluationListener.valueToString(value);
-		} catch (DebugException e) {
-			listener.detailComputed(value, e.getStatus().getMessage());
-		}
-	}
-	
-	private IJavaProject getJavaProject(IJavaThread thread) {
-		ILaunch launch= thread.getLaunch();
-		if (launch == null) {
-			return null;
-		}
-		ISourceLocator locator= launch.getSourceLocator();
-		if (locator == null)
-			return null;
-
-		Object sourceElement;
-		try {
-			IStackFrame frame = thread.getTopStackFrame();
-			if (frame == null)
-				return null;
-			sourceElement= locator.getSourceElement(frame);
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-			return null;
-		}
-		if (sourceElement instanceof IJavaElement) {
-			return ((IJavaElement) sourceElement).getJavaProject();
-		}
-		// if no source element, try the project associated with the launch - bug 27837
-		ILaunchConfiguration configuration = launch.getLaunchConfiguration();
-		if (configuration != null) {
-			try {
-				return JavaRuntime.getJavaProject(configuration);
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		return null;
-	}
-
-
-
-	public boolean hasAssociatedDetailFormatter(IJavaType type) {
-		return getAssociatedDetailFormatter(type) != null;
-	}
-	
-	public DetailFormatter getAssociatedDetailFormatter(IJavaType type) {
-		String typeName;
-		try {
-			while (type instanceof IJavaArrayType) {
-				type= ((IJavaArrayType)type).getComponentType();
-			}
-			if (type instanceof IJavaClassType) {
-				typeName= type.getName();
-			} else {
-				return null;
-			}
-		} catch (DebugException e) {
-			return null;
-		}
-		return (DetailFormatter)fDetailFormattersMap.get(typeName);
-	}
-	
-	public void setAssociatedDetailFormatter(DetailFormatter detailFormatter) {
-		fDetailFormattersMap.put(detailFormatter.getTypeName(), detailFormatter);
-		savePreference();
-	}
-
-
-	private void savePreference() {
-		Collection valuesList= fDetailFormattersMap.values();
-		String[] values= new String[valuesList.size() * 3];
-		int i= 0;
-		for (Iterator iter= valuesList.iterator(); iter.hasNext();) {
-			DetailFormatter detailFormatter= (DetailFormatter) iter.next();
-			values[i++]= detailFormatter.getTypeName();
-			values[i++]= detailFormatter.getSnippet().replace(',','\u0000');
-			values[i++]= detailFormatter.isEnabled() ? JavaDetailFormattersPreferencePage.DETAIL_FORMATTER_IS_ENABLED : JavaDetailFormattersPreferencePage.DETAIL_FORMATTER_IS_DISABLED;
-		}
-		String pref = JavaDebugOptionsManager.serializeList(values);
-		JDIDebugUIPlugin.getDefault().getPreferenceStore().setValue(IJDIPreferencesConstants.PREF_DETAIL_FORMATTERS_LIST, pref);
-		JDIDebugUIPlugin.getDefault().savePluginPreferences();
-	}
-	/**
-	 * Return the detail formatter (code snippet) associate with
-	 * the given type or one of its super type.
-	 */
-	private String getDetailFormatter(IJavaClassType type) throws DebugException {
-		if (type == null) {
-			return null;
-		}
-		String typeName= type.getName();
-		if (fDetailFormattersMap.containsKey(typeName)) {
-			DetailFormatter detailFormatter= (DetailFormatter)fDetailFormattersMap.get(typeName);
-			if (detailFormatter.isEnabled()) {
-				return detailFormatter.getSnippet();
-			}
-		}
-		return getDetailFormatter(type.getSuperclass());
-	}
-
-	/**
-	 * Return the compiled expression which corresponds to the code formatter associated
-	 * with the type of the given object.
-	 * The code snippet is compiled in the context of the given object.
-	 */
-	private ICompiledExpression getCompiledExpression(IJavaObject javaObject, JDIDebugTarget debugTarget, IAstEvaluationEngine evaluationEngine) throws DebugException {
-		IJavaClassType type= (IJavaClassType)javaObject.getJavaType();
-		String typeName= type.getName();
-		Key key= new Key(typeName, debugTarget);
-		if (fCacheMap.containsKey(key)) {
-			return (ICompiledExpression) fCacheMap.get(key);
-		} else {
-			String snippet= getDetailFormatter(type);
-			if (snippet != null) {
-				ICompiledExpression res= evaluationEngine.getCompiledExpression(snippet, javaObject);
-				fCacheMap.put(key, res);
-				return res;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IJDIPreferencesConstants.PREF_DETAIL_FORMATTERS_LIST)) {
-			populateDetailFormattersMap();
-			fCacheMap.clear();
-		}
-	}
-	/**
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getSource() instanceof JDIDebugTarget && event.getKind() == DebugEvent.TERMINATE) {
-				deleteCacheForTarget((JDIDebugTarget) event.getSource());
-			}	
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(ILaunch[])
-	 */
-	public void launchesAdded(ILaunch[] launches) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(ILaunch[])
-	 */
-	public void launchesChanged(ILaunch[] launches) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(ILaunch[])
-	 */
-	public void launchesRemoved(ILaunch[] launches) {
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			IDebugTarget[] debugTargets= launch.getDebugTargets();
-			for (int j = 0; j < debugTargets.length; j++) {
-				if (debugTargets[j] instanceof JDIDebugTarget) {
-					deleteCacheForTarget((JDIDebugTarget)debugTargets[j]);		
-				}
-			}
-		}
-	}
-
-	/**
-	 * Remove from the cache compiled expression associated with
-	 * the given debug target.
-	 * 
-	 * @param debugTarget 
-	 */
-	private synchronized void deleteCacheForTarget(JDIDebugTarget debugTarget) {
-		for (Iterator iter= fCacheMap.keySet().iterator(); iter.hasNext();) {
-			Key key= (Key) iter.next();
-			if ((key).fDebugTarget == debugTarget) {
-				iter.remove();
-			}
-		}
-	}
-
-	/**
-	 * Object used as the key in the cache map for associate a compiled
-	 * expression with a pair type name/debug target
-	 */
-	static private class Key {
-		private String fTypeName;
-		private JDIDebugTarget fDebugTarget;
-		
-		Key(String typeName, JDIDebugTarget debugTarget) {
-			fTypeName= typeName;
-			fDebugTarget= debugTarget;
-		}
-		
-		public boolean equals(Object obj) {
-			if (obj instanceof Key) {
-				Key key= (Key) obj;
-				return fTypeName != null && fDebugTarget != null && fTypeName.equals(key.fTypeName) && fDebugTarget.equals(key.fDebugTarget);
-			} else {
-				return false;
-			}
-		}
-
-		public int hashCode() {
-			return fTypeName.hashCode() / 2 + fDebugTarget.hashCode() / 2;
-		}
-	}
-	
-	/**
-	 * Listener use to manage the result of the formatter.
-	 * Utilise the 'standart' pretty printer methods to return the result.
-	 */
-	static private class EvaluationListener implements IEvaluationListener {
-
-		/**
-		 * The selector of <code>java.lang.Object#toString()</code>,
-		 * used to evaluate 'toString()' for displaying details of values.
-		 */
-		private static final String fgToString= "toString"; //$NON-NLS-1$
-
-
-		/**
-		 * The signature of <code>java.lang.Object#toString()</code>,
-		 * used to evaluate 'toString()' for displaying details of values.
-		 */
-		private static final String fgToStringSignature= "()Ljava/lang/String;"; //$NON-NLS-1$
-			
-		private IJavaValue fValue;
-		
-		private IValueDetailListener fListener;
-		
-		private IJavaThread fThread;
-		
-		public EvaluationListener(IJavaValue value, IJavaThread thread, IValueDetailListener listener) {
-			fValue= value;
-			fThread= thread;
-			fListener= listener;
-		}
-
-		public void evaluationComplete(IEvaluationResult result) {
-			if (result.hasErrors()) {
-				StringBuffer error= new StringBuffer(DebugUIMessages.getString("JavaDetailFormattersManager.Detail_formatter_error___1")); //$NON-NLS-1$
-				DebugException exception= result.getException();
-				if (exception != null) {
-					Throwable throwable= exception.getStatus().getException();
-					error.append("\n\t\t"); //$NON-NLS-1$
-					if (throwable instanceof InvocationException) {
-						error.append(MessageFormat.format(DebugUIMessages.getString("JavaDetailFormattersManager.An_exception_occurred__{0}_3"), new String[] {((InvocationException) throwable).exception().referenceType().name()})); //$NON-NLS-1$
-					} else {
-						error.append(exception.getStatus().getMessage());
-					}
-				} else {
-					String[] errors= result.getErrorMessages();
-					for (int i= 0, length= errors.length; i < length; i++) {
-						error.append("\n\t\t").append(errors[i]); //$NON-NLS-1$
-					}
-				}
-				fListener.detailComputed(fValue, error.toString());
-			} else {
-				try {
-					valueToString(result.getValue());
-				} catch (DebugException e) {
-					fListener.detailComputed(fValue, e.getStatus().getMessage());
-				}
-			}
-		}
-		
-		public void valueToString(final IJavaValue objectValue) throws DebugException {
-			IEvaluationRunnable eval = new IEvaluationRunnable() {
-				public void run(IJavaThread thread, IProgressMonitor monitor) throws DebugException {
-					StringBuffer result= new StringBuffer();
-					if (objectValue.getSignature() == null) {
-						// no need to spawn a thread for a null fValue
-						result.append(DebugUIMessages.getString("JavaDetailFormattersManager.null")); //$NON-NLS-1$
-					} else if (objectValue instanceof IJavaPrimitiveValue) {
-						// no need to spawn a thread for a primitive value
-						appendJDIPrimitiveValueString(result, objectValue);
-					} else if (fThread == null || !fThread.isSuspended()) {
-						// no thread available
-						result.append(DebugUIMessages.getString("JavaDetailFormattersManager.no_suspended_threads")); //$NON-NLS-1$
-						appendJDIValueString(result, objectValue);
-					} else if (objectValue instanceof IJavaArray) {
-						appendArrayDetail(result, (IJavaArray) objectValue);
-					} else if (objectValue instanceof IJavaObject) {
-						appendObjectDetail(result, (IJavaObject) objectValue);
-					} else {
-						appendJDIValueString(result, objectValue);
-					}
-					fListener.detailComputed(fValue, result.toString());
-				}
-			};
-			fThread.runEvaluation(eval, null, DebugEvent.EVALUATION_IMPLICIT, false);
-		}
-		
-		protected void appendArrayDetail(StringBuffer result, IJavaArray arrayValue) throws DebugException {
-			result.append('[');
-			IJavaValue[] arrayValues;
-			try {
-				arrayValues= arrayValue.getValues();
-			} catch (DebugException de) {
-				JDIDebugUIPlugin.log(de);
-				result.append(de.getStatus().getMessage());
-				return;
-			}
-			for (int i= 0; i < arrayValues.length; i++) {
-				IJavaValue value= arrayValues[i];
-				if (value instanceof IJavaArray) {
-					appendArrayDetail(result, (IJavaArray) value);
-				} else if (value instanceof IJavaObject) {
-					appendObjectDetail(result, (IJavaObject) value);
-				} else {
-					appendJDIValueString(result, value);
-				}
-				if (i < arrayValues.length - 1) {
-					result.append(',');
-					result.append(' ');
-				}
-			}
-			result.append(']');
-		}
-
-		protected void appendJDIPrimitiveValueString(StringBuffer result, IJavaValue value) throws DebugException {
-			result.append(value.getValueString());
-		}
-
-
-		protected void appendJDIValueString(StringBuffer result, IJavaValue value) throws DebugException {
-			result.append(value.getValueString());
-		}
-
-
-		protected void appendObjectDetail(StringBuffer result, IJavaObject objectValue) throws DebugException {
-			IJavaValue toStringValue= objectValue.sendMessage(EvaluationListener.fgToString, EvaluationListener.fgToStringSignature, null, fThread, false);
-			if (toStringValue == null) {
-				result.append(DebugUIMessages.getString("JavaDetailFormattersManager.<unknown>")); //$NON-NLS-1$
-			} else {
-				appendJDIValueString(result, toStringValue);
-			}
-		}
-
-
-	
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersPreferencePage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersPreferencePage.java
deleted file mode 100644
index e0a9d32..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaDetailFormattersPreferencePage.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-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.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-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.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.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class JavaDetailFormattersPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	
-	static public final String DETAIL_FORMATTER_IS_ENABLED= "1"; //$NON-NLS-1$
-	static public final String DETAIL_FORMATTER_IS_DISABLED= "0"; //$NON-NLS-1$
-	
-	private CheckboxTableViewer fFormatterListViewer;
-	private Button fAddFormatterButton;
-	private Button fRemoveFormatterButton;
-	private Button fEditFormatterButton;
-	private SourceViewer fCodeViewer;
-	private Label fTableLabel;
-	
-	private FormatterListViewerContentProvider fFormatViewerContentProvider;
-	
-	public JavaDetailFormattersPreferencePage() {
-		super();
-		setPreferenceStore(JDIDebugUIPlugin.getDefault().getPreferenceStore());
-		setDescription(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.Override_default___toString()___for_Variables_and_Expressions_view_details._1")); //$NON-NLS-1$
-	}
-
-	protected Control createContents(Composite parent) {
-		noDefaultAndApplyButton();
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.JAVA_DETAIL_FORMATTER_PREFERENCE_PAGE);
-		return createDetailFormatsPreferences(parent);	
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	/**
-	 * Create a group to contain the detail formatters related widgetry
-	 */
-	private Control createDetailFormatsPreferences(Composite parent) {
-		Font font = parent.getFont();
-		initializeDialogUnits(parent);
-		
-		// top level container
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		container.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		container.setLayoutData(gd);
-		container.setFont(font);
-		
-		//table label
-		fTableLabel= new Label(container, SWT.NONE);
-		fTableLabel.setText(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.&Types_with_detail_formatters__2")); //$NON-NLS-1$
-		gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fTableLabel.setLayoutData(gd);
-		fTableLabel.setFont(font);
-
-		fFormatterListViewer= CheckboxTableViewer.newCheckList(container, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		Table table = (Table)fFormatterListViewer.getControl();
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint= convertHeightInCharsToPixels(10);
-		gd.widthHint= convertWidthInCharsToPixels(10);
-		table.setLayoutData(gd);
-		table.setFont(font);
-		fFormatViewerContentProvider= new FormatterListViewerContentProvider(fFormatterListViewer);
-		fFormatterListViewer.setContentProvider(fFormatViewerContentProvider);
-		fFormatterListViewer.setLabelProvider(new LabelProvider() {
-			public String getText(Object element) {
-				if (element instanceof DetailFormatter) {
-					return ((DetailFormatter)element).getTypeName();
-				}
-				return null;
-			}
-		});
-		fFormatterListViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				((DetailFormatter)event.getElement()).setEnabled(event.getChecked());
-			}
-		});
-		fFormatterListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updatePage((IStructuredSelection)event.getSelection());
-			}
-		});
-		fFormatterListViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				editType();
-			}
-		}); 
-		table.addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				if (event.character == SWT.DEL && event.stateMask == 0) {
-					removeTypes();
-				}
-			}
-		});	
-		fFormatterListViewer.setInput(this);
-
-		createDetailFormatsButtons(container);
-
-		Label label = new Label(container, SWT.NONE);
-		label.setText(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.Detail_formatter_code_snippet_defined_for_selected_type__3")); //$NON-NLS-1$
-		label.setFont(font);
-		createSourceViewer(container);
-		
-		fFormatViewerContentProvider.refreshViewer();
-		return container;
-	}
-	
-
-	private void createDetailFormatsButtons(Composite container) {
-		Font font = container.getFont();
-		
-		// button container
-		Composite buttonContainer = new Composite(container, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_VERTICAL);
-		buttonContainer.setLayoutData(gd);
-		GridLayout buttonLayout = new GridLayout();
-		buttonLayout.numColumns = 1;
-		buttonLayout.marginHeight = 0;
-		buttonLayout.marginWidth = 0;
-		buttonContainer.setLayout(buttonLayout);
-		
-		// Add type button
-		fAddFormatterButton = new Button(buttonContainer, SWT.PUSH);
-		fAddFormatterButton.setText(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.Add_&Formatter..._5")); //$NON-NLS-1$
-		fAddFormatterButton.setToolTipText(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.Allow_you_to_create_a_new_detail_formatter_6")); //$NON-NLS-1$
-		fAddFormatterButton.setLayoutData(gd);
-		fAddFormatterButton.setFont(font);
-		setButtonLayoutData(fAddFormatterButton);
-		fAddFormatterButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				addType();
-			}
-		});
-		
-		// Remove button
-		fRemoveFormatterButton = new Button(buttonContainer, SWT.PUSH);
-		fRemoveFormatterButton.setText(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.&Remove_7")); //$NON-NLS-1$
-		fRemoveFormatterButton.setToolTipText(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.Remove_all_selected_detail_formatters_8")); //$NON-NLS-1$
-		fRemoveFormatterButton.setFont(font);
-		setButtonLayoutData(fRemoveFormatterButton);
-		fRemoveFormatterButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				removeTypes();
-			}
-		});
-		fRemoveFormatterButton.setEnabled(false);
-		
-		// Edit button
-		fEditFormatterButton = new Button(buttonContainer, SWT.PUSH);
-		fEditFormatterButton.setText(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.&Edit..._9")); //$NON-NLS-1$
-		fEditFormatterButton.setToolTipText(DebugUIMessages.getString("JavaDetailFormattersPreferencePage.Edit_the_selected_detail_formatter_10")); //$NON-NLS-1$
-		fEditFormatterButton.setFont(font);
-		setButtonLayoutData(fEditFormatterButton);
-		fEditFormatterButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				editType();
-			}
-		});
-		fEditFormatterButton.setEnabled(false);
-		
-	}
-	
-	public void createSourceViewer(Composite container) {
-		fCodeViewer= new SourceViewer(container,  null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-
-		JavaTextTools tools= JavaPlugin.getDefault().getJavaTextTools();
-		IDocument document= new Document();
-		IDocumentPartitioner partitioner= tools.createDocumentPartitioner();
-		document.setDocumentPartitioner(partitioner);
-		partitioner.connect(document);		
-		fCodeViewer.configure(new JavaSourceViewerConfiguration(tools, null));
-		fCodeViewer.setEditable(false);
-		fCodeViewer.setDocument(document);
-		fCodeViewer.getTextWidget().setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-	
-		fCodeViewer.getTextWidget().setFont(JFaceResources.getTextFont());
-		
-		Control control= fCodeViewer.getControl();
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-        gd.horizontalSpan= 2;
-		gd.heightHint= convertHeightInCharsToPixels(10);
-		control.setLayoutData(gd);
-	}
-
-	private void updatePage(IStructuredSelection selection) {
-		fRemoveFormatterButton.setEnabled(!selection.isEmpty());
-		fEditFormatterButton.setEnabled(selection.size() == 1);
-		updateFormatViewer(selection);
-	}
-
-	private void updateFormatViewer(IStructuredSelection selection) {
-		if (selection.size() == 1) {
-			fCodeViewer.getDocument().set(((DetailFormatter)selection.getFirstElement()).getSnippet());
-		} else {
-			fCodeViewer.getDocument().set(""); //$NON-NLS-1$
-		}
-	}
-
-	public void addType() {
-		DetailFormatter detailFormat= new DetailFormatter("", "", true); //$NON-NLS-1$ //$NON-NLS-2$
-		if (new DetailFormatterDialog(getShell(), detailFormat, fFormatViewerContentProvider.getDefinedTypes(), false).open() == Window.OK) {
-			fFormatViewerContentProvider.addDetailFormatter(detailFormat);
-		}
-	}
-	
-	public void removeTypes() {
-		Object[] all = fFormatViewerContentProvider.getElements(null);
-		IStructuredSelection selection= (IStructuredSelection)fFormatterListViewer.getSelection();
-		Object first = selection.getFirstElement();
-		int index = -1;
-		for (int i = 0; i < all.length; i++) {
-			Object object = all[i];
-			if (object.equals(first)) {
-				index = i;
-				break;
-			}
-		}
-		fFormatViewerContentProvider.removeDetailFormatters(selection.toArray());
-		all = fFormatViewerContentProvider.getElements(null);
-		if (index > all.length - 1) {
-			index = all.length - 1;
-		}
-		if (index >= 0) {
-			fFormatterListViewer.setSelection(new StructuredSelection(all[index]));
-		}
-	}
-	
-	public void editType() {
-		IStructuredSelection selection= (IStructuredSelection)fFormatterListViewer.getSelection();
-		if (new DetailFormatterDialog(getShell(), (DetailFormatter)(selection).getFirstElement(), null, true, true).open() == Window.OK) {
-			fFormatterListViewer.refresh();
-			fFormatViewerContentProvider.refreshViewer();
-			updatePage(selection);
-		}
-	}
-	
-	public boolean performOk() {
-		fFormatViewerContentProvider.saveDetailFormatters();
-		JDIDebugUIPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-	
-	class FormatterListViewerContentProvider implements IStructuredContentProvider {
-		
-		private Set fDetailFormattersSet;
-		
-		private List fDefinedTypes;
-		
-		private CheckboxTableViewer fViewer;
-		
-		/**
-		 * FormatterListViewerContentProvider constructor.
-		 */
-		public FormatterListViewerContentProvider(CheckboxTableViewer viewer) {
-			fViewer= viewer;
-			// load the current formatters
-			String[] detailFormattersList= JavaDebugOptionsManager.parseList(JDIDebugUIPlugin.getDefault().getPreferenceStore().getString(IJDIPreferencesConstants.PREF_DETAIL_FORMATTERS_LIST));
-			fDetailFormattersSet= new TreeSet();
-			fDefinedTypes= new ArrayList(detailFormattersList.length / 3);
-			for (int i= 0, length= detailFormattersList.length; i < length;) {
-				String typeName= detailFormattersList[i++];
-				String snippet= detailFormattersList[i++].replace('\u0000', ',');
-				boolean enabled= ! DETAIL_FORMATTER_IS_DISABLED.equals(detailFormattersList[i++]);
-				DetailFormatter detailFormatter= new DetailFormatter(typeName, snippet, enabled);
-				fDetailFormattersSet.add(detailFormatter);
-				fDefinedTypes.add(typeName);
-			}
-		}
-		
-		/**
-		 * Save the detail formatter list.
-		 */
-		public void saveDetailFormatters() {
-			String[] values= new String[fDetailFormattersSet.size() * 3];
-			int i= 0;
-			for (Iterator iter= fDetailFormattersSet.iterator(); iter.hasNext();) {
-				DetailFormatter detailFormatter= (DetailFormatter) iter.next();
-				values[i++]= detailFormatter.getTypeName();
-				values[i++]= detailFormatter.getSnippet().replace(',','\u0000');
-				values[i++]= detailFormatter.isEnabled() ? DETAIL_FORMATTER_IS_ENABLED : DETAIL_FORMATTER_IS_DISABLED;
-			}
-			String pref = JavaDebugOptionsManager.serializeList(values);
-			getPreferenceStore().setValue(IJDIPreferencesConstants.PREF_DETAIL_FORMATTERS_LIST, pref);
-			
-		}
-		
-		/**
-		 * Add a detail formatter.
-		 */
-		public void addDetailFormatter(DetailFormatter detailFormatter) {
-			fDetailFormattersSet.add(detailFormatter);
-			fDefinedTypes.add(detailFormatter.getTypeName());
-			fViewer.refresh();
-			refreshViewer();
-			IStructuredSelection selection= new StructuredSelection(detailFormatter);
-			fViewer.setSelection(selection);
-			updatePage(selection);
-		}
-		
-		/**
-		 * Remove a detailFormatter
-		 */
-		public void removeDetailFormatter(DetailFormatter detailFormatter) {
-			fDetailFormattersSet.remove(detailFormatter);
-			fDefinedTypes.remove(detailFormatter.getTypeName());
-			fViewer.refresh();
-			IStructuredSelection selection= new StructuredSelection();
-			fViewer.setSelection(selection);
-			updatePage(selection);
-		}
-		
-		/**
-		 * Remove detailFormatters
-		 */
-		public void removeDetailFormatters(Object[] detailFormatters) {
-			for (int i= 0, length= detailFormatters.length; i < length; i++) {
-				fDetailFormattersSet.remove(detailFormatters[i]);
-				fDefinedTypes.remove(((DetailFormatter)detailFormatters[i]).getTypeName());
-			}
-			fViewer.refresh();
-			IStructuredSelection selection= new StructuredSelection();
-			fViewer.setSelection(selection);
-			updatePage(selection);
-		}
-		
-		/**
-		 * Refresh the formatter list viewer. 
-		 */
-		private void refreshViewer() {
-			DetailFormatter[] checkedElementsTmp= new DetailFormatter[fDetailFormattersSet.size()];
-			int i= 0;
-			for (Iterator iter= fDetailFormattersSet.iterator(); iter.hasNext();) {
-				DetailFormatter detailFormatter= (DetailFormatter) iter.next();
-				if (detailFormatter.isEnabled()) {
-					checkedElementsTmp[i++]= detailFormatter;
-				}
-			}
-			DetailFormatter[] checkedElements= new DetailFormatter[i];
-			System.arraycopy(checkedElementsTmp, 0, checkedElements, 0, i);
-			fViewer.setAllChecked(false);
-			fViewer.setCheckedElements(checkedElements);
-		}
-		
-		/**
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return fDetailFormattersSet.toArray();
-		}
-		
-		public List getDefinedTypes() {
-			return fDefinedTypes;
-		}
-		
-		/**
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaEvaluationEngineManager.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaEvaluationEngineManager.java
deleted file mode 100644
index 4ed6371..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaEvaluationEngineManager.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.eval.EvaluationManager;
-import org.eclipse.jdt.debug.eval.IAstEvaluationEngine;
-
-public class JavaEvaluationEngineManager implements IDebugEventSetListener {
-
-	/**
-	 * A mapping of maps that associates combinations of debug
-	 * targets and projects to evaluation engines.
-	 * 
-	 * The outer map associates debug
-	 * targets with a map. The inner maps map projects to
-	 * evaluation engines.
-	 * 
-	 */
-	HashMap fTargetMap= new HashMap();
-
-	public JavaEvaluationEngineManager() {
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvent(DebugEvent)
-	 * 
-	 * Removes debug targets from the engine map when they terminate,
-	 * and dispose of engines.
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		DebugEvent event;
-		for (int i= 0, numEvents= events.length; i < numEvents; i++) {
-			event= events[i];
-			if (event.getKind() == DebugEvent.TERMINATE && event.getSource() instanceof IJavaDebugTarget) {
-				HashMap map = (HashMap)fTargetMap.remove((IJavaDebugTarget)event.getSource());
-				if (map != null) {
-					Iterator iter = map.values().iterator();
-					while (iter.hasNext()) {
-						((IAstEvaluationEngine)iter.next()).dispose();
-					}
-					map.clear();
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns an evaluation engine for the given project and debug target.
-	 * If an engine already exists for this project and target combination,
-	 * that same engine is returned. Otherwise, a new engine is created.
-	 */
-	public IAstEvaluationEngine getEvaluationEngine(IJavaProject project, IJavaDebugTarget target) {
-		IAstEvaluationEngine engine= null;
-		HashMap map= (HashMap)fTargetMap.get(target);
-		if (map == null) {
-			map= new HashMap();
-			fTargetMap.put(target, map);
-		}
-		engine= (IAstEvaluationEngine)map.get(project);
-		if (engine == null) {
-			engine= EvaluationManager.newAstEvaluationEngine(project, target);
-			map.put(project, engine);
-		}
-		return engine;
-	}
-	
-	/**
-	 * Disposes this evaluation engine manager.
-	 * When disposed, the manager disposes all engines
-	 * it is currently managing.
-	 * 
-	 * After this evaluation engine manager has been disposed, it
-	 * must not be reused.
-	 */
-	public void dispose() {
-		HashMap engines;
-		Iterator iter= fTargetMap.values().iterator();
-		while (iter.hasNext()) {
-			engines= ((HashMap)iter.next());
-			Iterator engineIter= engines.values().iterator();
-			while (engineIter.hasNext()) {
-				IAstEvaluationEngine engine = (IAstEvaluationEngine)engineIter.next();
-				engine.dispose();
-			}
-			engines.clear();
-		}
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaHotCodeReplaceListener.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaHotCodeReplaceListener.java
deleted file mode 100644
index 5ec8d77..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaHotCodeReplaceListener.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaHotCodeReplaceListener;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookLauncher;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public class JavaHotCodeReplaceListener implements IJavaHotCodeReplaceListener {
-
-	private ILabelProvider fLabelProvider= DebugUITools.newDebugModelPresentation();
-
-	/**
-	 * @see IJavaHotCodeReplaceListener#hotCodeReplaceSucceeded(IJavaDebugTarget)
-	 */
-	public void hotCodeReplaceSucceeded(IJavaDebugTarget target) {
-	}
-
-	/**
-	 * @see IJavaHotCodeReplaceListener#hotCodeReplaceFailed(IJavaDebugTarget, DebugException)
-	 */
-	public void hotCodeReplaceFailed(final IJavaDebugTarget target, final DebugException exception) {
-		if ((exception != null &&!JDIDebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_ALERT_HCR_FAILED)) ||
-			((exception == null) && !JDIDebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_ALERT_HCR_NOT_SUPPORTED))) {
-			return;
-		}
-		// do not report errors for snippet editor targets
-		// that do not support HCR. HCR is simulated by using
-		// a new class loader for each evaluation
-		ILaunch launch = target.getLaunch();
-		if (launch.getAttribute(ScrapbookLauncher.SCRAPBOOK_LAUNCH) != null) {
-			if (!target.supportsHotCodeReplace()) {
-					return;
-			}
-		}
-		final Display display= JDIDebugUIPlugin.getStandardDisplay();
-		if (display.isDisposed()) {
-			return;
-		}
-		final String vmName= fLabelProvider.getText(target);
-		final IStatus status;
-		final String preference;
-		final String alertMessage;
-		if (exception == null) {
-			status= new Status(IStatus.WARNING, JDIDebugUIPlugin.getUniqueIdentifier(), IStatus.WARNING, DebugUIMessages.getString("JDIDebugUIPlugin.The_target_VM_does_not_support_hot_code_replace_1"), null); //$NON-NLS-1$
-			preference= IJDIPreferencesConstants.PREF_ALERT_HCR_NOT_SUPPORTED;
-			alertMessage= DebugUIMessages.getString("JDIDebugUIPlugin.Always_alert_me_when_hot_code_replace_is_not_supported_1"); //$NON-NLS-1$
-		} else {
-			status= exception.getStatus();
-			preference= IJDIPreferencesConstants.PREF_ALERT_HCR_FAILED;
-			alertMessage= DebugUIMessages.getString("JDIDebugUIPlugin.Always_alert_me_of_hot_code_replace_failure_1"); //$NON-NLS-1$
-		}
-		final String title= DebugUIMessages.getString("JDIDebugUIPlugin.Hot_code_replace_failed_1"); //$NON-NLS-1$
-		final String message= MessageFormat.format(DebugUIMessages.getString("JDIDebugUIPlugin.{0}_was_unable_to_replace_the_running_code_with_the_code_in_the_workspace._2"), //$NON-NLS-1$
-					new Object[] {vmName});
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (display.isDisposed()) {
-					return;
-				}
-				Shell shell= JDIDebugUIPlugin.getActiveWorkbenchShell();
-				ErrorDialogWithToggle dialog= new ErrorDialogWithToggle(shell, title, message, status, preference, alertMessage, JDIDebugUIPlugin.getDefault().getPreferenceStore());
-				dialog.setBlockOnOpen(false);
-				dialog.open();
-			}
-		});
-	}
-	
-	/**
-	 * @see IJavaHotCodeReplaceListener#obsoleteMethods(IJavaDebugTarget)
-	 */
-	public void obsoleteMethods(final IJavaDebugTarget target) {
-		if (!JDIDebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_ALERT_OBSOLETE_METHODS)) {
-			return;
-		}
-		final Display display= JDIDebugUIPlugin.getStandardDisplay();
-		if (display.isDisposed()) {
-			return;
-		}
-		final String vmName= fLabelProvider.getText(target);
-		final String dialogTitle= DebugUIMessages.getString("JDIDebugUIPlugin.Obsolete_methods_remain_1"); //$NON-NLS-1$
-		final String message= MessageFormat.format(DebugUIMessages.getString("JDIDebugUIPlugin.{0}_contains_obsolete_methods_1"), new Object[] {vmName}); //$NON-NLS-1$
-		final IStatus status= new Status(IStatus.WARNING, JDIDebugUIPlugin.getUniqueIdentifier(), IStatus.WARNING, DebugUIMessages.getString("JDIDebugUIPlugin.Stepping_may_be_hazardous_1"), null); //$NON-NLS-1$
-		final String toggleMessage= DebugUIMessages.getString("JDIDebugUIPlugin.Always_alert_me_of_obsolete_methods_1"); //$NON-NLS-1$
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (display.isDisposed()) {
-					return;
-				}
-				Shell shell= JDIDebugUIPlugin.getActiveWorkbenchShell();
-				ErrorDialogWithToggle dialog= new ErrorDialogWithToggle(shell, dialogTitle, message, status, IJDIPreferencesConstants.PREF_ALERT_OBSOLETE_METHODS,
-					toggleMessage, JDIDebugUIPlugin.getDefault().getPreferenceStore());
-				dialog.setBlockOnOpen(false);
-				dialog.open();
-			}
-		});
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaInspectExpressionActionFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaInspectExpressionActionFilter.java
deleted file mode 100644
index 756b908..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaInspectExpressionActionFilter.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.internal.debug.ui.actions.OpenVariableTypeAction;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.ui.IActionFilter;
-
-public class JavaInspectExpressionActionFilter implements IActionFilter {
-
-	private static final Set fgPrimitiveTypes = initPrimitiveTypes();
-
-	private static Set initPrimitiveTypes() {
-		HashSet set = new HashSet(8);
-		set.add("short"); //$NON-NLS-1$
-		set.add("int"); //$NON-NLS-1$
-		set.add("long"); //$NON-NLS-1$
-		set.add("float"); //$NON-NLS-1$
-		set.add("double"); //$NON-NLS-1$
-		set.add("boolean"); //$NON-NLS-1$
-		set.add("byte"); //$NON-NLS-1$
-		set.add("char"); //$NON-NLS-1$
-		set.add("null"); //$NON-NLS-1$
-		return set;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionFilter#testAttribute(java.lang.Object, java.lang.String, java.lang.String)
-	 */
-	public boolean testAttribute(Object target, String name, String value) {
-		if (target instanceof JavaInspectExpression) {
-			JavaInspectExpression exp= (JavaInspectExpression) target;
-			if (name.equals("PrimitiveVariableActionFilter") && value.equals("isNotPrimitive")) { //$NON-NLS-1$ //$NON-NLS-2$
-				return isNotPrimitiveType(exp);
-			} else if (name.equals("DetailFormatterFilter") && value.equals("isDefined")) { //$NON-NLS-1$ //$NON-NLS-2$
-				try {
-					IValue varValue= exp.getValue();
-					return (varValue instanceof IJavaObject) && (JavaDetailFormattersManager.getDefault().hasAssociatedDetailFormatter(((IJavaObject)varValue).getJavaType()));
-				} catch (DebugException exception) {
-					JDIDebugUIPlugin.log(exception);
-				}
-			}
-		}
-		return false;
-	}
-	
-	private boolean isNotPrimitiveType(JavaInspectExpression exp) {
-		try {
-			String refType = OpenVariableTypeAction.removeArray(exp.getValue().getReferenceTypeName());
-			return !fgPrimitiveTypes.contains(refType);
-		} catch (DebugException e) {
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaModelListener.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaModelListener.java
deleted file mode 100644
index b5626eb..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaModelListener.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-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.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-
-/**
- * Listens to Java model element changes and uninstalls breakpoints when:<ul>
- *  <li>the breakpoint type's corresponding package fragment root is removed, closed, or removed from the classpath.</li>
- *  <li>the breakpoints is a method breakpoint and the method has been removed.</li>
- * </ul>
- */
-class JavaModelListener implements IElementChangedListener {
-	/**
-	 * @see IElementChangedListener#elementChanged(ElementChangedEvent)
-	 */
-	public void elementChanged(ElementChangedEvent e) {
-		if (e.getType() != ElementChangedEvent.POST_CHANGE) {
-			return;
-		}
-		List removedElements= new ArrayList();
-		getRemovedElements(e.getDelta(), removedElements);
-		if (removedElements.isEmpty()) {
-			return;
-		}
-				
-		final List breakpointsToRemove= new ArrayList();
-		IBreakpoint[] breakpoints= DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(JDIDebugPlugin.getUniqueIdentifier());
-		IJavaBreakpoint breakpoint= null;
-		for (int i= 0, numBreakpoints= breakpoints.length; i < numBreakpoints; i++) {
-			breakpoint= (IJavaBreakpoint)breakpoints[i];
-			if (!(breakpoint instanceof IJavaBreakpoint)) {
-				continue;
-			}
-			if (breakpoint instanceof IJavaMethodBreakpoint) {
-				IJavaMethodBreakpoint methodBreakpoint= (IJavaMethodBreakpoint)breakpoint;
-				IMethod method= null;
-				try {
-					method = BreakpointUtils.getMethod(methodBreakpoint);
-				} catch (CoreException x) {
-					JDIDebugUIPlugin.log(x);
-				}
-				if (method != null && containedInCollection(method, removedElements)) {
-					breakpointsToRemove.add(breakpoint);
-				}
-				continue;
-			}
-			
-			try {
-				IType type= BreakpointUtils.getType(breakpoint);
-				if (type != null && containedInCollection(type, removedElements)) {
-					breakpointsToRemove.add(breakpoint);
-				}
-			} catch (CoreException x) {
-				JDIDebugUIPlugin.log(x);
-			}
-		}
-		if (!breakpointsToRemove.isEmpty()) {
-			IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					Iterator itr= breakpointsToRemove.iterator();
-					while (itr.hasNext()) {
-						IBreakpoint breakpoint = (IBreakpoint) itr.next();
-						DebugPlugin.getDefault().getBreakpointManager().removeBreakpoint(breakpoint, true);	
-					}	
-				}
-			};
-			
-			fork(wr);
-		} 
-	}
-	
-	/**
-	 * Recursively traverses the given Java element delta looking for Java elements
-	 * which have been removed, closed, or removed from the classpath
-	 */
-	protected void getRemovedElements(IJavaElementDelta delta, List removedElements) {
-		if ((delta.getKind() & IJavaElementDelta.REMOVED) != 0 || (delta.getFlags() & IJavaElementDelta.F_CLOSED) != 0 ||
-			(delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) {
-			removedElements.add(delta.getElement());
-		}
-			
-		IJavaElementDelta[] subdeltas= delta.getAffectedChildren();
-		for (int i= 0, numDeltas= subdeltas.length; i < numDeltas; i++) {
-			getRemovedElements(subdeltas[i], removedElements);
-		}
-	}
-	
-	protected void fork(final IWorkspaceRunnable wRunnable) {
-		Runnable runnable= new Runnable() {
-			public void run() {
-				try {
-					ResourcesPlugin.getWorkspace().run(wRunnable, null);
-				} catch (CoreException ce) {
-					DebugPlugin.log(ce);
-				}
-			}
-		};
-		new Thread(runnable).start();
-	}	
-	
-	protected boolean containedInCollection(IJavaElement element, List removedElements) {
-		if (removedElements.contains(element)) {
-			return true;
-		}
-		IJavaElement parent= element.getParent();
-		while (parent != null) {
-			if(removedElements.contains(parent)) {
-				return true;
-			}
-			parent= parent.getParent();
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaSourceLocationWorkbenchAdapterFactory.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaSourceLocationWorkbenchAdapterFactory.java
deleted file mode 100644
index d8cc574..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaSourceLocationWorkbenchAdapterFactory.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import java.io.IOException;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jdt.launching.sourcelookup.ArchiveSourceLocation;
-import org.eclipse.jdt.launching.sourcelookup.DirectorySourceLocation;
-import org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation;
-import org.eclipse.jdt.launching.sourcelookup.JavaProjectSourceLocation;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * UI adapter factory for JDI Debug
- */
-/*package*/ class JavaSourceLocationWorkbenchAdapterFactory implements IAdapterFactory {
-
-	class SourceLocationPropertiesAdapter implements IWorkbenchAdapter {
-		
-		private JavaElementLabelProvider fJavaElementLabelProvider = new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_BASICS);
-	
-		/**
-		 * @see IWorkbenchAdapter#getChildren(Object)
-		 */
-		public Object[] getChildren(Object o) {
-			return new Object[0];
-		}
-
-		/**
-		 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-		 */
-		public ImageDescriptor getImageDescriptor(Object o) {
-			if (o instanceof JavaProjectSourceLocation) {
-				return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_PROJECT);
-			} else if (o instanceof DirectorySourceLocation) {
-				return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER);
-			} else if (o instanceof ArchiveSourceLocation) {
-				return JavaUI.getSharedImages().getImageDescriptor(org.eclipse.jdt.ui.ISharedImages.IMG_OBJS_JAR);
-			}
-			return null;
-		}
-
-		/**
-		 * @see IWorkbenchAdapter#getLabel(Object)
-		 */
-		public String getLabel(Object o) {
-			if (o instanceof JavaProjectSourceLocation) {
-				return fJavaElementLabelProvider.getText(((JavaProjectSourceLocation)o).getJavaProject());
-			} else if (o instanceof DirectorySourceLocation) {
-				try {
-					return ((DirectorySourceLocation)o).getDirectory().getCanonicalPath();
-				} catch (IOException e) {
-					JDIDebugUIPlugin.log(e);
-					return ((DirectorySourceLocation)o).getDirectory().getName();
-				}
-			} else if (o instanceof ArchiveSourceLocation) {
-				return ((ArchiveSourceLocation)o).getName();
-			}
-			return null;
-		}
-
-		/**
-		 * @see IWorkbenchAdapter#getParent(Object)
-		 */
-		public Object getParent(Object o) {
-			return null;
-		}
-	}
-	
-	/**
-	 * @see IAdapterFactory#getAdapter(Object, Class)
-	 */
-	public Object getAdapter(Object obj, Class adapterType) {
-		if (adapterType.isInstance(obj)) {
-			return obj;
-		}
-		if (adapterType == IWorkbenchAdapter.class) {
-			if (obj instanceof IJavaSourceLocation) {
-				return new SourceLocationPropertiesAdapter();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {
-			IWorkbenchAdapter.class,
-		};
-	}
-}
-
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaStackFrameActionFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaStackFrameActionFilter.java
deleted file mode 100644
index f61c48c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaStackFrameActionFilter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.ui.IActionFilter;
-
-public class JavaStackFrameActionFilter implements IActionFilter {
-
-	/**
-	 * @see org.eclipse.ui.IActionFilter#testAttribute(Object, String, String)
-	 */
-	public boolean testAttribute(Object target, String name, String value) {
-		if (target instanceof IJavaStackFrame) {
-			IJavaStackFrame frame = (IJavaStackFrame) target;
-			if (name.equals("DropToFrameActionFilter") //$NON-NLS-1$
-				&& value.equals("supportsDropToFrame")) { //$NON-NLS-1$
-					return frame.supportsDropToFrame();
-			} else if (name.equals("ReceivingStackFrameActionFilter")  //$NON-NLS-1$
-				&& value.equals("isReceivingType")) { //$NON-NLS-1$
-					try {
-						return !frame.getReceivingTypeName().equals(frame.getDeclaringTypeName());
-					} catch (DebugException de) {
-					}
-			}
-		}
-			
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaStepFilterPreferencePage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaStepFilterPreferencePage.java
deleted file mode 100644
index 35bb83e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaStepFilterPreferencePage.java
+++ /dev/null
@@ -1,733 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableEditor;
-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.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.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.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class JavaStepFilterPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	
-	private static final String DEFAULT_NEW_FILTER_TEXT = ""; //$NON-NLS-1$
-
-	// Step filter widgets
-	private CheckboxTableViewer fFilterViewer;
-	private Table fFilterTable;
-	private Button fAddPackageButton;
-	private Button fAddTypeButton;
-	private Button fRemoveFilterButton;
-	private Button fAddFilterButton;
-	private Button fFilterSyntheticButton;
-	private Button fFilterStaticButton;
-	private Button fFilterConstructorButton;
-	
-	private Button fEnableAllButton;
-	private Button fDisableAllButton;
-	
-	private Text fEditorText;
-	private String fInvalidEditorText= null;
-	private TableEditor fTableEditor;
-	private TableItem fNewTableItem;
-	private Filter fNewStepFilter;
-	private Label fTableLabel;
-	
-	private StepFilterContentProvider fStepFilterContentProvider;
-	
-	public JavaStepFilterPreferencePage() {
-		super();
-		setPreferenceStore(JDIDebugUIPlugin.getDefault().getPreferenceStore());
-		setDescription(DebugUIMessages.getString("JavaStepFilterPreferencePage.description")); //$NON-NLS-1$
-	}
-
-	protected Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(getControl(), IJavaDebugHelpContextIds.JAVA_STEP_FILTER_PREFERENCE_PAGE);
-		
-		//The main composite
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		composite.setLayout(layout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		
-		createStepFilterPreferences(composite);
-
-		return composite;	
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	private void handleFilterViewerKeyPress(KeyEvent event) {
-		if (event.character == SWT.DEL && event.stateMask == 0) {
-			removeFilters();
-		}
-	}
-	
-	/**
-	 * Create a group to contain the step filter related widgetry
-	 */
-	private void createStepFilterPreferences(Composite parent) {
-		Font font = parent.getFont();
-		
-		// top level container
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		container.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		container.setLayoutData(gd);
-		container.setFont(font);
-				
-		//table label
-		fTableLabel= new Label(container, SWT.NONE);
-		fTableLabel.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Defined_step_fi&lters__8")); //$NON-NLS-1$
-		gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fTableLabel.setLayoutData(gd);
-		fTableLabel.setFont(font);
-		
-		// filter table
-		fFilterTable= new Table(container, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fFilterTable.setLayoutData(gd);
-		fFilterTable.setFont(font);
-		
-		TableLayout tableLayout= new TableLayout();
-		ColumnLayoutData[] columnLayoutData= new ColumnLayoutData[1];
-		columnLayoutData[0]= new ColumnWeightData(100);		
-		tableLayout.addColumnData(columnLayoutData[0]);
-		fFilterTable.setLayout(tableLayout);
-		new TableColumn(fFilterTable, SWT.NONE);
-		fFilterViewer = new CheckboxTableViewer(fFilterTable);
-		fTableEditor = new TableEditor(fFilterTable);
-		fFilterViewer.setLabelProvider(new FilterLabelProvider());
-		fFilterViewer.setSorter(new FilterViewerSorter());
-		fStepFilterContentProvider = new StepFilterContentProvider(fFilterViewer);
-		fFilterViewer.setContentProvider(fStepFilterContentProvider);
-		// input just needs to be non-null
-		fFilterViewer.setInput(this);
-		gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		fFilterViewer.getTable().setLayoutData(gd);
-		fFilterViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				Filter filter = (Filter)event.getElement();
-				fStepFilterContentProvider.toggleFilter(filter);
-			}
-		});
-		fFilterViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = event.getSelection();
-				if (selection.isEmpty()) {
-					fRemoveFilterButton.setEnabled(false);
-				} else {
-					fRemoveFilterButton.setEnabled(true);					
-				}
-			}
-		});	
-		fFilterViewer.getControl().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				handleFilterViewerKeyPress(event);
-			}
-		});	
-		
-		createStepFilterButtons(container);
-		createStepFilterCheckboxes(container);
-	}
-	
-	private void createStepFilterCheckboxes(Composite container) {
-		Font font = container.getFont();
-		
-		// filter synthetic checkbox
-		fFilterSyntheticButton = new Button(container, SWT.CHECK);
-		fFilterSyntheticButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Filter_s&ynthetic_methods_(requires_VM_support)_17")); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fFilterSyntheticButton.setLayoutData(gd);
-		fFilterSyntheticButton.setFont(font);
-		
-		// filter static checkbox
-		fFilterStaticButton = new Button(container, SWT.CHECK);
-		fFilterStaticButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Filter_static_&initializers_18")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fFilterStaticButton.setLayoutData(gd);
-		fFilterStaticButton.setFont(font);
-		
-		// filter constructor checkbox
-		fFilterConstructorButton = new Button(container, SWT.CHECK);
-		fFilterConstructorButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Filter_co&nstructors_19")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fFilterConstructorButton.setLayoutData(gd);
-		fFilterConstructorButton.setFont(font);
-		
-		fFilterSyntheticButton.setSelection(getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_FILTER_SYNTHETICS));
-		fFilterStaticButton.setSelection(getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_FILTER_STATIC_INITIALIZERS));
-		fFilterConstructorButton.setSelection(getPreferenceStore().getBoolean(IJDIPreferencesConstants.PREF_FILTER_CONSTRUCTORS));
-	}
-	private void createStepFilterButtons(Composite container) {
-		Font font = container.getFont();
-		initializeDialogUnits(container);
-		// button container
-		Composite buttonContainer = new Composite(container, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_VERTICAL);
-		buttonContainer.setLayoutData(gd);
-		GridLayout buttonLayout = new GridLayout();
-		buttonLayout.numColumns = 1;
-		buttonLayout.marginHeight = 0;
-		buttonLayout.marginWidth = 0;
-		buttonContainer.setLayout(buttonLayout);
-		
-		// Add filter button
-		fAddFilterButton = new Button(buttonContainer, SWT.PUSH);
-		fAddFilterButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Add_&Filter_9")); //$NON-NLS-1$
-		fAddFilterButton.setToolTipText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Key_in_the_name_of_a_new_step_filter_10")); //$NON-NLS-1$
-		setButtonLayoutData(fAddFilterButton);
-		fAddFilterButton.setFont(font);
-		fAddFilterButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				editFilter();
-			}
-		});
-		
-		// Add type button
-		fAddTypeButton = new Button(buttonContainer, SWT.PUSH);
-		fAddTypeButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Add_&Type..._11")); //$NON-NLS-1$
-		fAddTypeButton.setToolTipText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Choose_a_Java_type_and_add_it_to_step_filters_12")); //$NON-NLS-1$
-		fAddTypeButton.setFont(font);
-		setButtonLayoutData(fAddTypeButton);
-		fAddTypeButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				addType();
-			}
-		});
-		
-		// Add package button
-		fAddPackageButton = new Button(buttonContainer, SWT.PUSH);
-		fAddPackageButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Add_&Package..._13")); //$NON-NLS-1$
-		fAddPackageButton.setToolTipText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Choose_a_package_and_add_it_to_step_filters_14")); //$NON-NLS-1$
-		fAddPackageButton.setFont(font);
-		setButtonLayoutData(fAddPackageButton);
-		fAddPackageButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				addPackage();
-			}
-		});
-		
-		// Remove button
-		fRemoveFilterButton = new Button(buttonContainer, SWT.PUSH);
-		fRemoveFilterButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.&Remove_15")); //$NON-NLS-1$
-		fRemoveFilterButton.setToolTipText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Remove_all_selected_step_filters_16")); //$NON-NLS-1$
-		fRemoveFilterButton.setFont(font);
-		setButtonLayoutData(fRemoveFilterButton);
-		fRemoveFilterButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				removeFilters();
-			}
-		});
-		fRemoveFilterButton.setEnabled(false);
-		
-		fEnableAllButton= new Button(buttonContainer, SWT.PUSH);
-		fEnableAllButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.&Enable_All_1")); //$NON-NLS-1$
-		fEnableAllButton.setToolTipText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Enables_all_step_filters_2")); //$NON-NLS-1$
-		fEnableAllButton.setFont(font);
-		setButtonLayoutData(fEnableAllButton);
-		fEnableAllButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				checkAllFilters(true);
-			}
-		});
-
-		fDisableAllButton= new Button(buttonContainer, SWT.PUSH);
-		fDisableAllButton.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Disa&ble_All_3")); //$NON-NLS-1$
-		fDisableAllButton.setToolTipText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Disables_all_step_filters_4")); //$NON-NLS-1$
-		fDisableAllButton.setFont(font);
-		setButtonLayoutData(fDisableAllButton);
-		fDisableAllButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				checkAllFilters(false);
-			}
-		});
-		
-	}
-		
-	private void checkAllFilters(boolean check) {
-		
-		Object[] filters= fStepFilterContentProvider.getElements(null);
-		for (int i= 0; i != filters.length; i++) {
-			((Filter)filters[i]).setChecked(check);
-		}		
-			
-		fFilterViewer.setAllChecked(check);
-	}
-	
-	/**
-	 * Create a new filter in the table (with the default 'new filter' value),
-	 * then open up an in-place editor on it.
-	 */
-	private void editFilter() {
-		// if a previous edit is still in progress, finish it
-		if (fEditorText != null) {
-			validateChangeAndCleanup();
-		}
-		
-		fNewStepFilter = fStepFilterContentProvider.addFilter(DEFAULT_NEW_FILTER_TEXT, true);		
-		fNewTableItem = fFilterTable.getItem(0);
-		
-		// create & configure Text widget for editor
-		// Fix for bug 1766.  Border behavior on for text fields varies per platform.
-		// On Motif, you always get a border, on other platforms,
-		// you don't.  Specifying a border on Motif results in the characters
-		// getting pushed down so that only there very tops are visible.  Thus,
-		// we have to specify different style constants for the different platforms.
-		int textStyles = SWT.SINGLE | SWT.LEFT;
-		if (!SWT.getPlatform().equals("motif")) {  //$NON-NLS-1$
-			textStyles |= SWT.BORDER;
-		}
-		fEditorText = new Text(fFilterTable, textStyles);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		fEditorText.setLayoutData(gd);
-		fEditorText.setFont(fFilterTable.getFont());
-		
-		// set the editor
-		fTableEditor.horizontalAlignment = SWT.LEFT;
-		fTableEditor.grabHorizontal = true;
-		fTableEditor.setEditor(fEditorText, fNewTableItem, 0);
-		
-		// get the editor ready to use
-		fEditorText.setText(fNewStepFilter.getName());
-		fEditorText.selectAll();
-		setEditorListeners(fEditorText);
-		fEditorText.setFocus();
-	}
-	
-	private void setEditorListeners(Text text) {
-		// CR means commit the changes, ESC means abort and don't commit
-		text.addKeyListener(new KeyAdapter() {
-			public void keyReleased(KeyEvent event) {				
-				if (event.character == SWT.CR) {
-					if (fInvalidEditorText != null) {
-						fEditorText.setText(fInvalidEditorText);
-						fInvalidEditorText= null;
-					} else {
-						validateChangeAndCleanup();
-					}
-				} else if (event.character == SWT.ESC) {
-					removeNewFilter();
-					cleanupEditor();
-				}
-			}
-		});
-		// Consider loss of focus on the editor to mean the same as CR
-		text.addFocusListener(new FocusAdapter() {
-			public void focusLost(FocusEvent event) {
-				if (fInvalidEditorText != null) {
-					fEditorText.setText(fInvalidEditorText);
-					fInvalidEditorText= null;
-				} else {
-					validateChangeAndCleanup();
-				}
-			}
-		});
-		// Consume traversal events from the text widget so that CR doesn't 
-		// traverse away to dialog's default button.  Without this, hitting
-		// CR in the text field closes the entire dialog.
-		text.addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event event) {
-				event.doit = false;
-			}
-		});
-	}
-	
-	private void validateChangeAndCleanup() {
-		String trimmedValue = fEditorText.getText().trim();
-		// if the new value is blank, remove the filter
-		if (trimmedValue.length() < 1) {
-			removeNewFilter();
-		}
-		// if it's invalid, beep and leave sitting in the editor
-		else if (!validateEditorInput(trimmedValue)) {
-			fInvalidEditorText= trimmedValue;
-			fEditorText.setText(DebugUIMessages.getString("JavaStepFilterPreferencePage.Invalid_step_filter._Return_to_continue;_escape_to_exit._1")); //$NON-NLS-1$
-			getShell().getDisplay().beep();			
-			return;
-		// otherwise, commit the new value if not a duplicate
-		} else {		
-			
-			Object[] filters= fStepFilterContentProvider.getElements(null);
-			for (int i = 0; i < filters.length; i++) {
-				Filter filter = (Filter)filters[i];
-				if (filter.getName().equals(trimmedValue)) {
-					removeNewFilter();
-					cleanupEditor();
-					return;
-				}	
-			}
-			fNewTableItem.setText(trimmedValue);
-			fNewStepFilter.setName(trimmedValue);
-			fFilterViewer.refresh();
-		}
-		cleanupEditor();
-	}
-	
-	/**
-	 * Cleanup all widgetry & resources used by the in-place editing
-	 */
-	private void cleanupEditor() {
-		if (fEditorText != null) {
-			fNewStepFilter = null;
-			fNewTableItem = null;
-			fTableEditor.setEditor(null, null, 0);	
-			fEditorText.dispose();
-			fEditorText = null;
-		}
-	}
-	
-	private void removeNewFilter() {
-		fStepFilterContentProvider.removeFilters(new Object[] {fNewStepFilter});
-	}
-	
-	/**
-	 * A valid step filter is simply one that is a valid Java identifier.
-	 * and, as defined in the JDI spec, the regular expressions used for
-	 * step filtering must be limited to exact matches or patterns that
-	 * begin with '*' or end with '*'. Beyond this, a string cannot be validated
-	 * as corresponding to an existing type or package (and this is probably not
-	 * even desirable).  
-	 */
-	private boolean validateEditorInput(String trimmedValue) {
-		char firstChar= trimmedValue.charAt(0);
-		if (!Character.isJavaIdentifierStart(firstChar)) {
-			if (!(firstChar == '*')) {
-				return false;
-			}
-		}
-		int length= trimmedValue.length();
-		for (int i= 1; i < length; i++) {
-			char c= trimmedValue.charAt(i);
-			if (!Character.isJavaIdentifierPart(c)) {
-				if (c == '.' && i != (length - 1)) {
-					continue;
-				}
-				if (c == '*' && i == (length - 1)) {
-					continue;
-				}
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	private void addType() {
-		Shell shell= getShell();
-		SelectionDialog dialog= null;
-		try {
-			dialog= JavaUI.createTypeDialog(shell, new ProgressMonitorDialog(shell),
-				SearchEngine.createWorkspaceScope(), IJavaElementSearchConstants.CONSIDER_CLASSES, false);
-		} catch (JavaModelException jme) {
-			String title= DebugUIMessages.getString("JavaStepFilterPreferencePage.Add_type_to_step_filters_20"); //$NON-NLS-1$
-			String message= DebugUIMessages.getString("JavaStepFilterPreferencePage.Could_not_open_type_selection_dialog_for_step_filters_21"); //$NON-NLS-1$
-			ExceptionHandler.handle(jme, title, message);
-			return;
-		}
-	
-		dialog.setTitle(DebugUIMessages.getString("JavaStepFilterPreferencePage.Add_type_to_step_filters_20")); //$NON-NLS-1$
-		dialog.setMessage(DebugUIMessages.getString("JavaStepFilterPreferencePage.Select_a_type_to_filter_when_stepping_23")); //$NON-NLS-1$
-		if (dialog.open() == IDialogConstants.CANCEL_ID) {
-			return;
-		}
-		
-		Object[] types= dialog.getResult();
-		if (types != null && types.length > 0) {
-			IType type = (IType)types[0];
-			fStepFilterContentProvider.addFilter(type.getFullyQualifiedName(), true);
-		}		
-	}
-	
-	private void addPackage() {
-		Shell shell= getShell();
-		ElementListSelectionDialog dialog = null;
-		try {
-			dialog = JDIDebugUIPlugin.createAllPackagesDialog(shell, null, false);
-		} catch (JavaModelException jme) {
-			String title= DebugUIMessages.getString("JavaStepFilterPreferencePage.Add_package_to_step_filters_24"); //$NON-NLS-1$
-			String message= DebugUIMessages.getString("JavaStepFilterPreferencePage.Could_not_open_package_selection_dialog_for_step_filters_25"); //$NON-NLS-1$
-			ExceptionHandler.handle(jme, title, message);
-			return;			
-		}
-	
-		dialog.setTitle(DebugUIMessages.getString("JavaStepFilterPreferencePage.Add_package_to_step_filters_24")); //$NON-NLS-1$
-		dialog.setMessage(DebugUIMessages.getString("JavaStepFilterPreferencePage.Select_a_package_to_filter_when_stepping_27")); //$NON-NLS-1$
-		dialog.setMultipleSelection(true);
-		if (dialog.open() == IDialogConstants.CANCEL_ID) {
-			return;
-		}
-		
-		Object[] packages= dialog.getResult();
-		if (packages != null) {
-			for (int i = 0; i < packages.length; i++) {
-				IJavaElement pkg = (IJavaElement)packages[i];
-				
-				String filter = pkg.getElementName() + ".*"; //$NON-NLS-1$
-				fStepFilterContentProvider.addFilter(filter, true);
-			}
-		}		
-	}
-	
-	/**
-	 * Removes the selected filters.
-	 */
-	private void removeFilters() {
-		IStructuredSelection selection = (IStructuredSelection)fFilterViewer.getSelection();		
-		fStepFilterContentProvider.removeFilters(selection.toArray());
-	}
-	
-	/**
-	 * @see IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		fStepFilterContentProvider.saveFilters();
-		JDIDebugUIPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-	
-	/**
-	 * Sets the default preferences.
-	 * @see PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		setDefaultValues();
-		super.performDefaults();	
-	}
-	
-	private void setDefaultValues() {
-		fStepFilterContentProvider.setDefaults();
-	}
-	
-	/**
-	 * Returns a list of active step filters.
-	 * 
-	 * @return list
-	 */
-	protected List createActiveStepFiltersList() {
-		String[] strings = JavaDebugOptionsManager.parseList(getPreferenceStore().getString(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST));
-		return Arrays.asList(strings);
-	}
-	
-	/**
-	 * Returns a list of active step filters.
-	 * 
-	 * @return list
-	 */
-	protected List createInactiveStepFiltersList() {
-		String[] strings = JavaDebugOptionsManager.parseList(getPreferenceStore().getString(IJDIPreferencesConstants.PREF_INACTIVE_FILTERS_LIST));
-		return Arrays.asList(strings);
-	}
-	
-	/**
-	 * Returns a list of the default active step filters.
-	 * 
-	 * @return list
-	 */
-	protected List createDefaultActiveStepFiltersList() {
-		String[] strings = JavaDebugOptionsManager.parseList(getPreferenceStore().getDefaultString(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST));
-		return Arrays.asList(strings);
-	}
-	
-	/**
-	 * Returns a list of the default active step filters.
-	 * 
-	 * @return list
-	 */
-	protected List createDefaultInactiveStepFiltersList() {
-		String[] strings = JavaDebugOptionsManager.parseList(getPreferenceStore().getDefaultString(IJDIPreferencesConstants.PREF_INACTIVE_FILTERS_LIST));
-		return Arrays.asList(strings);
-	}
-	
-	protected void updateActions() {
-		if (fEnableAllButton != null) {
-			boolean enabled= fFilterViewer.getTable().getItemCount() > 0;
-			fEnableAllButton.setEnabled(enabled);
-			fDisableAllButton.setEnabled(enabled);
-		}
-	}	
-	
-	/**
-	 * Content provider for the table.  Content consists of instances of StepFilter.
-	 */	
-	protected class StepFilterContentProvider implements IStructuredContentProvider {
-		
-		private CheckboxTableViewer fViewer;
-		private List fFilters;
-		
-		public StepFilterContentProvider(CheckboxTableViewer viewer) {
-			fViewer = viewer;
-			List active = createActiveStepFiltersList();
-			List inactive = createInactiveStepFiltersList();
-			populateFilters(active, inactive);
-			updateActions();
-		}
-		
-		public void setDefaults() {
-			fViewer.remove(fFilters.toArray());			
-			List active = createDefaultActiveStepFiltersList();
-			List inactive = createDefaultInactiveStepFiltersList();
-			populateFilters(active, inactive);		
-							
-			fFilterSyntheticButton.setSelection(getPreferenceStore().getDefaultBoolean(IJDIPreferencesConstants.PREF_FILTER_SYNTHETICS));
-			fFilterStaticButton.setSelection(getPreferenceStore().getDefaultBoolean(IJDIPreferencesConstants.PREF_FILTER_STATIC_INITIALIZERS));
-			fFilterConstructorButton.setSelection(getPreferenceStore().getDefaultBoolean(IJDIPreferencesConstants.PREF_FILTER_CONSTRUCTORS));
-		}
-		
-		protected void populateFilters(List activeList, List inactiveList) {
-			fFilters = new ArrayList(activeList.size() + inactiveList.size());
-			populateList(activeList, true);
-			populateList(inactiveList, false);
-		}
-		
-		protected void populateList(List list, boolean checked) {
-			Iterator iterator = list.iterator();
-			while (iterator.hasNext()) {
-				String name = (String)iterator.next();
-				addFilter(name, checked);
-			}			
-		}
-		
-		public Filter addFilter(String name, boolean checked) {
-			Filter filter = new Filter(name, checked);
-			if (!fFilters.contains(filter)) {
-				fFilters.add(filter);
-				fViewer.add(filter);
-				fViewer.setChecked(filter, checked);
-			}
-			updateActions();
-			return filter;
-		}
-		
-		public void saveFilters() {
-			
-			getPreferenceStore().setValue(IJDIPreferencesConstants.PREF_FILTER_CONSTRUCTORS, fFilterConstructorButton.getSelection());
-			getPreferenceStore().setValue(IJDIPreferencesConstants.PREF_FILTER_STATIC_INITIALIZERS, fFilterStaticButton.getSelection());
-			getPreferenceStore().setValue(IJDIPreferencesConstants.PREF_FILTER_SYNTHETICS, fFilterSyntheticButton.getSelection());
-							
-			List active = new ArrayList(fFilters.size());
-			List inactive = new ArrayList(fFilters.size());
-			Iterator iterator = fFilters.iterator();
-			while (iterator.hasNext()) {
-				Filter filter = (Filter)iterator.next();
-				String name = filter.getName();
-				if (filter.isChecked()) {
-					active.add(name);
-				} else {
-					inactive.add(name);
-				}
-			}
-			String pref = JavaDebugOptionsManager.serializeList((String[])active.toArray(new String[active.size()]));
-			getPreferenceStore().setValue(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST, pref);
-			pref = JavaDebugOptionsManager.serializeList((String[])inactive.toArray(new String[inactive.size()]));
-			getPreferenceStore().setValue(IJDIPreferencesConstants.PREF_INACTIVE_FILTERS_LIST, pref);
-		}
-		
-		public void removeFilters(Object[] filters) {
-			for (int i = 0; i < filters.length; i++) {
-				Filter filter = (Filter)filters[i];
-				fFilters.remove(filter);
-			}
-			fViewer.remove(filters);
-			updateActions();
-		}
-		
-		public void toggleFilter(Filter filter) {
-			boolean newState = !filter.isChecked();
-			filter.setChecked(newState);
-			fViewer.setChecked(filter, newState);
-		}
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return fFilters.toArray();
-		}
-		
-		/**
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-		
-		/**
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}		
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaThreadActionFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaThreadActionFilter.java
deleted file mode 100644
index 7794d9e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaThreadActionFilter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.ui.IActionFilter;
-
-/**
- * Filter which determines if actions relevant to an IJavaThread should
- * be displayed. This filter is provided to the platform by JDIDebugUIAdapterFactory.
- */
-public class JavaThreadActionFilter implements IActionFilter {
-
-	public boolean testAttribute(Object target, String name, String value) {
-		if (target instanceof IJavaThread) {
-			if (name.equals("TerminateEvaluationActionFilter") //$NON-NLS-1$
-				&& value.equals("supportsTerminateEvaluation")) { //$NON-NLS-1$
-				IJavaThread thread = (IJavaThread) target;
-				return thread.isPerformingEvaluation();
-			} else if (name.equals("ExcludeExceptionLocationFilter") //$NON-NLS-1$
-				&& value.equals("suspendedAtException")) { //$NON-NLS-1$
-				IJavaThread thread = (IJavaThread) target;
-				IBreakpoint[] breakpoints= thread.getBreakpoints();
-				for (int i = 0; i < breakpoints.length; i++) {
-					if(breakpoints[i] instanceof IJavaExceptionBreakpoint) {
-						return true;
-					}	
-				}
-			}
-				
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaVariableActionFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaVariableActionFilter.java
deleted file mode 100644
index 07f3ddc..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaVariableActionFilter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.core.model.JDINullValue;
-import org.eclipse.jdt.internal.debug.ui.actions.OpenVariableTypeAction;
-import org.eclipse.ui.IActionFilter;
-
-public class JavaVariableActionFilter implements IActionFilter {
-
-	private static final Set fgPrimitiveTypes = initPrimitiveTypes();
-
-	private static Set initPrimitiveTypes() {
-		HashSet set = new HashSet(8);
-		set.add("short"); //$NON-NLS-1$
-		set.add("int"); //$NON-NLS-1$
-		set.add("long"); //$NON-NLS-1$
-		set.add("float"); //$NON-NLS-1$
-		set.add("double"); //$NON-NLS-1$
-		set.add("boolean"); //$NON-NLS-1$
-		set.add("byte"); //$NON-NLS-1$
-		set.add("char"); //$NON-NLS-1$
-		set.add("null"); //$NON-NLS-1$
-		return set;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionFilter#testAttribute(Object, String, String)
-	 */
-	public boolean testAttribute(Object target, String name, String value) {
-		if (target instanceof IJavaVariable) {
-			IJavaVariable var = (IJavaVariable) target;
-			if (name.equals("PrimitiveVariableActionFilter")) { //$NON-NLS-1$ //$NON-NLS-2$
-				if (value.equals("isPrimitive")) { //$NON-NLS-1$
-					return isPrimitiveType(var);
-				} else if (value.equals("isValuePrimitive")) { //$NON-NLS-1$
-					return isValuePrimitiveType(var);
-				}
-			} else if (name.equals("ConcreteVariableActionFilter") && value.equals("isConcrete")) { //$NON-NLS-1$ //$NON-NLS-2$
-				try {
-					return isDeclaredSameAsConcrete(var);
-				} catch (DebugException de) {
-					JDIDebugUIPlugin.log(de);
-				}
-			} else if (name.equals("JavaVariableActionFilter") && value.equals("instanceFilter")) { //$NON-NLS-1$ //$NON-NLS-2$
-				try {
-					return !var.isStatic() && (var.getValue() instanceof IJavaObject) && ((IJavaDebugTarget)var.getDebugTarget()).supportsInstanceBreakpoints();
-				} catch (DebugException exception) {
-					JDIDebugUIPlugin.log(exception);
-				}
-			} else if (name.equals("DetailFormatterFilter") && value.equals("isDefined")) { //$NON-NLS-1$ //$NON-NLS-2$
-				IValue varValue;
-				try {
-					varValue= var.getValue();
-					return (varValue instanceof IJavaObject) && (JavaDetailFormattersManager.getDefault().hasAssociatedDetailFormatter(((IJavaObject)varValue).getJavaType()));
-				} catch (DebugException exception) {
-					JDIDebugUIPlugin.log(exception);
-				}
-			}
-		}
-
-		return false;
-	}
-
-	protected boolean isDeclaredSameAsConcrete(IJavaVariable var) throws DebugException {
-		IValue value= var.getValue();
-		if (value instanceof JDINullValue) {
-			return false;
-		}
-		return !var.getReferenceTypeName().equals(value.getReferenceTypeName());
-	}
-	protected String getTypeNameToOpen(String refType) throws DebugException {
-		refType = OpenVariableTypeAction.removeArray(refType);
-		if (fgPrimitiveTypes.contains(refType)) {
-			return null;
-		}
-		return refType;
-	}
-
-
-	protected boolean isPrimitiveType(IJavaVariable var) {
-		try {
-			return getTypeNameToOpen(var.getReferenceTypeName()) != null;
-		} catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-			// fall through
-		}
-		return false;
-	}
-	
-	protected boolean isValuePrimitiveType(IJavaVariable var) {
-		try {
-			return getTypeNameToOpen(var.getValue().getReferenceTypeName()) != null;
-		} catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-			// fall through
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWatchExpression.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWatchExpression.java
deleted file mode 100644
index 7fa8b9d..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWatchExpression.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.core.runtime.PlatformObject;
-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.IDebugTarget;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.debug.eval.IAstEvaluationEngine;
-import org.eclipse.jdt.debug.eval.IEvaluationListener;
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-import org.eclipse.jdt.internal.debug.core.model.JDIThread;
-
-/**
- * A watch expression is an expression which is re-evaluated after every thread
- * suspend event on the the top stack frame of the thread.
- * The expression can be re-evaluated in the context of another stack frame by
- * using <code>evaluateExpression(IJavaStackFrame)</code>.
- * Change debug events, with this as the source, are fired every time the
- * status/result of the expression changed.
- * 
- * @see org.eclipse.debug.core.model.IExpression
- */
-public class JavaWatchExpression extends PlatformObject implements IExpression, IDebugEventSetListener {
-	
-	/**
-	 * Runnable used to evaluate the snippet.
-	 */
-	private final class EvaluationRunnable implements Runnable {
-		
-		private final IJavaThread fJavaThread;
-		
-		private EvaluationRunnable(IJavaThread javaThread) {
-			fJavaThread= javaThread;
-		}
-		
-		public void run() {
-			IJavaStackFrame topStackFrame= null;
-			try {
-				topStackFrame= (IJavaStackFrame) fJavaThread.getTopStackFrame();
-			} catch (DebugException e) {
-				JDIDebugPlugin.log(e);
-				refreshForError();
-				return;
-			}
-			IJavaProject project;
-			if (topStackFrame == null || (project= getProject(topStackFrame)) == null) {
-				refreshForError();
-				return;
-			}
-			IAstEvaluationEngine evaluationEngine= JDIDebugUIPlugin.getDefault().getEvaluationEngine(project, fDebugTarget);
-			// the evaluation listener
-			IEvaluationListener listener= new IEvaluationListener() {
-				public void evaluationComplete(IEvaluationResult result) {
-					if (result.hasErrors()) {
-						setHasError(true);
-					} else {
-						fResultValue= result.getValue();
-					}
-					setPending(false);
-					refresh();
-				}
-			};
-			try {
-				evaluationEngine.evaluate(fExpressionText, topStackFrame, listener, DebugEvent.EVALUATION_IMPLICIT, false);
-			} catch (DebugException e) {
-				JDIDebugPlugin.log(e);
-				refreshForError();
-			}
-		}
-	}
-
-	/**
-	 * The expression is enable for implicit (re-)evaluation.
-	 */
-	public final static int STATUS_ENABLE= 0x001;
-
-	/**
-	 * The result value of the expression is pending. An (re-)evaluation has
-	 * been requested, the result of the evaluation has not been returned.
-	 */
-	public final static int STATUS_PENDING= 0x002;
-
-	/**
-	 * The last evaluation generated an error.
-	 */
-	public final static int STATUS_HAS_ERROR= 0x004;
-	
-	/**
-	 * The current result value of the expression is obsolete. The expression
-	 * has not been re-evaluated for the last thread suspend event. The result
-	 * is not up-to-date.
-	 */
-	public final static int STATUS_OBSOLETE= 0x008;
-
-	/**
-	 * The snippet which is evaluated.
-	 */
-	private String fExpressionText;
-
-	/**
-	 * The debug target on which the expression as been evaluated the last time.
-	 */
-	private IJavaDebugTarget fDebugTarget;
-
-	/**
-	 * The result of the last performed evaluation.
-	 */
-	private IJavaValue fResultValue;
-	
-	/**
-	 * The status of this watch expression.
-	 */
-	private int fStatus;
-
-	/**
-	 * Constructor for JavaWatchExpression.
-	 * 
-	 * @param expressionText the snippet to evaluate.
-	 */
-	public JavaWatchExpression(String expressionText) {
-		fExpressionText= expressionText;
-		fStatus= STATUS_ENABLE;
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#getExpressionText()
-	 */
-	public String getExpressionText() {
-		return fExpressionText;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#getValue()
-	 */
-	public IValue getValue() {
-		return fResultValue;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return fDebugTarget;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#dispose()
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent)
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		// if more than one suspended thread ?
-		for (int i= 0, length= events.length; i < length; i ++) {
-			DebugEvent event= events[i];
-			final Object source= event.getSource();
-			switch (event.getKind()) {
-				case DebugEvent.SUSPEND:
-					// if it is a suspend thread event (not the result of an previous implicite evaluation),
-					// perform an implicit evaluation.
-					if (event.getDetail() != DebugEvent.EVALUATION_IMPLICIT) {
-						if (source instanceof IJavaThread) {
-							final IJavaThread javaThread= (IJavaThread) source;
-							if (preEvaluationCheck(javaThread, true)) {
-								Runnable runnable= new Runnable() {
-									public void run() {
-										DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-											public void run() {
-												evaluateExpression(javaThread, true);
-											}
-										});
-									}
-								};
-								DebugPlugin.getDefault().asyncExec(runnable);
-							}
-						}
-					}
-					break;
-				case DebugEvent.TERMINATE:
-					// if the last debug target on which the expression as been evaluated terminates,
-					// discard the result.
-					if (source.equals(fDebugTarget)) {
-						fResultValue= null;
-						setHasError(false);
-						setObsolete(false);
-						refresh();
-					}
-					break;
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		return JDIDebugModel.getPluginIdentifier();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return fDebugTarget.getLaunch();
-	}
-
-	/**
-	 * Ask to evaluate the expression in the context of the given stack frame.
-	 * Equivalent to <code>evaluateExpression(javaStackFrame, false)</code>.
-	 * 
-	 * @param javaStackFrame the stack frame in the context of which performed
-	 * the evaluation.
-	 * 
-	 * @see JavaWatchExpression#evaluateExpression(IJavaStackFrame, boolean)
-	 */
-	public void evaluateExpression(IJavaThread javaThread) {
-		evaluateExpression(javaThread, false);
-	}
-
-	/**
-	 * Ask to evaluate the expression in the context of the given stack frame.
-	 * 
-	 * The evaluation is performed asynchronously. A change debug event, with
-	 * this as the source, is fired when the evaluation is completed.
-	 * 
-	 * @param javaStackFrame the stack frame in the context of which performed
-	 * the evaluation.
-	 * @param implicit indicate if the evaluation is implicite or not. If the
-	 * expression is disabled, implicite evaluation wont be performed.
-	 */
-	public void evaluateExpression(IJavaThread javaThread, boolean implicit) {
-		if (preEvaluationCheck(javaThread, implicit)) {
-			fDebugTarget= (IJavaDebugTarget)javaThread.getDebugTarget();
-			javaThread.queueRunnable(new EvaluationRunnable(javaThread));
-		}
-	}
-
-	private boolean preEvaluationCheck(IJavaThread javaThread, boolean implicit) {
-		if (javaThread == null) {
-			refresh();
-			return false;
-		}
-		if (javaThread.isSuspended() && ((JDIThread)javaThread).isInvokingMethod()) {
-			refreshForError();
-			return false;
-		}
-		if (implicit && !isEnabled()) {
-			if (fResultValue != null || hasError()) {
-				setObsolete(true);
-				refresh();
-			}
-			return false;
-		}
-		fResultValue= null;
-		setHasError(false);
-		setObsolete(false);
-		setPending(true);
-		refresh();
-		return true;
-	}
-
-	/**
-	 * Return the project associated with the given stack frame.
-	 */
-	private IJavaProject getProject(IJavaStackFrame javaStackFrame) {
-			ILaunch launch = javaStackFrame.getLaunch();
-			if (launch == null) {
-				return null;
-			}
-			ISourceLocator locator= launch.getSourceLocator();
-			if (locator == null) {
-				return null;
-			}
-
-			Object sourceElement = locator.getSourceElement(javaStackFrame);
-			if (sourceElement instanceof IJavaElement) {
-				return ((IJavaElement) sourceElement).getJavaProject();
-			}
-			return null;
-	}
-
-	/**
-	 * Indicate if the expression is enable for implicit (re-)evaluation.
-	 * @see JavaWatchExpression#STATUS_ENABLE
-	 */
-	public boolean isEnabled() {
-		return (fStatus & STATUS_ENABLE) != 0;
-	}
-	
-	/**
-	 * Indicate if the result value of the expression is pending.
-	 * @see JavaWatchExpression#STATUS_PENDING
-	 */
-	public boolean isPending() {
-		return (fStatus & STATUS_PENDING) != 0;
-	}
-
-	/**
-	 * Indicate if the result value of the expression is obsolete.
-	 * @see JavaWatchExpression#STATUS_OBSOLETE
-	 */
-	public boolean isObsolete() {
-		return (fStatus & STATUS_OBSOLETE) != 0;
-	}
-
-	/**
-	 * Indicate if the last evaluation of the expression generated errors.
-	 * @see JavaWatchExpression#STATUS_HAS_ERROR
-	 */
-	public boolean hasError() {
-		return (fStatus & STATUS_HAS_ERROR) != 0;
-	}
-	
-	/**
-	 * Return the status flags.
-	 */
-	public int getStatus() {
-		return fStatus;
-	}
-
-	/**
-	 * Set the enable flag.
-	 * @see JavaWatchExpression#STATUS_ENABLE
-	 */
-	public void setEnabled(boolean isEnabled) {
-		setStatus(STATUS_ENABLE, isEnabled);
-	}
-	
-	/**
-	 * Set the pending flag.
-	 * @see JavaWatchExpression#STATUS_PENDING
-	 */
-	protected void setPending(boolean isPending) {
-		setStatus(STATUS_PENDING, isPending);
-	}
-	
-	/**
-	 * Set the has_error flag.
-	 * @see JavaWatchExpression#STATUS_HAS_ERROR
-	 */
-	protected void setHasError(boolean hasError) {
-		setStatus(STATUS_HAS_ERROR, hasError);
-	}
-
-	/**
-	 * Set the obsolete flag.
-	 * @see JavaWatchExpression#STATUS_OBSOLETE
-	 */
-	protected void setObsolete(boolean isObsolete) {
-		setStatus(STATUS_OBSOLETE, isObsolete);
-	}
-
-	/**
-	 * Update the value of the given flag in the status integer.
-	 */
-	protected void setStatus(int flag, boolean value) {
-		if (value) {
-			fStatus |= flag;
-		} else {
-			fStatus &= ~flag;
-		}
-	}
-
-	/**
-	 * Set the snippet associated with this expression.
-	 * @param expressionText
-	 */	
-	public void setExpressionText(String expressionText) {
-		fExpressionText= expressionText;
-	}
-	
-	/**
-	 * Set a change debug event, with this as the source, to notified that the
-	 * status/content of the expression has changed.
-	 */
-	public void refresh() {
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {new DebugEvent(this, DebugEvent.CHANGE)});
-	}
-	
-	private void refreshForError() {
-		setHasError(true);
-		setPending(false);
-		refresh();
-	}
-	
-	/**
-	 * Method for debug purpose only.
-	 */	
-	public String toString() {
-		StringBuffer result= new StringBuffer("JavaWatchExpression \""); //$NON-NLS-1$
-		result.append(fExpressionText).append('"');
-		if (isEnabled()) {
-			result.append(" enabled"); //$NON-NLS-1$
-		}
-		if (hasError()) {
-			result.append(" has_error"); //$NON-NLS-1$
-		}
-		if (isObsolete()) {
-			result.append(" obsolete"); //$NON-NLS-1$
-		}
-		if (isPending()) {
-			result.append(" pending"); //$NON-NLS-1$
-		}
-		return result.toString();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWatchExpressionActionFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWatchExpressionActionFilter.java
deleted file mode 100644
index b65936e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWatchExpressionActionFilter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookLauncher;
-import org.eclipse.ui.IActionFilter;
-
-public class JavaWatchExpressionActionFilter implements IActionFilter {
-
-	public boolean testAttribute(Object target, String name, String value) {
-		if (target instanceof JavaWatchExpression) {
-			if (name.equals("ReevaluateWatchExpressionActionFilter") && value.equals("availableJavaDebugTarget")) { //$NON-NLS-1$ //$NON-NLS-2$
-				return availableJavaDebugTarget();
-			}
-		}
-		return false;
-	}
-	
-	private boolean availableJavaDebugTarget() {
-		IAdaptable context = DebugUITools.getDebugContext();
-		if (context instanceof IThread) {
-			try {
-				context = ((IThread)context).getTopStackFrame();
-			} catch (DebugException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		if (context != null) {
-			IJavaStackFrame frame = (IJavaStackFrame) context.getAdapter(IJavaStackFrame.class);
-			if (frame != null) {
-				if (frame.getLaunch().getAttribute(ScrapbookLauncher.SCRAPBOOK_LAUNCH) == null) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWordFinder.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWordFinder.java
deleted file mode 100644
index fd4f89a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/JavaWordFinder.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-
-public class JavaWordFinder {
-	
-	public static IRegion findWord(IDocument document, int offset) {
-		
-		int start= -1;
-		int end= -1;
-		
-		
-		try {
-			
-			int pos= offset;
-			char c;
-			
-			while (pos >= 0) {
-				c= document.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				--pos;
-			}
-			
-			start= pos;
-			
-			pos= offset;
-			int length= document.getLength();
-			
-			while (pos < length) {
-				c= document.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				++pos;
-			}
-			
-			end= pos;
-			
-		} catch (BadLocationException x) {
-		}
-		
-		if (start > -1 && end > -1) {
-			if (start == offset && end == offset)
-				return new Region(offset, 0);
-			else if (start == offset)
-				return new Region(start, end - start);
-			else
-				return new Region(start + 1, end - start - 1);
-		}
-		
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/LocalFileStorageEditorInput.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/LocalFileStorageEditorInput.java
deleted file mode 100644
index b8635f6..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/LocalFileStorageEditorInput.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import org.eclipse.jdt.launching.sourcelookup.LocalFileStorage;
-
-public class LocalFileStorageEditorInput extends StorageEditorInput {
-
-	/**
-	 * Constructs an editor input for the given storage
-	 */	
-	public LocalFileStorageEditorInput(LocalFileStorage storage) {
-		super(storage);
-	}
-	
-
-	/**
-	 * @see IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return ((LocalFileStorage)getStorage()).getFile().exists();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/MethodActionFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/MethodActionFilter.java
deleted file mode 100644
index f7de9ec..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/MethodActionFilter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.ui.IActionFilter;
-
-public class MethodActionFilter implements IActionFilter {
-
-	/**
-	 * @see org.eclipse.ui.IActionFilter#testAttribute(Object, String, String)
-	 */
-	public boolean testAttribute(Object target, String name, String value) {
-		if (name.equals("MethodActionFilter") //$NON-NLS-1$
-			&& value.equals("isNotAbstract")) { //$NON-NLS-1$
-			if (target instanceof IMethod) {
-				IMethod method = (IMethod) target;
-				try {
-					return !Flags.isAbstract(method.getFlags());
-				} catch (JavaModelException e) {
-					JDIDebugUIPlugin.log(e);
-				}
-				
-			}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/NoLineNumberAttributesStatusHandler.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/NoLineNumberAttributesStatusHandler.java
deleted file mode 100644
index 1386b99..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/NoLineNumberAttributesStatusHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Display;
-
-import com.sun.jdi.ReferenceType;
-
-public class NoLineNumberAttributesStatusHandler implements IStatusHandler {
-
-	/**
-	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(IStatus, Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException {
-		ReferenceType type= (ReferenceType) source;
-		final ErrorDialog dialog= new ErrorDialog(JDIDebugUIPlugin.getActiveWorkbenchShell(), DebugUIMessages.getString("NoLineNumberAttributesStatusHandler.Java_Breakpoint_1"), MessageFormat.format(DebugUIMessages.getString("NoLineNumberAttributesStatusHandler.Attempting_to_install_a_breakpoint_in_the_type_{0}_that_has_no_line_number_attributes.__The_breakpoint_cannot_be_installed.__Class_files_must_be_generated_with_the_line_number_attributes._2"), new String[] {type.name()}), status, IStatus.WARNING | IStatus.ERROR | IStatus.INFO); //$NON-NLS-1$ //$NON-NLS-2$
-		Display display= JDIDebugUIPlugin.getStandardDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				dialog.open();
-			}
-		});
-		return null;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/StorageEditorInput.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/StorageEditorInput.java
deleted file mode 100644
index 8c166fa..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/StorageEditorInput.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.jdt.ui.ISharedImages;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IStorageEditorInput;
-
-public abstract class StorageEditorInput extends PlatformObject implements IStorageEditorInput {
-
-	/**
-	 * Storage associated with this editor input
-	 */
-	private IStorage fStorage;
-	
-	/**
-	 * Constructs an editor input on the given storage
-	 */
-	public StorageEditorInput(IStorage storage) {
-		fStorage = storage;
-	}
-	
-	/**
-	 * @see IStorageEditorInput#getStorage()
-	 */
-	public IStorage getStorage() {
-		return fStorage;
-	}
-
-	/**
-	 * @see IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return JavaUI.getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJS_CUNIT);
-	}
-
-	/**
-	 * @see IEditorInput#getName()
-	 */
-	public String getName() {
-		return getStorage().getName();
-	}
-
-	/**
-	 * @see IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/**
-	 * @see IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return getStorage().getFullPath().toOSString();
-	}
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		return object instanceof StorageEditorInput &&
-		 getStorage().equals(((StorageEditorInput)object).getStorage());
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getStorage().hashCode();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/SuspendTimeoutStatusHandler.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/SuspendTimeoutStatusHandler.java
deleted file mode 100644
index ced239c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/SuspendTimeoutStatusHandler.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Display;
-
-public class SuspendTimeoutStatusHandler implements IStatusHandler {
-
-	/**
-	 * @see IStatusHandler#handleStatus(IStatus, Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException {
-		IJavaThread thread= (IJavaThread) source;
-		final ErrorDialog dialog= new ErrorDialog(JDIDebugUIPlugin.getActiveWorkbenchShell(), DebugUIMessages.getString("SuspendTimeoutHandler.suspend"), MessageFormat.format(DebugUIMessages.getString("SuspendTimeoutHandler.timeout_occurred"), new String[] {thread.getName()}), status, IStatus.WARNING | IStatus.ERROR | IStatus.INFO); //$NON-NLS-1$ //$NON-NLS-2$
-		Display display= JDIDebugUIPlugin.getStandardDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				dialog.open();
-			}
-		});
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/WatchExpressionDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/WatchExpressionDialog.java
deleted file mode 100644
index 82e4dd8..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/WatchExpressionDialog.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-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.IDocumentPartitioner;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Dialog for edit watch expression.
- */
-public class WatchExpressionDialog extends StatusDialog {
-
-	/**
-	 * The detail formatter to edit.
-	 */
-	private JavaWatchExpression fWatchExpression;
-
-	// widgets
-	private JDISourceViewer fSnippetViewer;
-	private Button fCheckBox;
-
-	public WatchExpressionDialog(Shell parent, JavaWatchExpression watchExpression, boolean editDialog) {
-		super(parent);
-		fWatchExpression= watchExpression;
-		setShellStyle(getShellStyle() | SWT.MAX | SWT.RESIZE);
-		String helpContextId = null;
-		if (editDialog) {
-			setTitle(DebugUIMessages.getString("WatchExpressionDialog.Edit_Watch_Expression_1")); //$NON-NLS-1$
-			helpContextId = IJavaDebugHelpContextIds.EDIT_WATCH_EXPRESSION_DIALOG;
-		} else {
-			setTitle(DebugUIMessages.getString("WatchExpressionDialog.Add_Watch_Expression_2")); //$NON-NLS-1$
-			helpContextId = IJavaDebugHelpContextIds.ADD_WATCH_EXPRESSION_DIALOG;
-		}
-		WorkbenchHelp.setHelp(parent, helpContextId);
-	}
-
-	/**
-	 * Create the dialog area.
-	 *
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		container.setLayout(layout);
-		GridData gd= new GridData(GridData.FILL_BOTH);
-		container.setLayoutData(gd);
-
-		// snippet label
-		Label label= new Label(container, SWT.NONE);
-		label.setText(DebugUIMessages.getString("WatchExpressionDialog.E&xpression_3")); //$NON-NLS-1$
-		gd= new GridData(GridData.BEGINNING);
-		label.setLayoutData(gd);
-		label.setFont(font);
-
-		// snippet viewer
-		fSnippetViewer= new JDISourceViewer(container,  null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL );
-		fSnippetViewer.setInput(this);
-
-		JavaTextTools tools= JavaPlugin.getDefault().getJavaTextTools();
-		IDocument document= new Document();
-		IDocumentPartitioner partitioner= tools.createDocumentPartitioner();
-		document.setDocumentPartitioner(partitioner);
-		partitioner.connect(document);
-		fSnippetViewer.configure(new JavaSourceViewerConfiguration(JavaPlugin.getDefault().getJavaTextTools(), null));
-		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);
-		document.set(fWatchExpression.getExpressionText());
-
-		// enable checkbox
-		fCheckBox= new Button(container, SWT.CHECK | SWT.LEFT);
-		fCheckBox.setText(DebugUIMessages.getString("WatchExpressionDialog.&Enable_4")); //$NON-NLS-1$
-		fCheckBox.setSelection(fWatchExpression.isEnabled());
-		fCheckBox.setFont(font);
-
-		applyDialogFont(container);
-		fSnippetViewer.getControl().setFocus();
-		return container;
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fWatchExpression.setEnabled(fCheckBox.getSelection());
-		fWatchExpression.setExpressionText(fSnippetViewer.getDocument().get());
-		super.okPressed();
-	}
-	
-	/**
-	 * Check the field values and display a message in the status if needed.
-	 */
-	private void checkValues() {
-		StatusInfo status= new StatusInfo();
-		if (fSnippetViewer.getDocument().get().trim().length() == 0) {
-			status.setError(DebugUIMessages.getString("WatchExpressionDialog.Expression_must_not_be_empty_5")); //$NON-NLS-1$
-		}
-		updateStatus(status);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ZipEntryStorageEditorInput.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ZipEntryStorageEditorInput.java
deleted file mode 100644
index a63bb55..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/ZipEntryStorageEditorInput.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui;
-
- 
-import org.eclipse.jdt.launching.sourcelookup.ZipEntryStorage;
-
-public class ZipEntryStorageEditorInput extends StorageEditorInput {
-	
-	public ZipEntryStorageEditorInput(ZipEntryStorage storage) {
-		super(storage);
-	}
-	
-	/**
-	 * @see IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return true;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractAddStepFilterAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractAddStepFilterAction.java
deleted file mode 100644
index e8a588d..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractAddStepFilterAction.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.internal.debug.ui.IJDIPreferencesConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugOptionsManager;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * This abstract class defines the behavior common to actions that allow the
- * user to add step filters dynamically, as they are debugging.
- * 
- * @since 2.1
- */
-public abstract class AbstractAddStepFilterAction extends ObjectActionDelegate {
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		
-		// Make sure there is a current selection
-		IStructuredSelection selection= getCurrentSelection();
-		if (selection == null) {
-			return;
-		}
-
-		// For each selected stack frame, add a corresponding active step filter
-		Iterator enum = selection.iterator();
-		while (enum.hasNext()) {
-			IJavaStackFrame frame = (IJavaStackFrame)enum.next();
-			String pattern = generateStepFilterPattern(frame);
-			if (pattern != null) {
-				addActiveStepFilter(pattern);						
-			}
-		}	    
-	}
-	
-	/**
-	 * Make the specified pattern an active step filter.
-	 */
-	private void addActiveStepFilter(String pattern) {
-		
-		// Get the active & inactive filter preferences and convert them to Lists
-		IPreferenceStore prefStore = getPreferenceStore();
-		String[] activeArray = JavaDebugOptionsManager.parseList(prefStore.getString(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST));
-		String[] inactiveArray = JavaDebugOptionsManager.parseList(prefStore.getString(IJDIPreferencesConstants.PREF_INACTIVE_FILTERS_LIST));
-		List activeList = new ArrayList(Arrays.asList(activeArray));
-		List inactiveList = new ArrayList(Arrays.asList(inactiveArray));
-		
-		// If the pattern is already in the active list, there's nothing to do
-		// (it can't/shouldn't be in the inactive list)
-		if (activeList.contains(pattern)) {
-			return;
-		}
-		
-		// Add the pattern to the active list and update the preference store
-		activeList.add(pattern);
-		String activePref = JavaDebugOptionsManager.serializeList((String[])activeList.toArray(new String[activeList.size()]));
-		prefStore.setValue(IJDIPreferencesConstants.PREF_ACTIVE_FILTERS_LIST, activePref);
-	
-		// If the pattern was present in the inactive list, remove it since we just
-		// added it to the active list
-		if (inactiveList.contains(pattern)) {
-			inactiveList.remove(pattern);
-			String inactivePref = JavaDebugOptionsManager.serializeList((String[])inactiveList.toArray(new String[inactiveList.size()]));
-			prefStore.setValue(IJDIPreferencesConstants.PREF_INACTIVE_FILTERS_LIST, inactivePref);			
-		}
-	}
-	
-	/**
-	 * Convenience method to get the preference store.
-	 */
-	private IPreferenceStore getPreferenceStore() {
-		return JDIDebugUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	/**
-	 * Generate an appropriate String pattern for the specified Java stack
-	 * frame or return null if generation failed.  For example, the pattern for
-	 * a type might look like, "com. example.MyType", while the pattern for a
-	 * package might look like, "com. example.*".
-	 * 
-	 * @param frame the Java stack frame used to generate a String pattern
-	 * @return String the pattern or <code>null</code> if one could not be
-	 * generated
-	 */
-	protected abstract String generateStepFilterPattern(IJavaStackFrame frame);
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractBreakpointRulerAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractBreakpointRulerAction.java
deleted file mode 100644
index ac80526..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractBreakpointRulerAction.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-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.IEditorInput;
-import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.IUpdate;
-
-public abstract class AbstractBreakpointRulerAction extends Action implements IUpdate {
-
-	private IVerticalRulerInfo fInfo;
-
-	private ITextEditor fTextEditor;
-
-	private IBreakpoint fBreakpoint;
-
-	protected IBreakpoint determineBreakpoint() {
-		IBreakpoint[] breakpoints= DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(JDIDebugPlugin.getUniqueIdentifier());
-		for (int i= 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint= breakpoints[i];
-			if (breakpoint instanceof IJavaLineBreakpoint) {
-				IJavaLineBreakpoint jBreakpoint= (IJavaLineBreakpoint)breakpoint;
-				try {
-					if (breakpointAtRulerLine(jBreakpoint)) {
-						return jBreakpoint;
-					}
-				} catch (CoreException ce) {
-					JDIDebugUIPlugin.log(ce);
-					continue;
-				}
-			}
-		}
-		return null;
-	}
-
-	protected IVerticalRulerInfo getInfo() {
-		return fInfo;
-	}
-
-	protected void setInfo(IVerticalRulerInfo info) {
-		fInfo = info;
-	}
-
-	protected ITextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	protected void setTextEditor(ITextEditor textEditor) {
-		fTextEditor = textEditor;
-	}
-
-	/** 
-	 * Returns the resource for which to create the marker, 
-	 * or <code>null</code> if there is no applicable resource.
-	 *
-	 * @return the resource for which to create the marker or <code>null</code>
-	 */
-	protected IResource getResource() {
-		IEditorInput input= fTextEditor.getEditorInput();
-		IResource resource= (IResource) input.getAdapter(IFile.class);
-		if (resource == null) {
-			resource= (IResource) input.getAdapter(IResource.class);
-		}	
-		return resource;
-	}
-
-	protected boolean breakpointAtRulerLine(IJavaLineBreakpoint jBreakpoint) throws CoreException {
-		AbstractMarkerAnnotationModel model = getAnnotationModel();
-		if (model != null) {
-			Position position= model.getMarkerPosition(jBreakpoint.getMarker());
-			if (position != null) {
-				IDocumentProvider provider= getTextEditor().getDocumentProvider();
-				IDocument doc=  provider.getDocument(getTextEditor().getEditorInput());
-				try {
-					int markerLineNumber= doc.getLineOfOffset(position.getOffset());
-					int rulerLine= getInfo().getLineOfLastMouseButtonActivity();
-					if (rulerLine == markerLineNumber) {
-						if (getTextEditor().isDirty()) {
-							return jBreakpoint.getLineNumber() == markerLineNumber + 1;
-						}
-						return true;
-					}
-				} catch (BadLocationException x) {
-					JDIDebugUIPlugin.log(x);
-				}
-			}
-		}
-		
-		return false;
-	}
-		
-	protected IBreakpoint getBreakpoint() {
-		return fBreakpoint;
-	}
-
-	protected void setBreakpoint(IBreakpoint breakpoint) {
-		fBreakpoint = breakpoint;
-	}
-	
-	/**
-	 * Returns the <code>AbstractMarkerAnnotationModel</code> of the editor's input.
-	 *
-	 * @return the marker annotation model
-	 */
-	protected AbstractMarkerAnnotationModel getAnnotationModel() {
-		IDocumentProvider provider= fTextEditor.getDocumentProvider();
-		IAnnotationModel model= provider.getAnnotationModel(getTextEditor().getEditorInput());
-		if (model instanceof AbstractMarkerAnnotationModel) {
-			return (AbstractMarkerAnnotationModel) model;
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractManageBreakpointActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractManageBreakpointActionDelegate.java
deleted file mode 100644
index bdbc4ea..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AbstractManageBreakpointActionDelegate.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-public abstract class AbstractManageBreakpointActionDelegate extends ManageBreakpointActionDelegate implements IObjectActionDelegate {
-
-	private IMember fMember;
-	private IJavaBreakpoint fBreakpoint;
-	private IWorkbenchPart fTargetPart;
-	
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		setTargetPart(targetPart);
-	}
-
-	protected IMember getMember() {
-		return fMember;
-	}
-
-	protected void setMember(IMember element) {
-		fMember = element;
-	}
-	
-	protected abstract IMember getMember(ISelection s);
-	
-	protected void updateForRun() {
-		IMember member= null;
-		IWorkbenchPage page= getPage();
-		if (page != null) {
-			ISelection selection= page.getSelection();
-			if (selection instanceof ITextSelection) {
-				member= ActionDelegateHelper.getDefault().getCurrentMember(selection);
-			} else {
-				member= getMember(selection);
-				if (member != null) {
-					IJavaProject project= member.getJavaProject();
-					if (!member.exists() || (project == null || !project.isOnClasspath(member))) {
-						member= null;
-					}
-				}
-			}
-		}
-		
-		setMember(member);
-		update();
-	}
-	
-	protected IWorkbenchPage getPage() {
-		if (getWorkbenchWindow() != null) {
-			return getWorkbenchWindow().getActivePage();
-		} else if (getTargetPart() != null) {
-			return getTargetPart().getSite().getPage();
-		}
-		return null;
-	}
-	protected abstract IJavaBreakpoint getBreakpoint(IMember element);
-	
-	protected void update() {
-		if (enableForMember(getMember())) {
-			setBreakpoint(getBreakpoint(getMember()));
-		} else {
-			setBreakpoint(null);
-		}
-	}
-	
-	protected IJavaBreakpoint getBreakpoint() {
-		return fBreakpoint;
-	}
-
-	protected void setBreakpoint(IJavaBreakpoint breakpoint) {
-		fBreakpoint = breakpoint;
-	}
-	
-	protected abstract boolean enableForMember(IMember member);
-	
-	protected IWorkbenchPart getTargetPart() {
-		return fTargetPart;
-	}
-
-	protected void setTargetPart(IWorkbenchPart targetPart) {
-		fTargetPart = targetPart;
-		setEnabledState(null);
-	}
-	
-	protected void update(ISelection selection) {
-		setEnabledState(null);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AccessWatchpointToggleAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AccessWatchpointToggleAction.java
deleted file mode 100644
index d3e31d7..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AccessWatchpointToggleAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class AccessWatchpointToggleAction extends BreakpointToggleAction {
-
-	/**
-	 * @see BreakpointToggleAction#getToggleState(IJavaBreakpoint)
-	 */
-	protected boolean getToggleState(IJavaBreakpoint watchpoint) throws CoreException {
-		return ((IJavaWatchpoint)watchpoint).isAccess();
-	}
-
-	/**
-	 * @see BreakpointToggleAction#doAction(IJavaBreakpoint)
-	 */
-	public void doAction(IJavaBreakpoint watchpoint) throws CoreException {
-		((IJavaWatchpoint)watchpoint).setAccess(!((IJavaWatchpoint)watchpoint).isAccess());
-	}
-
-	/**
-	 * @see BreakpointToggleAction#isEnabledFor(IStructuredSelection)
-	 */
-	public boolean isEnabledFor(IStructuredSelection selection) {
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (!(element instanceof IJavaWatchpoint)) {
-				return false;
-			}
-			
-		}
-		return true;
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionDelegateHelper.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionDelegateHelper.java
deleted file mode 100644
index a33b580..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionDelegateHelper.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor;
-import org.eclipse.jdt.ui.IWorkingCopyManager;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class ActionDelegateHelper implements IPartListener, IWindowListener {
-
-	private static ActionDelegateHelper fgDefault;
-	private IMember fMember= null;
-	private ITextEditor fTextEditor= null;
-	private ISelection fCurrentSelection= null;
-	private IWorkbenchWindow fCurrentWindow= null;
-	
-	public static ActionDelegateHelper getDefault() {
-		if (fgDefault == null) {
-			fgDefault= new ActionDelegateHelper();
-		} 
-		return fgDefault;
-	}
-	
-	private ActionDelegateHelper() {
-		fCurrentWindow= JDIDebugUIPlugin.getActiveWorkbenchWindow();
-		if (fCurrentWindow != null) {
-			fCurrentWindow.getWorkbench().addWindowListener(this);
-			fCurrentWindow.getPartService().addPartListener(this);
-			IWorkbenchPage page= fCurrentWindow.getActivePage();
-			if (page != null) {
-				IEditorPart part= page.getActiveEditor();
-				checkToSetTextEditor(part);
-			}
-		}
-	}
-	
-	/**
-	 * @see IPartListener#partActivated(IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-		checkToSetTextEditor(part);
-	}
-
-	/**
-	 * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-	 */
-	public void partBroughtToTop(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partClosed(IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (part == getTextEditor()) {
-			cleanup();
-		}
-	}
-
-	/**
-	 * @see IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {		
-	}
-
-	/**
-	 * @see IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-	}
-
-	protected IMember getMember() {
-		return fMember;
-	}
-
-	protected void setMember(IMember member) {
-		fMember = member;
-	}
-	
-	protected void checkToSetTextEditor(IWorkbenchPart part) {
-		if (part instanceof ITextEditor) {
-			if (part instanceof JavaSnippetEditor) {
-				cleanup();
-			} else {
-				setTextEditor((ITextEditor)part);
-			}	
-		} 
-	}
-	
-	public IMember getCurrentMember(ISelection currentSelection) {
-		if (currentSelection == getCurrentSelection()) {
-			return getMember();
-		}
-		setCurrentSelection(currentSelection);
-		ITextEditor editor= getTextEditor();
-		if (editor == null) {
-			return null;
-		}
-		IEditorInput editorInput= editor.getEditorInput();
-		ISelectionProvider sp= editor.getSelectionProvider();
-		if (sp == null) {
-			return null;
-		}
-		ITextSelection selection= (ITextSelection)sp.getSelection();
-		IMember m= null;
-		try {
-			IClassFile classFile= (IClassFile)editorInput.getAdapter(IClassFile.class);
-			if (classFile != null) {
-				IJavaElement e= classFile.getElementAt(selection.getOffset());
-				if (e instanceof IMember) {
-					m= (IMember)e;
-				}
-			} else {
-				IWorkingCopyManager manager= JavaUI.getWorkingCopyManager();
-				ICompilationUnit unit= manager.getWorkingCopy(editorInput);
-				if (unit != null) {
-					synchronized (unit) {
-						unit.reconcile();
-					}
-					IJavaElement e = unit.getElementAt(selection.getOffset());
-					if (e instanceof IMember) {
-						m= (IMember)e;
-					}
-				}
-			}
-
-			if (m != null) {
-				IJavaProject project= m.getJavaProject();
-				if (!m.exists() || (project == null || !project.isOnClasspath(m))) {
-					m= null;
-				}
-			}
-		} catch (JavaModelException jme) {
-			JDIDebugUIPlugin.log(jme);
-		}
-		
-		setMember(m);
-		return m;
-	}
-	
-	protected ITextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	protected void setTextEditor(ITextEditor textEditor) {
-		fTextEditor = textEditor;
-	}
-	
-	protected ISelection getCurrentSelection() {
-		return fCurrentSelection;
-	}
-
-	protected void setCurrentSelection(ISelection currentSelection) {
-		fCurrentSelection = currentSelection;
-	}
-	
-	/**
-	 * @see IWindowListener#windowActivated(IWorkbenchWindow)
-	 */
-	public void windowActivated(IWorkbenchWindow window) {
-		if (fCurrentWindow != null) {
-			fCurrentWindow.getPartService().removePartListener(this);
-			cleanup();
-		}
-		fCurrentWindow= window;
-		fCurrentWindow.getPartService().addPartListener(this);
-		IWorkbenchPage page= window.getActivePage();
-		if (page != null) {
-			checkToSetTextEditor(page.getActiveEditor());
-		}
-	}
-
-	/**
-	 * @see IWindowListener#windowClosed(IWorkbenchWindow)
-	 */
-	public void windowClosed(IWorkbenchWindow window) {
-		if (fCurrentWindow == window) {
-			fCurrentWindow= null;
-			cleanup();
-		}
-	}
-
-	/**
-	 * @see IWindowListener#windowDeactivated(IWorkbenchWindow)
-	 */
-	public void windowDeactivated(IWorkbenchWindow window) {
-	}
-
-	/**
-	 * @see IWindowListener#windowOpened(IWorkbenchWindow)
-	 */
-	public void windowOpened(IWorkbenchWindow window) {
-	}
-	
-	protected void cleanup() {
-		setTextEditor(null);
-		setCurrentSelection(null);
-		setMember(null);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.java
deleted file mode 100644
index 1835cc5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ActionMessages {
-
-	private static final String BUNDLE_NAME =
-		"org.eclipse.jdt.internal.debug.ui.actions.ActionMessages";//$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ActionMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-	
-	public static ResourceBundle getResourceBundle() {
-		return RESOURCE_BUNDLE;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.properties
deleted file mode 100644
index 783113c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.properties
+++ /dev/null
@@ -1,199 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ManageBreakpointActionDelegate.error.message1=Exceptions occurred attempting to manage breakpoint
-ManageBreakpointActionDelegate.error.title1=Manage Breakpoint
-ManageBreakpointActionDelegate.No_Breakpoint=Breakpoint can neither be added nor removed at current text selection
-
-AddExceptionAction.error.message=An exception occurred while adding the breakpoint
-AddExceptionAction.error.title=Add Exception
-
-AddExceptionDialog.caught=&Caught
-AddExceptionDialog.error.notThrowable=The selected class is not a subclass of java.lang.Throwable
-AddExceptionDialog.message=Choose an E&xception (? = any character, * = any string)
-AddExceptionDialog.title=Add Java Exception Breakpoint
-AddExceptionDialog.uncaught=&Uncaught
-AddExceptionDialog.An_exception_type_could_not_be_resolved_for_{0}_1=An exception type could not be resolved for {0}
-
-BreakpointAction.Breakpoint_configuration_1=Breakpoint configuration
-BreakpointAction.Exceptions_occurred_attempting_to_modify_breakpoint._2=Exceptions occurred attempting to modify breakpoint.
-
-BreakpointHitCountAction.&Enter_the_new_hit_count_for_the_breakpoint__3=&Enter the new hit count for the breakpoint:
-BreakpointHitCountAction.Enable_Hit_Count_1=Enable &Hit Count
-BreakpointHitCountAction.Exception_occurred_attempting_to_set_hit_count_1=Exception occurred attempting to set hit count
-BreakpointHitCountAction.Set_Breakpoint_Hit_Count_2=Set Breakpoint Hit Count
-BreakpointHitCountAction.Value_must_be_positive_integer=Hit count must be a positive integer
-
-BreakpointSuspendPolicy.Suspend_&Thread_2=&Suspend Thread
-BreakpointSuspendPolicy.Suspend_&VM_1=&Suspend VM
-
-DisplayAction.no_result_value=(No explicit return value)
-DisplayAction.result_pattern={0} {1}
-DisplayAction.type_name_pattern=\ ({0})
-
-DropToFrameAction.Drop_to_Frame_1=Drop to Frame
-DropToFrameAction.Exceptions_occurred_attempting_to_drop_to_frame._2=Exceptions occurred attempting to drop to frame.
-
-EnableDisableBreakpointRulerAction.&Disable_Breakpoint_4=&Disable Breakpoint
-EnableDisableBreakpointRulerAction.&Enable_Breakpoint_1=&Enable Breakpoint
-EnableDisableBreakpointRulerAction.&Enable_Breakpoint_5=&Enable Breakpoint
-EnableDisableBreakpointRulerAction.Enabling/disabling_breakpoints_2=Enabling/disabling breakpoints
-EnableDisableBreakpointRulerAction.Exceptions_occurred_enabling_disabling_the_breakpoint_3=Exceptions occurred enabling disabling the breakpoint
-
-Evaluate.error.message.direct_exception=An exception occurred: {0}
-Evaluate.error.message.exception.pattern={0} - {1}
-Evaluate.error.message.src_context=The selected stack frame must be associated with a Java project in the workspace to perform an evaluation.
-Evaluate.error.message.stack_frame_context=A stack frame must be selected to provide a context for an evaluation.
-Evaluate.error.message.wrapped_exception=An exception occurred: {0}
-Evaluate.error.problem_append_pattern={0}\n{1}
-Evaluate.error.title.eval_problems=Error Evaluating
-EvaluateAction.Cannot_open_Display_view=Cannot open Display View
-EvaluateAction.(evaluation_failed)_1=(evaluation failed)
-EvaluateAction.(evaluation_failed)_Reason=Evaluation failed. Reason(s):\n{0}
-EvaluateAction.Thread_not_suspended_-_unable_to_perform_evaluation._1=Thread not suspended - unable to perform evaluation.
-EvaluateAction.Cannot_perform_nested_evaluations._1=Cannot perform nested evaluations.
-
-ExceptionBreakpointFilterEditor.&Add_2=&Add
-ExceptionBreakpointFilterEditor.&Remove_8=Re&move
-ExceptionBreakpointFilterEditor.&Select_a_class_to_add_to_the_scope_of_the_breakpoint_20=&Select a class to add to the scope of the breakpoint
-ExceptionBreakpointFilterEditor.&Select_a_package_to_add_to_the_scope_of_the_breakpoint_15=&Select a package to add to the scope of the breakpoint
-ExceptionBreakpointFilterEditor.Add_&Class_4=Add &Class...
-ExceptionBreakpointFilterEditor.Add_&Package_6=Add &Packages...
-ExceptionBreakpointFilterEditor.Add_Class_to_Scope_17=Add Class to Scope
-ExceptionBreakpointFilterEditor.Add_Package_to_Scope_14=Add Packages to Scope
-ExceptionBreakpointFilterEditor.Choose_a_Java_Class_to_Add_It_to_the_Breakpoint_Scope_5=Choose a Java Class to Add It to the Breakpoint Scope
-ExceptionBreakpointFilterEditor.Choose_a_Package_to_Add_to_the_Breakpoint_Scope_7=Choose Packages to Add to the Breakpoint Scope
-ExceptionBreakpointFilterEditor.Could_not_open_class_selection_dialog_for_scope_definition_18=Could not open class selection dialog for scope definition
-ExceptionBreakpointFilterEditor.Could_not_open_package_selection_dialog_for_scope_definition_13=Could not open package selection dialog for scope definition
-ExceptionBreakpointFilterEditor.Invalid_expression._Return_to_continue;_escape_to_exit_11=Invalid expression. Return to continue; escape to exit
-ExceptionBreakpointFilterEditor.Key_in_the_name_of_a_new_scope_expression_3=Key in the name of a new scope expression
-ExceptionBreakpointFilterEditor.Re&strict_to_Selected_Location(s)__nChecked_locations_are_inclusive_(stop_in_the_specified_location)_nUnchecked_locations_are_exclusive_(do_not_stop_in_the_specified_location)_1=Re&strict to Selected Location(s):\nChecked locations are inclusive (stop in the specified location)\nUnchecked locations are exclusive (do not stop in the specified location)
-ExceptionBreakpointFilterEditor.Remove_all_selected_scoping_elements_9=Remove All Selected Scoping Elements
-
-InspectAction.Exception_occurred_inspecting_variable=Exception occurred inspecting variable.
-
-JavaBreakpointPreferencePage.&Caught_21=Cau&ght
-JavaBreakpointPreferencePage.&Enabled_22=&Enabled
-JavaBreakpointPreferencePage.&Modification_27=&Modification
-JavaBreakpointPreferencePage.&Uncaught_32=&Uncaught
-JavaBreakpointPreferencePage.Access_18=&Access
-JavaBreakpointPreferencePage.Condition_2=&Condition:
-JavaBreakpointPreferencePage.E&ntry_25=E&ntry
-JavaBreakpointPreferencePage.E&xit_26=E&xit
-JavaBreakpointPreferencePage.Enable_&Hit_Count_19=Enable &Hit Count
-JavaBreakpointPreferencePage.Enable_condition_1=E&nable Condition  (Ctrl+Space for code assist)
-JavaBreakpointPreferencePage.H&it_Count__20=H&it Count:
-JavaBreakpointPreferencePage.Java_Exception_Breakpoint_Properties_8=Java Exception Breakpoint Properties
-JavaBreakpointPreferencePage.Java_Line_Breakpoint_Properties_16=Java Line Breakpoint Properties
-JavaBreakpointPreferencePage.Java_Method_Breakpoint_Properties_10=Java Method Breakpoint Properties
-JavaBreakpointPreferencePage.Java_Pattern_Breakpoint_Properties_14=Java Pattern Breakpoint Properties
-JavaBreakpointPreferencePage.Java_Watchpoint_Properties_12=Java Watchpoint Properties
-JavaBreakpointPreferencePage.Line_Number___5=Line Number: 
-JavaBreakpointPreferencePage.Suspend_&Thread_30=Suspend &Thread
-JavaBreakpointPreferencePage.Suspend_&VM_31=Suspend &VM
-JavaBreakpointPreferencePage.Suspend_Policy_29=Suspend Policy
-JavaBreakpointPreferencePage.Type___4=Type: 
-JavaBreakpointPreferencePage.Method=Method: 
-JavaBreakpointPreferencePage.Field=Field: 
-JavaBreakpointPreferencePage.Member=Member: 
-JavaBreakpointPreferencePage.Invalid_condition=Invalid condition
-JavaBreakpointPreferencePage.Enable_Condition_(code_assist_not_available)_1=Enable Condition (code assist not available)
-
-JavaBreakpointPropertiesRulerAction.Breakpoint_&Properties_1=Breakpoint &Properties...
-
-ManageBreakpointRulerAction.add.label=Add &Breakpoint
-ManageBreakpointRulerAction.remove.label=Remove &Breakpoint
-ManageBreakpointRulerAction.error.adding.message1=Cannot add breakpoint
-ManageBreakpointRulerAction.error.removing.message1=Cannot remove breakpoint
-
-ManageMethodBreakpointAction.Problems_creating_breakpoint_7=Problems creating breakpoint
-ManageMethodBreakpointAction.Problems_removing_breakpoint_8=Problems removing breakpoint
-ManageMethodBreakpointActionDelegate.CantAdd=Method breakpoints can only be added to concrete methods.
-ManageMethodBreakpointActionDelegate.Add_Method_Breakpoint_Failed_2=Add Method Breakpoint Failed
-
-ManageWatchpointAction.Problems_adding_watchpoint_7=Problems adding watchpoint
-ManageWatchpointAction.Problems_removing_watchpoint_8=Problems removing watchpoint
-ManageWatchpointAction.The_selected_field_is_not_visible_in_the_currently_selected_debug_context._A_stack_frame_or_suspended_thread_which_contains_the_declaring_type_of_this_field_must_be_selected_1=The selected field is not visible in the currently selected debug context. A stack frame or suspended thread which contains the declaring type of this field must be selected
-ManageWatchpointActionDelegate.CantAdd=Watchpoints can only be added to field members.
-
-RunToLine.error.message1=An exception occurred while attempting to run to line
-RunToLine.error.title1=Run to Line
-
-ThreadFilterViewer.Must_select_a_thread_in_selected_targets_2=Must select a thread in selected targets
-ThreadFilterViewer.Thread_filtering_1=&Restrict to Selected Thread(s)
-
-MoveDownAction.M&ove_Down_1=&Down
-MoveUpAction.Move_U&p_1=U&p
-RemoveAction.&Remove_1=&Remove
-
-AddProjectAction.Add_Project_1=Add Project&s...
-AddProjectAction.Project_Selection_2=Project Selection
-AddProjectAction.Choose_&project(s)_to_add__3=Choose &project(s) to add:
-AddProjectAction.One_or_more_exceptions_occurred_while_adding_projects._1=One or more exceptions occurred while adding projects.
-
-ProjectSelectionDialog.Add_exported_entries_of_selected_projects._1=&Add exported entries of selected projects.
-ProjectSelectionDialog.Add_required_projects_of_selected_projects._2=Add &required projects of selected projects.
-
-AddJarAction.Add_&JARs_1=Add &JARs...
-AddJarAction.Selection_must_be_a_jar_or_zip_4=Selection must be a jar or zip
-AddJarAction.JAR_Selection_7=JAR Selection
-AddJarAction.Choose_jars_to_add__8=&Choose jars to add:
-
-AddExternalJar.Add_E&xternal_JARs_1=Add E&xternal JARs...
-AddExternalJar.Jar_Selection_3=Jar Selection
-
-AddFolderAction.Add_&Folders_1=Add &Folders
-AddFolderAction.Selection_must_be_a_folder_2=Selection must be a folder
-AddFolderAction.Folder_Selection_4=Folder Selection
-AddFolderAction.Choose_folders_to_add__5=&Choose folders to add:
-AddFolderAction.Classpath_already_includes_selected_folder(s)._1=Classpath already includes selected folder(s).
-
-AddExternalFolderAction.Add_External_Folder_1=Add &External Folder
-AddExternalFolderAction.Folder_Selection_3=Folder Selection
-
-AddVariableAction.Add_Variables_1=Add Var&iables
-AddVariableAction.Variable_Selection_1=Variable Selection
-
-AttachSourceAction.Attachments_For_____{0}_____1=Attachments For \'\'{0}\'\'
-AttachSourceAction.Attac&h_Source..._2=Attac&h Source
-
-AddAdvancedAction.Ad&vanced..._1=&Advanced...
-
-TerminateEvaluationActionTerminate_Evaluation_1=Terminate Evaluation
-TerminateEvaluationActionAttempts_to_terminate_an_evaluation_can_only_stop_a_series_of_statements._The_currently_executing_statement_(such_as_a_method_invocation)_cannot_be_interrupted._2=Attempts to terminate an evaluation can only stop a series of statements. The currently executing statement (such as a method invocation) cannot be interrupted.
-TerminateEvaluationActionAn_exception_occurred_while_terminating_the_evaluation_3=An exception occurred while terminating the evaluation
-
-InstanceFilterViewer.Restricted_to_Selected_Ob&ject(s)_1=Restricted to Selected &Object(s)
-
-InstanceFiltersAction.Restrict_selected_breakpoint(s)_to_object___{0}__1=Restrict selected breakpoint(s) to object \"{0}"
-InstanceFiltersAction.Instance_Filter_Breakpoint_Selection_2=Instance Filter Breakpoint Selection
-
-StepIntoSelectionHandler.Execution_did_not_enter___{0}___before_the_current_method_returned._1=Execution did not enter \"{0}\" before the current method returned.
-StepIntoSelectionHandler.Error_2=Error
-
-JavaBreakpointPreferencePage.Suspend_when_1=Suspend when
-JavaBreakpointPreferencePage.condition_is___true__._2=condition is \'tr&ue\'
-JavaBreakpointPreferencePage.value_of_condition_change._3=value of condition ch&anges
-
-StepIntoSelectionActionDelegate.No_Method=Current text selection does not resolve to a Java method
-
-PrimitiveOptionsDialog.Primitive_Type_Display_Options_1=Primitive Type Display Options
-
-StepIntoSelectionActionDelegate.Step_into_selection_only_available_for_types_in_Java_projects._1=Step into selection only available for types in Java projects.
-StepIntoSelectionActionDelegate.Step_into_selection_only_available_on_current_line_of_execution._2=Step into selection only available on current line of execution.
-StepIntoSelectionActionDelegate.Step_into_selection_only_available_in_top_stack_frame._3=Step into selection only available in top stack frame.
-StepIntoSelectionActionDelegate.Step_into_selection_only_available_in_Java_editor._4=Step into selection only available in Java editor.
-InstanceFiltersAction.breakpoint_{0}_already_restricted._Reset_the_restriction_to_object_{1}_=Breakpoint: {0}\nis already restricted to an other object.\nDo you want to set the restriction to object \"{1}\"?
-InstanceFiltersAction.Yes_2=Yes
-InstanceFiltersAction.Cancel_3=Cancel
-
-ObjectActionDelegate.Unable_to_display_type_hierarchy._The_selected_source_element_is_not_contained_in_the_workspace._1=Unable to display type hierarchy. The selected source element is not contained in the workspace.
-ManageBreakpointRulerAction.Breakpoints_can_only_be_created_within_the_type_associated_with_the_editor__{0}._1=Breakpoints can only be created within the type associated with the editor: {0}.
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddAdvancedAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddAdvancedAction.java
deleted file mode 100644
index 6ba4907..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddAdvancedAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathAdvancedDialog;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Opens a dialog to allow the user to choose among advanced actions.
- */
-public class AddAdvancedAction extends RuntimeClasspathAction {
-	
-	private IAction[] fActions;
-
-	public AddAdvancedAction(RuntimeClasspathViewer viewer, IAction[] actions) {
-		super(ActionMessages.getString("AddAdvancedAction.Ad&vanced..._1"), viewer); //$NON-NLS-1$
-		fActions = actions;
-	}	
-
-	/**
-	 * Prompts for a project to add.
-	 * 
-	 * @see IAction#run()
-	 */	
-	public void run() {
-		Dialog dialog = new RuntimeClasspathAdvancedDialog(getShell(), fActions, getViewer());
-		dialog.open();			
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return getViewer().isEnabled();
-	}
-		
-	/**
-	 * @see RuntimeClasspathAction#setViewer(RuntimeClasspathViewer)
-	 */
-	public void setViewer(RuntimeClasspathViewer viewer) {
-		super.setViewer(viewer);
-		if (fActions != null) {
-			for (int i = 0; i < fActions.length; i++) {
-				if (fActions[i] instanceof RuntimeClasspathAction) {
-					((RuntimeClasspathAction)fActions[i]).setViewer(viewer);
-				}
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExceptionAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExceptionAction.java
deleted file mode 100644
index 316b1ed..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExceptionAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.debug.ui.BreakpointUtils;
-import org.eclipse.jdt.internal.debug.ui.ExceptionHandler;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public class AddExceptionAction implements IViewActionDelegate, IWorkbenchWindowActionDelegate {
-
-	public void run(IAction action) {		
-		Shell shell= JDIDebugUIPlugin.getActiveWorkbenchShell();
-		AddExceptionDialog dialog= new AddExceptionDialog(shell);
-		if (dialog.open() == AddExceptionDialog.OK) {
-			IType type= dialog.getType();
-			boolean checked= dialog.getExceptionType() == AddExceptionDialog.CHECKED_EXCEPTION;
-			boolean caught= dialog.isCaughtSelected();
-			boolean uncaught= dialog.isUncaughtSelected();
-			try {
-				Map attributes = new HashMap(10);
-				BreakpointUtils.addJavaBreakpointAttributes(attributes, type);
-				JDIDebugModel.createExceptionBreakpoint(BreakpointUtils.getBreakpointResource(type), type.getFullyQualifiedName(), caught, uncaught, checked, true, attributes);
-			} catch (CoreException exc) {
-				ExceptionHandler.handle(exc, ActionMessages.getString("AddExceptionAction.error.title"), ActionMessages.getString("AddExceptionAction.error.message")); //$NON-NLS-2$ //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExceptionDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExceptionDialog.java
deleted file mode 100644
index 870a22a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExceptionDialog.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.corext.util.AllTypesCache;
-import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
-import org.eclipse.jdt.internal.corext.util.TypeInfo;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext;
-import org.eclipse.jdt.internal.ui.util.TypeInfoLabelProvider;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-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.Text;
-import org.eclipse.ui.dialogs.FilteredList;
-
-/**
- * A dialog to select an exception type to add as an exception breakpoint.
- */
-public class AddExceptionDialog extends StatusDialog {
-	
-	private static final String DIALOG_SETTINGS= "AddExceptionDialog"; //$NON-NLS-1$
-	private static final String SETTING_CAUGHT_CHECKED= "caughtChecked"; //$NON-NLS-1$
-	private static final String SETTING_UNCAUGHT_CHECKED= "uncaughtChecked"; //$NON-NLS-1$
-
-	private Text fFilterText;
-	private FilteredList fTypeList;
-	private boolean fTypeListInitialized= false;
-	
-	private IType fResolvedType= null;
-	
-	private Button fCaughtBox;
-	private Button fUncaughtBox;
-	
-	public static final int CHECKED_EXCEPTION= 0;
-	public static final int UNCHECKED_EXCEPTION= 1;
-	public static final int NO_EXCEPTION= -1;
-	
-	private int fExceptionType= NO_EXCEPTION;
-	private boolean fIsCaughtSelected= true;
-	private boolean fIsUncaughtSelected= true;
-	
-	IBreakpoint[] fBreakpoints= DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(JDIDebugModel.getPluginIdentifier());
-	
-	private static final float TYPE_LIST_HEIGHT_PERCENT = 0.4f;
-	
-	private SelectionListener fListListener= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent evt) {
-			validateListSelection();
-		}
-		
-		public void widgetDefaultSelected(SelectionEvent e) {
-			validateListSelection();
-			if (getStatus().isOK()) {
-				okPressed();
-			}
-		}
-	};
-	
-	public AddExceptionDialog(Shell parentShell) {
-		super(parentShell);
-		setTitle(ActionMessages.getString("AddExceptionDialog.title")); //$NON-NLS-1$
-	}
-	
-	protected Control createDialogArea(Composite ancestor) {
-		Font font= ancestor.getFont();
-		initFromDialogSettings();
-
-		Composite parent= new Composite(ancestor, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		parent.setLayout(layout);
-		parent.setFont(font);
-	
-		Label l= new Label(parent, SWT.NULL);
-		l.setLayoutData(new GridData());
-		l.setText(ActionMessages.getString("AddExceptionDialog.message")); //$NON-NLS-1$
-		l.setFont(font);
-		
-		setFilterText(new Text(parent, SWT.BORDER));		
-
-		GridData data= new GridData();
-		data.grabExcessVerticalSpace= false;
-		data.grabExcessHorizontalSpace= true;
-		data.horizontalAlignment= GridData.FILL;
-		data.verticalAlignment= GridData.BEGINNING;
-		getFilterText().setLayoutData(data);
-		getFilterText().setFont(font);		
-		Listener listener= new Listener() {
-			public void handleEvent(Event e) {
-				getTypeList().setFilter(getFilterText().getText());
-			}
-		};		
-		getFilterText().addListener(SWT.Modify, listener);								
-		
-		setTypeList(new FilteredList(parent, SWT.BORDER | SWT.SINGLE, 
-				new TypeInfoLabelProvider(TypeInfoLabelProvider.SHOW_PACKAGE_POSTFIX),
-				true, false, true));
-
-		GridData gd= new GridData(GridData.FILL_BOTH);
-		gd.widthHint= convertWidthInCharsToPixels(65);
-		int displayHeight = getDisplayHeight();
-		int typeListHeight = Math.round((float)displayHeight * TYPE_LIST_HEIGHT_PERCENT);
-		gd.heightHint= typeListHeight;
-		getTypeList().setLayoutData(gd);				
-		
-		setCaughtBox(new Button(parent, SWT.CHECK));
-		getCaughtBox().setLayoutData(new GridData());
-		getCaughtBox().setFont(font);
-		getCaughtBox().setText(ActionMessages.getString("AddExceptionDialog.caught")); //$NON-NLS-1$
-		getCaughtBox().setSelection(fIsCaughtSelected);
-		
-		setUncaughtBox(new Button(parent, SWT.CHECK));
-		getUncaughtBox().setLayoutData(new GridData());
-		getUncaughtBox().setFont(font);
-		getUncaughtBox().setText(ActionMessages.getString("AddExceptionDialog.uncaught")); //$NON-NLS-1$
-		getUncaughtBox().setSelection(isUncaughtSelected());
-		
-		addFromListSelected(true);
-		applyDialogFont(parent);
-		return parent;
-	}
-	
-	protected int getDisplayHeight() {
-		Display display = getShell().getDisplay();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-		return display.getBounds().height;
-	}
-		
-	protected void addFromListSelected(boolean selected) {
-		getTypeList().setEnabled(selected);
-		if (selected) {
-			if (!isTypeListInitialized()) {
-				initializeTypeList();
-				if (!isTypeListInitialized()) {
-					return; //cancelled
-				}
-			}
-			getTypeList().addSelectionListener(getListListener());
-		} else {
-			getTypeList().removeSelectionListener(getListListener());
-		}
-	}
-	
-	protected void okPressed() {
-		TypeInfo typeRef= (TypeInfo)getTypeList().getSelection()[0];
-		if (fResolvedType == null || !typeRef.getFullyQualifiedName().equals(fResolvedType.getFullyQualifiedName())) {
-			resolveType(typeRef);
-			if (fResolvedType == null) {
-				updateStatus(new StatusInfo(StatusInfo.ERROR, MessageFormat.format(ActionMessages.getString("AddExceptionDialog.An_exception_type_could_not_be_resolved_for_{0}_1"), new Object[]{typeRef.getFullyQualifiedName()}))); //$NON-NLS-1$
-				return;
-			}
-		}
-		
-		resolveExceptionType(fResolvedType);
-		
-		if (getExceptionType() == NO_EXCEPTION) {
-			updateStatus(new StatusInfo(StatusInfo.ERROR, ActionMessages.getString("AddExceptionDialog.error.notThrowable"))); //$NON-NLS-1$
-			return;
-		}
-		setIsCaughtSelected(getCaughtBox().getSelection());
-		setIsUncaughtSelected(getUncaughtBox().getSelection());
-		saveDialogSettings();
-		
-		super.okPressed();
-	}
-	
-	protected void resolveType(TypeInfo typeRef) {
-		fResolvedType= null;
-		try {
-			fResolvedType= typeRef.resolveType(SearchEngine.createWorkspaceScope());
-		} catch (JavaModelException e) {
-			updateStatus(e.getStatus());
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-	
-	private void resolveExceptionType(final IType type) {
-		fExceptionType= NO_EXCEPTION;
-	
-		BusyIndicatorRunnableContext context= new BusyIndicatorRunnableContext();
-		IRunnableWithProgress runnable= new IRunnableWithProgress() {
-			public void run(IProgressMonitor pm) {
-				try {
-					ITypeHierarchy hierarchy= type.newSupertypeHierarchy(pm);
-					IType curr= type;
-					while (curr != null) {
-						String name= JavaModelUtil.getFullyQualifiedName(curr);
-						
-						if ("java.lang.Throwable".equals(name)) { //$NON-NLS-1$
-							fExceptionType= CHECKED_EXCEPTION;
-							return;
-						}
-						if ("java.lang.RuntimeException".equals(name) || "java.lang.Error".equals(name)) { //$NON-NLS-2$ //$NON-NLS-1$
-							fExceptionType= UNCHECKED_EXCEPTION;
-							return;
-						}
-						curr= hierarchy.getSuperclass(curr);
-					}
-				} catch (JavaModelException e) {
-					JDIDebugUIPlugin.log(e);
-				}
-			}
-		};
-		try {		
-			context.run(false, false, runnable);
-		} catch (InterruptedException e) {
-		} catch (InvocationTargetException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-	
-	public IType getType() {
-		return fResolvedType;
-	}
-	
-	public int getExceptionType() {
-		return fExceptionType;
-	}
-	
-	public boolean isCaughtSelected() {
-		return fIsCaughtSelected;
-	}
-	
-	public boolean isUncaughtSelected() {
-		return fIsUncaughtSelected;
-	}
-	
-	protected void initializeTypeList() {
-		getFilterText().setText("*Exception*"); //$NON-NLS-1$
-		final ArrayList results= new ArrayList();
-		if (AllTypesCache.isCacheUpToDate()) {
-			// run without progress monitor
-			try {
-				AllTypesCache.getTypes(SearchEngine.createWorkspaceScope(), IJavaSearchConstants.CLASS, null, results);
-			} catch (JavaModelException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		
-		} else {
-			IRunnableContext context= new ProgressMonitorDialog(getShell());
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor pm) throws InvocationTargetException {
-					
-					try {
-						AllTypesCache.getTypes(SearchEngine.createWorkspaceScope(), IJavaSearchConstants.CLASS, pm, results);
-					} catch (JavaModelException e) {
-						throw new InvocationTargetException(e);
-					}
-				}
-			};
-			try {		
-				context.run(false, false, runnable);
-			} catch (InterruptedException e) {
-			} catch (InvocationTargetException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		
-		getTypeList().setElements(results.toArray()); // XXX inefficient
-		setTypeListInitialized(true);
-	}
-	
-	private void validateListSelection() {
-		StatusInfo status= new StatusInfo();
-		if (fTypeList.getSelection().length != 1) {
-			status.setError("");  //$NON-NLS-1$
-			updateStatus(status);
-			return;
-		}
-		
-		updateStatus(status);
-	}
-	
-	private void initFromDialogSettings() {
-		IDialogSettings allSetttings= JDIDebugUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section= allSetttings.getSection(DIALOG_SETTINGS);
-		if (section == null) {
-			section= allSetttings.addNewSection(DIALOG_SETTINGS);
-			section.put(SETTING_CAUGHT_CHECKED, true);
-			section.put(SETTING_UNCAUGHT_CHECKED, true);
-		}
-		setIsCaughtSelected(section.getBoolean(SETTING_CAUGHT_CHECKED));
-		setIsUncaughtSelected(section.getBoolean(SETTING_UNCAUGHT_CHECKED));
-	}
-	
-	private void saveDialogSettings() {
-		IDialogSettings allSetttings= JDIDebugUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section= allSetttings.getSection(DIALOG_SETTINGS);
-		// won't be null since we initialize it in the method above.
-		section.put(SETTING_CAUGHT_CHECKED, isCaughtSelected());
-		section.put(SETTING_UNCAUGHT_CHECKED, isUncaughtSelected());
-	}
-	
-	public void create() {
-		super.create();
-		getFilterText().setFocus();
-	}
-	
-	protected Button getCaughtBox() {
-		return fCaughtBox;
-	}
-
-	protected void setCaughtBox(Button caughtBox) {
-		fCaughtBox = caughtBox;
-	}
-
-	protected void setExceptionType(int exceptionType) {
-		fExceptionType = exceptionType;
-	}
-
-	protected Text getFilterText() {
-		return fFilterText;
-	}
-
-	protected void setFilterText(Text filterText) {
-		fFilterText = filterText;
-	}
-
-	protected void setIsCaughtSelected(boolean isCaughtSelected) {
-		fIsCaughtSelected = isCaughtSelected;
-	}
-
-	protected void setIsUncaughtSelected(boolean isUncaughtSelected) {
-		fIsUncaughtSelected = isUncaughtSelected;
-	}
-
-	protected SelectionListener getListListener() {
-		return fListListener;
-	}
-
-	protected void setListListener(SelectionListener listListener) {
-		fListListener = listListener;
-	}
-
-	protected FilteredList getTypeList() {
-		return fTypeList;
-	}
-
-	protected void setTypeList(FilteredList typeList) {
-		fTypeList = typeList;
-	}
-
-	protected boolean isTypeListInitialized() {
-		return fTypeListInitialized;
-	}
-
-	protected void setTypeListInitialized(boolean typeListInitialized) {
-		fTypeListInitialized = typeListInitialized;
-	}
-
-	protected Button getUncaughtBox() {
-		return fUncaughtBox;
-	}
-
-	protected void setUncaughtBox(Button uncaughtBox) {
-		fUncaughtBox = uncaughtBox;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExternalFolderAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExternalFolderAction.java
deleted file mode 100644
index 063e51c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExternalFolderAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.DirectoryDialog;
-
-/**
- * Adds an external folder to the runtime class path.
- */
-public class AddExternalFolderAction extends OpenDialogAction {
-
-	public AddExternalFolderAction(RuntimeClasspathViewer viewer, String dialogSettingsPrefix) {
-		super(ActionMessages.getString("AddExternalFolderAction.Add_External_Folder_1"), viewer, dialogSettingsPrefix); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Prompts for a folder to add.
-	 * 
-	 * @see IAction#run()
-	 */	
-	public void run() {
-							
-		String lastUsedPath= getDialogSetting(LAST_PATH_SETTING);
-		if (lastUsedPath == null) {
-			lastUsedPath= ""; //$NON-NLS-1$
-		}
-		DirectoryDialog dialog= new DirectoryDialog(getShell(), SWT.MULTI);
-		dialog.setText(ActionMessages.getString("AddExternalFolderAction.Folder_Selection_3")); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-		String res= dialog.open();
-		if (res == null) {
-			return;
-		}
-			
-		IPath filterPath= new Path(dialog.getFilterPath());
-		IRuntimeClasspathEntry[] elems= new IRuntimeClasspathEntry[1];
-		IPath path= new Path(res).makeAbsolute();	
-		elems[0]= JavaRuntime.newArchiveRuntimeClasspathEntry(path);
-
-		setDialogSetting(LAST_PATH_SETTING, filterPath.toOSString());
-		
-		getViewer().addEntries(elems);
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return getViewer().isEnabled();
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExternalJarAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExternalJarAction.java
deleted file mode 100644
index b0d0d33..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddExternalJarAction.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.FileDialog;
-
-/**
- * Adds an external jar to the runtime class path.
- */
-public class AddExternalJarAction extends OpenDialogAction {
-
-	public AddExternalJarAction(RuntimeClasspathViewer viewer, String dialogSettingsPrefix) {
-		super(ActionMessages.getString("AddExternalJar.Add_E&xternal_JARs_1"), viewer, dialogSettingsPrefix); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Prompts for a project to add.
-	 * 
-	 * @see IAction#run()
-	 */	
-	public void run() {
-							
-		String lastUsedPath= getDialogSetting(LAST_PATH_SETTING);
-		if (lastUsedPath == null) {
-			lastUsedPath= ""; //$NON-NLS-1$
-		}
-		FileDialog dialog= new FileDialog(getShell(), SWT.MULTI);
-		dialog.setText(ActionMessages.getString("AddExternalJar.Jar_Selection_3")); //$NON-NLS-1$
-		dialog.setFilterExtensions(new String[] {"*.jar;*.zip"}); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-		String res= dialog.open();
-		if (res == null) {
-			return;
-		}
-		String[] fileNames= dialog.getFileNames();
-		int nChosen= fileNames.length;
-			
-		IPath filterPath= new Path(dialog.getFilterPath());
-		IRuntimeClasspathEntry[] elems= new IRuntimeClasspathEntry[nChosen];
-		for (int i= 0; i < nChosen; i++) {
-			IPath path= filterPath.append(fileNames[i]).makeAbsolute();	
-			elems[i]= JavaRuntime.newArchiveRuntimeClasspathEntry(path);
-		}
-		setDialogSetting(LAST_PATH_SETTING, filterPath.toOSString());
-		
-		getViewer().addEntries(elems);
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return getViewer().isEnabled();
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddFolderAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddFolderAction.java
deleted file mode 100644
index 56350e3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddFolderAction.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Adds an internal folder to the runtime class path.
- */
-public class AddFolderAction extends RuntimeClasspathAction {
-
-	public AddFolderAction(RuntimeClasspathViewer viewer) {
-		super(ActionMessages.getString("AddFolderAction.Add_&Folders_1"), viewer); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Prompts for folder(s) to add.
-	 * 
-	 * @see IAction#run()
-	 */	
-	public void run() {
-		
-		ISelectionStatusValidator validator= new ISelectionStatusValidator() {
-			List fAlreadySelected = getSelectedFolders();
-			public IStatus validate(Object[] selection) {
-				for (int i= 0; i < selection.length; i++) {
-					if (!(selection[i] instanceof IContainer)) {
-						return new Status(IStatus.ERROR, JDIDebugPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, ActionMessages.getString("AddFolderAction.Selection_must_be_a_folder_2"), null); //$NON-NLS-1$
-					} else if (fAlreadySelected.contains(selection[i])) {
-						return new Status(IStatus.ERROR, JDIDebugPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, ActionMessages.getString("AddFolderAction.Classpath_already_includes_selected_folder(s)._1"), null); //$NON-NLS-1$
-					}
-					
-				}
-				return new Status(IStatus.OK, JDIDebugPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-			}			
-		};
-		
-		ILabelProvider lp= new WorkbenchLabelProvider();
-		ITreeContentProvider cp= new WorkbenchContentProvider();
-
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp);
-		dialog.setValidator(validator);
-		dialog.setTitle(ActionMessages.getString("AddFolderAction.Folder_Selection_4")); //$NON-NLS-1$
-		dialog.setMessage(ActionMessages.getString("AddFolderAction.Choose_folders_to_add__5")); //$NON-NLS-1$
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());	
-
-		if (dialog.open() == ElementTreeSelectionDialog.OK) {
-			Object[] elements= dialog.getResult();
-			IRuntimeClasspathEntry[] res= new IRuntimeClasspathEntry[elements.length];
-			for (int i= 0; i < res.length; i++) {
-				IResource elem= (IResource)elements[i];
-				res[i]= JavaRuntime.newArchiveRuntimeClasspathEntry(elem);
-			}
-			getViewer().addEntries(res);
-		}
-					
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return getViewer().isEnabled();
-	}
-	
-	/**
-	 * Returns a list of resources of currently selected jars
-	 */
-	protected List getSelectedFolders() {
-		List list = getEntiresAsList();
-		List jars = new ArrayList();
-		Iterator iter = list.iterator();
-		while (iter.hasNext()) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry)iter.next();
-			if (entry.getType() == IRuntimeClasspathEntry.ARCHIVE) {
-				IResource res = entry.getResource();
-				if (res != null && res instanceof IContainer) {
-					jars.add(res);
-				}
-			}
-		}
-		return jars;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddJarAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddJarAction.java
deleted file mode 100644
index 6aa786f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddJarAction.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ViewerFilter;
-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 AddJarAction extends RuntimeClasspathAction {
-
-	public AddJarAction(RuntimeClasspathViewer viewer) {
-		super(ActionMessages.getString("AddJarAction.Add_&JARs_1"), viewer); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Prompts for a jar to add.
-	 * 
-	 * @see IAction#run()
-	 */	
-	public void run() {
-		
-		ISelectionStatusValidator validator= new ISelectionStatusValidator() {
-			public IStatus validate(Object[] selection) {
-				for (int i= 0; i < selection.length; i++) {
-					if (selection[i] instanceof IFile) {
-						IFile file = (IFile)selection[i];
-						String ext = file.getFileExtension();
-						if (ext.equalsIgnoreCase("jar") || ext.equalsIgnoreCase("zip")) { //$NON-NLS-1$ //$NON-NLS-2$
-							// OK
-						} else {
-							return new Status(IStatus.ERROR, JDIDebugPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, ActionMessages.getString("AddJarAction.Selection_must_be_a_jar_or_zip_4"), null); //$NON-NLS-1$
-						}
-					} else {
-						return new Status(IStatus.ERROR, JDIDebugPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, ActionMessages.getString("AddJarAction.Selection_must_be_a_jar_or_zip_4"), null); //$NON-NLS-1$
-					}
-					
-				}
-				return new Status(IStatus.OK, JDIDebugPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-			}			
-		};
-		ViewerFilter filter= new ObjectFilter(getSelectedJars());
-		
-		ILabelProvider lp= new WorkbenchLabelProvider();
-		ITreeContentProvider cp= new WorkbenchContentProvider();
-
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp);
-		dialog.setValidator(validator);
-		dialog.setTitle(ActionMessages.getString("AddJarAction.JAR_Selection_7")); //$NON-NLS-1$
-		dialog.setMessage(ActionMessages.getString("AddJarAction.Choose_jars_to_add__8")); //$NON-NLS-1$
-		dialog.addFilter(filter);
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());	
-		dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-
-		if (dialog.open() == ElementTreeSelectionDialog.OK) {
-			Object[] elements= dialog.getResult();
-			IRuntimeClasspathEntry[] res= new IRuntimeClasspathEntry[elements.length];
-			for (int i= 0; i < res.length; i++) {
-				IResource elem= (IResource)elements[i];
-				res[i]= JavaRuntime.newArchiveRuntimeClasspathEntry(elem);
-			}
-			getViewer().addEntries(res);
-		}
-					
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return getViewer().isEnabled();
-	}
-	
-	/**
-	 * Returns a list of resources of currently selected jars
-	 */
-	protected List getSelectedJars() {
-		List list = getEntiresAsList();
-		List jars = new ArrayList();
-		Iterator iter = list.iterator();
-		while (iter.hasNext()) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry)iter.next();
-			if (entry.getType() == IRuntimeClasspathEntry.ARCHIVE) {
-				IResource res = entry.getResource();
-				if (res != null && res instanceof IFile) {
-					jars.add(res);
-				}
-			}
-		}
-		return jars;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddPackageStepFilterAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddPackageStepFilterAction.java
deleted file mode 100644
index a926d2f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddPackageStepFilterAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-
-/**
- * Adds a Java package to the set of active step filters.
- */
-public class AddPackageStepFilterAction extends AbstractAddStepFilterAction {
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.AbstractAddStepFilterAction#generateStepFilterPattern(org.eclipse.jdt.debug.core.IJavaStackFrame)
-	 */
-	protected String generateStepFilterPattern(IJavaStackFrame frame) {
-		String typeName;
-		try {
-			typeName = frame.getReceivingTypeName();
-		} catch (DebugException de) {
-			return null;
-		}
-		
-		// Check for default package, which is not supported by JDI
-		int lastDot = typeName.lastIndexOf('.');
-		if (lastDot < 0) {
-			return null;
-		} 
-				
-		// Append ".*" to the pattern to form a package name	
-		String packageName = typeName.substring(0, lastDot + 1);
-		packageName += '*';
-		return packageName;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddProjectAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddProjectAction.java
deleted file mode 100644
index 68b4531..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddProjectAction.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Adds a project to the runtime class path.
- */
-public class AddProjectAction extends RuntimeClasspathAction {
-	
-	class ContentProvider implements IStructuredContentProvider {
-		
-		private List fProjects;
-		
-		public ContentProvider(List projects) {
-			fProjects = projects;
-		}
-		
-		/**
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return fProjects.toArray();
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-		 */
-		public void inputChanged(
-			Viewer viewer,
-			Object oldInput,
-			Object newInput) {
-		}
-
-	}	
-
-	public AddProjectAction(RuntimeClasspathViewer viewer) {
-		super(ActionMessages.getString("AddProjectAction.Add_Project_1"), viewer); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Prompts for a project to add.
-	 * 
-	 * @see IAction#run()
-	 */	
-	public void run() {
-		List projects = getPossibleAdditions();
-		
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-		IStructuredContentProvider content = new ContentProvider(projects);
-		ProjectSelectionDialog dialog= new ProjectSelectionDialog(getShell(),projects, content, labelProvider, ActionMessages.getString("AddProjectAction.Choose_&project(s)_to_add__3")); //$NON-NLS-1$
-		dialog.setTitle(ActionMessages.getString("AddProjectAction.Project_Selection_2")); //$NON-NLS-1$
-		MultiStatus status = new MultiStatus(JDIDebugUIPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, ActionMessages.getString("AddProjectAction.One_or_more_exceptions_occurred_while_adding_projects._1"), null); //$NON-NLS-1$
-				
-		if (dialog.open() == ProjectSelectionDialog.OK) {			
-			Object[] selections = dialog.getResult();
-			
-			List additions = new ArrayList(selections.length);
-			try {
-				for (int i = 0; i < selections.length; i++) {
-					IJavaProject jp = (IJavaProject)selections[i];
-					if (dialog.isAddRequiredProjects()) {
-						collectRequiredProjects(jp, additions);
-					} else {
-						additions.add(jp);
-					}
-				}
-			} catch (JavaModelException e) {
-				status.add(e.getStatus());
-			}
-			
-			List runtimeEntries = new ArrayList(additions.size());
-			Iterator iter = additions.iterator();
-			while (iter.hasNext()) {
-				IJavaProject jp = (IJavaProject)iter.next();
-				runtimeEntries.add(JavaRuntime.newProjectRuntimeClasspathEntry(jp));
-				if (dialog.isAddExportedEntries()) {
-					try {
-						collectExportedEntries(jp, runtimeEntries);
-					} catch (CoreException e) {
-						status.add(e.getStatus());
-					}
-				}
-			}
-			IRuntimeClasspathEntry[] entries = (IRuntimeClasspathEntry[])runtimeEntries.toArray(new IRuntimeClasspathEntry[runtimeEntries.size()]);
-			getViewer().addEntries(entries);
-		}	
-		
-		content.dispose();
-		labelProvider.dispose();			
-		
-		if (!status.isOK()) {
-			JDIDebugUIPlugin.errorDialog(status.getMessage(), status);
-		}
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return getViewer().isEnabled() && !getPossibleAdditions().isEmpty();
-	}
-	
-	/**
-	 * Returns the possible projects that can be added
-	 */
-	protected List getPossibleAdditions() {
-		IJavaProject[] projects;
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		try {
-			projects= JavaCore.create(root).getJavaProjects();
-		} catch (JavaModelException e) {
-			JDIDebugUIPlugin.log(e);
-			projects= new IJavaProject[0];
-		}
-		List remaining = new ArrayList();
-		for (int i = 0; i < projects.length; i++) {
-			remaining.add(projects[i]);
-		}
-		List alreadySelected = new ArrayList();
-		IRuntimeClasspathEntry[] entries = getViewer().getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].getType() == IRuntimeClasspathEntry.PROJECT) {
-				IResource res = root.findMember(entries[i].getPath());
-				IJavaProject jp = (IJavaProject)JavaCore.create(res);
-				alreadySelected.add(jp);
-			}
-		}
-		remaining.removeAll(alreadySelected);
-		return remaining;		
-	}
-	
-	/**
-	 * Adds all projects required by <code>proj</code> to the list
-	 * <code>res</code>
-	 * 
-	 * @param proj the project for which to compute required
-	 *  projects
-	 * @param res the list to add all required projects too
-	 */
-	protected void collectRequiredProjects(IJavaProject proj, List res) throws JavaModelException {
-		if (!res.contains(proj)) {
-			res.add(proj);
-			
-			IJavaModel model= proj.getJavaModel();
-			
-			IClasspathEntry[] entries= proj.getRawClasspath();
-			for (int i= 0; i < entries.length; i++) {
-				IClasspathEntry curr= entries[i];
-				if (curr.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
-					IJavaProject ref= model.getJavaProject(curr.getPath().segment(0));
-					if (ref.exists()) {
-						collectRequiredProjects(ref, res);
-					}
-				}
-			}
-		}
-	}		
-	
-	/**
-	 * Adds all exported entries defined by <code>proj</code> to the list
-	 * <code>runtimeEntries</code>.
-	 * 
-	 * @param proj
-	 * @param runtimeEntries
-	 * @throws JavaModelException
-	 */
-	protected void collectExportedEntries(IJavaProject proj, List runtimeEntries) throws CoreException {
-		IClasspathEntry[] entries = proj.getRawClasspath();
-		for (int i = 0; i < entries.length; i++) {
-			IClasspathEntry entry = entries[i];
-			if (entry.isExported()) {
-				IRuntimeClasspathEntry rte = null;
-				switch (entry.getEntryKind()) {
-					case IClasspathEntry.CPE_CONTAINER:
-						IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), proj);
-						int kind = 0;
-						switch (container.getKind()) {
-							case IClasspathContainer.K_APPLICATION:
-								kind = IRuntimeClasspathEntry.USER_CLASSES;
-								break;
-							case IClasspathContainer.K_SYSTEM:
-								kind = IRuntimeClasspathEntry.BOOTSTRAP_CLASSES;
-								break;
-							case IClasspathContainer.K_DEFAULT_SYSTEM:
-								kind = IRuntimeClasspathEntry.STANDARD_CLASSES;
-								break;
-						}
-						rte = JavaRuntime.newRuntimeContainerClasspathEntry(entry.getPath(), kind);
-						break;
-					case IClasspathEntry.CPE_LIBRARY:
-						rte = JavaRuntime.newArchiveRuntimeClasspathEntry(entry.getPath());
-						rte.setSourceAttachmentPath(entry.getSourceAttachmentPath());
-						rte.setSourceAttachmentRootPath(entry.getSourceAttachmentRootPath());
-						break;
-					case IClasspathEntry.CPE_PROJECT:
-						String name = entry.getPath().segment(0);
-						IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-						if (p.exists()) {
-							IJavaProject jp = JavaCore.create(p);
-							if (jp.exists()) {
-								rte = JavaRuntime.newProjectRuntimeClasspathEntry(jp);
-							}
-						}
-						break;
-					case IClasspathEntry.CPE_VARIABLE:
-						rte = JavaRuntime.newVariableRuntimeClasspathEntry(entry.getPath());
-						break;
-					default:
-						break;
-				}
-				if (rte != null) {
-					if (!runtimeEntries.contains(rte)) {
-						runtimeEntries.add(rte);
-					}
-				}
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddTypeStepFilterAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddTypeStepFilterAction.java
deleted file mode 100644
index d941e55..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddTypeStepFilterAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-
-/**
- * Adds a Java type to the set of active step filters.
- */
-public class AddTypeStepFilterAction extends AbstractAddStepFilterAction {
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.AbstractAddStepFilterAction#generateStepFilterPattern(org.eclipse.jdt.debug.core.IJavaStackFrame)
-	 */
-	protected String generateStepFilterPattern(IJavaStackFrame frame) {
-		try {
-			return frame.getReceivingTypeName();
-		} catch (DebugException de) {
-			return null;
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddVariableAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddVariableAction.java
deleted file mode 100644
index bbc0fb5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddVariableAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.NewVariableEntryDialog;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Adds a variable to the runtime class path.
- */
-public class AddVariableAction extends RuntimeClasspathAction {
-
-	public AddVariableAction(RuntimeClasspathViewer viewer) {
-		super(ActionMessages.getString("AddVariableAction.Add_Variables_1"), viewer); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Prompts for variables to add.
-	 * 
-	 * @see IAction#run()
-	 */	
-	public void run() {
-		
-		NewVariableEntryDialog dialog = new NewVariableEntryDialog(getShell());
-		dialog.setTitle(ActionMessages.getString("AddVariableAction.Variable_Selection_1")); //$NON-NLS-1$
-		
-		if (dialog.open() == NewVariableEntryDialog.OK) {			
-			IPath[] paths = dialog.getResult();
-			IRuntimeClasspathEntry[] entries = new IRuntimeClasspathEntry[paths.length];
-			for (int i = 0; i < paths.length; i++) {
-				entries[i] = JavaRuntime.newVariableRuntimeClasspathEntry(paths[i]);
-			}
-			getViewer().addEntries(entries);
-		}				
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return getViewer().isEnabled();
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddWatchExpressionAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddWatchExpressionAction.java
deleted file mode 100644
index 74e1eeb..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AddWatchExpressionAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaWatchExpression;
-import org.eclipse.jdt.internal.debug.ui.WatchExpressionDialog;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-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
-		JavaWatchExpression watchExpression= new JavaWatchExpression(""); //$NON-NLS-1$
-		// open the watch expression dialog
-		if (new WatchExpressionDialog(JDIDebugUIPlugin.getActiveWorkbenchShell(), watchExpression, false).open() == StatusDialog.OK) {
-			// if OK is selected, add the expression to the expression view and try to evaluate the expression.
-			DebugPlugin.getDefault().getExpressionManager().addExpression(watchExpression);
-			watchExpression.evaluateExpression(getThreadContext(), true);
-		}
-	}
-
-	/**
-	 * @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.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AttachSourceAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AttachSourceAction.java
deleted file mode 100644
index 7fb102e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/AttachSourceAction.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jdt.internal.ui.wizards.IStatusChangeListener;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.SourceAttachmentBlock;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Attach source to an archive or variable.
- */
-public class AttachSourceAction extends RuntimeClasspathAction {
-	
-	private IRuntimeClasspathEntry fEntry;
-
-	// a dialog to set the source attachment properties
-	private class SourceAttachmentDialog extends StatusDialog implements IStatusChangeListener {
-		
-		private SourceAttachmentBlock fSourceAttachmentBlock;
-				
-		public SourceAttachmentDialog(Shell parent, IRuntimeClasspathEntry entry) {
-			super(parent);
-			setTitle(MessageFormat.format(ActionMessages.getString("AttachSourceAction.Attachments_For_____{0}_____1"),new String[] {entry.getPath().toString()})); //$NON-NLS-1$
-			fSourceAttachmentBlock= new SourceAttachmentBlock(this, entry.getClasspathEntry(), null, null);
-		}
-		
-		/*
-		 * @see Windows#configureShell
-		 */
-		protected void configureShell(Shell newShell) {
-			super.configureShell(newShell);
-			WorkbenchHelp.setHelp(newShell, IJavaHelpContextIds.SOURCE_ATTACHMENT_DIALOG);
-		}		
-				
-		protected Control createDialogArea(Composite parent) {
-			Composite composite= (Composite)super.createDialogArea(parent);
-						
-			Control inner= fSourceAttachmentBlock.createControl(composite);
-			inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-			return composite;
-		}
-		
-		public void statusChanged(IStatus status) {
-			updateStatus(status);
-		}
-		
-		public IPath getSourceAttachmentPath() {
-			return fSourceAttachmentBlock.getSourceAttachmentPath();
-		}
-		
-		public IPath getSourceAttachmentRootPath() {
-			return fSourceAttachmentBlock.getSourceAttachmentRootPath();
-		}
-				
-	}
-	
-	public AttachSourceAction(RuntimeClasspathViewer viewer) {
-		super(ActionMessages.getString("AttachSourceAction.Attac&h_Source..._2"), viewer); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Prompts source attachment.
-	 * 
-	 * @see IAction#run()
-	 */	
-	public void run() {
-		SourceAttachmentDialog dialog = new SourceAttachmentDialog(getShell(), fEntry);
-		int res = dialog.open();
-		if (res == Dialog.OK) {
-			fEntry.setSourceAttachmentPath(dialog.getSourceAttachmentPath());
-			fEntry.setSourceAttachmentRootPath(dialog.getSourceAttachmentRootPath());
-			getViewer().refresh(fEntry);
-			getViewer().notifyChanged();
-		}
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		if (getViewer().isEnabled() && selection.size() == 1) {
-			fEntry = (IRuntimeClasspathEntry)selection.getFirstElement();
-			int type = fEntry.getType();
-			return type == IRuntimeClasspathEntry.VARIABLE || type == IRuntimeClasspathEntry.ARCHIVE;
-		} else {
-			return false;
-		} 
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointHitCountAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointHitCountAction.java
deleted file mode 100644
index 045766c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointHitCountAction.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-public class BreakpointHitCountAction extends ObjectActionDelegate {
-
-	private static final String INITIAL_VALUE= "1"; //$NON-NLS-1$
-
-	/**
-	 * A dialog that sets the focus to the text area.
-	 */
-	class HitCountDialog extends InputDialog {
-		
-		private Button fEnabledButton;
-		private boolean fHitCountEnabled;
-		
-		protected  HitCountDialog(Shell parentShell,
-									String dialogTitle,
-									String dialogMessage,
-									String initialValue,
-									IInputValidator validator) {
-			super(parentShell, dialogTitle, dialogMessage, initialValue, validator);
-		}
-		
-		/**
-		 * @see Window#close()
-		 */
-		public boolean close() {
-			setHitCountEnabled(getEnabledButton().getSelection());
-			return super.close();
-		}
-		/**
-		 * @see Dialog#createDialogArea(Composite)
-		 */
-		protected Control createDialogArea(Composite parent) {
-			Composite area= (Composite)super.createDialogArea(parent);
-			Button b= new Button(area, SWT.CHECK);
-			GridData data = new GridData(
-				GridData.GRAB_HORIZONTAL |
-				GridData.HORIZONTAL_ALIGN_FILL);
-			data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);;
-			b.setLayoutData(data);
-			b.setFont(parent.getFont());
-			b.setText(ActionMessages.getString("BreakpointHitCountAction.Enable_Hit_Count_1")); //$NON-NLS-1$
-			b.setSelection(true);
-			b.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent e) {
-					boolean enabled= getEnabledButton().getSelection();
-					getText().setEnabled(enabled);
-					if (enabled) {
-						validateInput();
-					} else {
-						getOkButton().setEnabled(true);
-						getErrorMessageLabel().setText(""); //$NON-NLS-1$
-					}
-				}
-				
-				public void widgetDefaultSelected(SelectionEvent e) {
-				}
-			});
-			setEnabledButton(b);
-			return area;
-		}
-
-		protected Button getEnabledButton() {
-			return fEnabledButton;
-		}
-
-		protected void setEnabledButton(Button enabledButton) {
-			fEnabledButton = enabledButton;
-		}
-
-		protected boolean isHitCountEnabled() {
-			return fHitCountEnabled;
-		}
-
-		protected void setHitCountEnabled(boolean hitCountEnabled) {
-			fHitCountEnabled = hitCountEnabled;
-		}
-	}
-
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getCurrentSelection();
-		if (selection == null) {
-			return;
-		}
-		Iterator enum= selection.iterator();
-		if (!enum.hasNext()) {
-			return;
-		}
-
-		while (enum.hasNext()) {
-			IJavaBreakpoint breakpoint= (IJavaBreakpoint)enum.next();
-			try {
-				int oldHitCount= breakpoint.getHitCount();
-				int newHitCount= hitCountDialog(breakpoint);
-				if (newHitCount != -1) {					
-					if (oldHitCount == newHitCount && newHitCount == 0) {
-						return;
-					}
-					breakpoint.setHitCount(newHitCount);
-				}
-			} catch (CoreException ce) {
-				JDIDebugUIPlugin.errorDialog(ActionMessages.getString("BreakpointHitCountAction.Exception_occurred_attempting_to_set_hit_count_1"), ce); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	protected int hitCountDialog(IJavaBreakpoint breakpoint) {
-		String title= ActionMessages.getString("BreakpointHitCountAction.Set_Breakpoint_Hit_Count_2"); //$NON-NLS-1$
-		String message= ActionMessages.getString("BreakpointHitCountAction.&Enter_the_new_hit_count_for_the_breakpoint__3"); //$NON-NLS-1$
-		IInputValidator validator= new IInputValidator() {
-			int hitCount= -1;
-			public String isValid(String value) {
-				try {
-					hitCount= Integer.valueOf(value.trim()).intValue();
-				} catch (NumberFormatException nfe) {
-					hitCount= -1;
-				}
-				if (hitCount < 1) {
-					return ActionMessages.getString("BreakpointHitCountAction.Value_must_be_positive_integer"); //$NON-NLS-1$
-				}
-				//no error
-				return null;
-			}
-		};
-
-		int currentHitCount= 0;
-		try {
-			currentHitCount = breakpoint.getHitCount();
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		String initialValue;
-		if (currentHitCount > 0) {
-			initialValue= Integer.toString(currentHitCount);
-		} else {
-			initialValue= INITIAL_VALUE;
-		}
-		Shell activeShell= JDIDebugUIPlugin.getActiveWorkbenchShell();
-		HitCountDialog dialog= new HitCountDialog(activeShell, title, message, initialValue, validator);
-		if (dialog.open() != HitCountDialog.OK) {
-			return -1;
-		}
-		if (dialog.isHitCountEnabled()) {
-			return Integer.parseInt(dialog.getValue().trim());
-		} else {
-			return 0;
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointLocationVerifier.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointLocationVerifier.java
deleted file mode 100644
index bd2dc60..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointLocationVerifier.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.core.ToolFactory;
-import org.eclipse.jdt.core.compiler.IScanner;
-import org.eclipse.jdt.core.compiler.ITerminalSymbols;
-import org.eclipse.jdt.core.compiler.InvalidInputException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-
-public class BreakpointLocationVerifier {
-
-	/**
-	 * Returns the line number closest to the given line number that represents a
-	 * valid location for a breakpoint in the given document, or -1 if a valid location
-	 * cannot be found.
-	 */
-	public int getValidBreakpointLocation(IDocument doc, int lineNumber) {
-
-		IScanner scanner = ToolFactory.createScanner(false, false, false, false);
-		boolean found = false;
-		int start = 0, length = 0, token = 0, lastToken = 0;
-
-		while (!found) {
-			try {
-				start = doc.getLineOffset(lineNumber);
-				length = doc.getLineLength(lineNumber);
-				char[] txt = doc.get(start, length).toCharArray();
-				scanner.setSource(txt);
-				token = scanner.getNextToken();
-				if (token == ITerminalSymbols.TokenNameEQUAL) {
-					break;
-				}
-				lastToken = 0;
-
-				while (token != ITerminalSymbols.TokenNameEOF) {
-					if (token == ITerminalSymbols.TokenNameERROR) {
-						lineNumber++;
-						break;
-					}
-					if (token == ITerminalSymbols.TokenNameIdentifier) {
-						if (lastToken == ITerminalSymbols.TokenNameIdentifier
-							|| isPrimitiveTypeToken(lastToken)
-							|| lastToken == ITerminalSymbols.TokenNameRBRACKET) {
-							//var declaration..is there initialization 
-							//OR method parameters on a line all by themselves
-							lastToken = token;
-							token = scanner.getNextToken();
-							if (token == ITerminalSymbols.TokenNameEQUAL) {
-								found = true;
-								break;
-							}
-						}
-						if (lastToken == ITerminalSymbols.TokenNameMULTIPLY) {
-							//internal comment line starting with '*'
-							break;
-						}
-					} else if (isNonIdentifierValidToken(token)) {
-						found = true;
-						break;
-					} else if (
-						lastToken == ITerminalSymbols.TokenNameIdentifier
-							&& token != ITerminalSymbols.TokenNameLBRACKET) {
-						found = true;
-						break;
-					} else if (
-						lastToken == ITerminalSymbols.TokenNameLBRACKET
-							&& token == ITerminalSymbols.TokenNameRBRACKET) {
-						//var declaration..is there initialization
-						lastToken = token;
-						token = scanner.getNextToken();
-						if (token == ITerminalSymbols.TokenNameSEMICOLON) {
-							//no init
-							break;
-						} else if (token == ITerminalSymbols.TokenNameEQUAL) {
-							found = true;
-							break;
-						}
-
-						continue;
-					}
-
-					lastToken = token;
-					token = scanner.getNextToken();
-				}
-				if (!found) {
-					lineNumber++;
-				}
-			} catch (BadLocationException ble) {
-				return -1;
-			} catch (InvalidInputException ie) {
-				//start of a comment "/**" or "/*"
-				lineNumber++;
-			}
-		}
-		// add 1 to the line number - Document is 0 based, JDI is 1 based
-		return lineNumber + 1;
-	}
-
-	protected boolean isPrimitiveTypeToken(int token) {
-		switch (token) {
-			case ITerminalSymbols.TokenNameboolean :
-			case ITerminalSymbols.TokenNamebyte :
-			case ITerminalSymbols.TokenNamechar :
-			case ITerminalSymbols.TokenNamedouble :
-			case ITerminalSymbols.TokenNamefloat :
-			case ITerminalSymbols.TokenNameint :
-			case ITerminalSymbols.TokenNamelong :
-			case ITerminalSymbols.TokenNameshort :
-				return true;
-			default :
-				return false;
-		}
-	}
-
-	protected boolean isNonIdentifierValidToken(int token) {
-		switch (token) {
-			case ITerminalSymbols.TokenNamebreak :
-			case ITerminalSymbols.TokenNamecontinue :
-			case ITerminalSymbols.TokenNamereturn :
-			case ITerminalSymbols.TokenNamethis :
-			case ITerminalSymbols.TokenNamesuper :
-				return true;
-			default :
-				return false;
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointSuspendPolicyToggleAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointSuspendPolicyToggleAction.java
deleted file mode 100644
index 133ca53..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointSuspendPolicyToggleAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
- 
-/**
- * Toggles whether a breakpoint suspends a VM or only
- * the event thread.
- */
-public class BreakpointSuspendPolicyToggleAction extends BreakpointToggleAction {
-
-	/**
-	 * @see BreakpointToggleAction#doAction(IJavaBreakpoint)
-	 */
-	public void doAction(IJavaBreakpoint breakpoint) throws CoreException {
-		if (breakpoint.getSuspendPolicy() == IJavaBreakpoint.SUSPEND_THREAD) {
-			breakpoint.setSuspendPolicy(IJavaBreakpoint.SUSPEND_VM);
-		} else {
-			breakpoint.setSuspendPolicy(IJavaBreakpoint.SUSPEND_THREAD);
-		}
-	}
-
-	/**
-	 * @see BreakpointToggleAction#getToggleState(IJavaBreakpoint)
-	 */
-	protected boolean getToggleState(IJavaBreakpoint breakpoint) throws CoreException {
-		return false;
-	}
-
-	/**
-	 * @see BreakpointToggleAction#isEnabledFor(IStructuredSelection)
-	 */
-	public boolean isEnabledFor(IStructuredSelection selection) {
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (!(element instanceof IJavaBreakpoint)) {
-				return false;
-			}
-			
-		}
-		return true;
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		super.selectionChanged(action, selection);
-		if (action.isEnabled()) {
-			IJavaBreakpoint bp = (IJavaBreakpoint)((IStructuredSelection)selection).getFirstElement();
-			update(action, bp);
-		}
-	}
-	
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void update(IAction action, IJavaBreakpoint breakpoint) {
-		try {
-			if (breakpoint.getSuspendPolicy() == IJavaBreakpoint.SUSPEND_THREAD) {
-				action.setText(ActionMessages.getString("BreakpointSuspendPolicy.Suspend_&VM_1")); //$NON-NLS-1$
-			} else {
-				action.setText(ActionMessages.getString("BreakpointSuspendPolicy.Suspend_&Thread_2")); //$NON-NLS-1$
-			}
-		} catch (CoreException e) {
-			 JDIDebugUIPlugin.log(e);
-		}
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointToggleAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointToggleAction.java
deleted file mode 100644
index 507a783..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointToggleAction.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.internal.debug.ui.ExceptionHandler;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-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.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-public abstract class BreakpointToggleAction implements IObjectActionDelegate, IBreakpointsListener, IPartListener {
-	
-	private IStructuredSelection fSelection;
-	private IAction fAction;
-	private IWorkbenchPart fPart;
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getStructuredSelection();
-		Iterator enum= selection.iterator();
-		while (enum.hasNext()) {
-			try {
-				IJavaBreakpoint breakpoint= (IJavaBreakpoint) enum.next();
-				doAction(breakpoint);
-			} catch (CoreException e) {
-				String title= ActionMessages.getString("BreakpointAction.Breakpoint_configuration_1"); //$NON-NLS-1$
-				String message= ActionMessages.getString("BreakpointAction.Exceptions_occurred_attempting_to_modify_breakpoint._2"); //$NON-NLS-1$
-				ExceptionHandler.handle(e, title, message);
-			}			
-		}
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		setAction(action);
-		if (selection.isEmpty()) {
-			setStructuredSelection(null);
-			return;
-		}
-		if (selection instanceof IStructuredSelection) {
-			setStructuredSelection((IStructuredSelection)selection);
-			boolean enabled= isEnabledFor(getStructuredSelection());
-			action.setEnabled(enabled);
-			if (enabled) {
-				IBreakpoint breakpoint= (IBreakpoint)getStructuredSelection().getFirstElement();
-				if (breakpoint instanceof IJavaBreakpoint) {
-					try {
-						action.setChecked(getToggleState((IJavaBreakpoint) breakpoint));
-					} catch (CoreException e) {
-						JDIDebugUIPlugin.log(e);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Toggle the state of this action
-	 */
-	public abstract void doAction(IJavaBreakpoint breakpoint) throws CoreException;
-	
-	/**
-	 * Returns whether this action is currently toggled on
-	 */
-	protected abstract boolean getToggleState(IJavaBreakpoint breakpoint) throws CoreException;
-	
-	/**
-	 * Get the current selection
-	 */
-	protected IStructuredSelection getStructuredSelection() {
-		return fSelection;
-	}
-	
-	protected void setStructuredSelection(IStructuredSelection selection) {
-		fSelection= selection;
-	}
-	
-	public abstract boolean isEnabledFor(IStructuredSelection selection);
-
-	/**
-	 * Get the breakpoint manager for the debug plugin
-	 */
-	protected IBreakpointManager getBreakpointManager() {
-		return DebugPlugin.getDefault().getBreakpointManager();		
-	}
-	
-	/**
-	 * Get the breakpoint associated with the given marker
-	 */
-	protected IBreakpoint getBreakpoint(IMarker marker) {
-		return getBreakpointManager().getBreakpoint(marker);
-	}
-
-	protected IAction getAction() {
-		return fAction;
-	}
-
-	protected void setAction(IAction action) {
-		fAction = action;
-	}
-	
-	/**
-	 * @see IBreakpointsListener#breakpointsAdded(IBreakpoint[])
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints) {
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsChanged(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-		if (getAction() != null) {
-			IStructuredSelection selection= getStructuredSelection();
-			if (selection != null) {
-				IBreakpoint selectedBreakpoint= (IBreakpoint)selection.getFirstElement();
-				for (int i = 0; i < breakpoints.length; i++) {
-					IBreakpoint breakpoint = breakpoints[i];
-					if (selectedBreakpoint.equals(breakpoint)) {
-						selectionChanged(getAction(), selection);
-						return;
-					}
-				}
-			}			
-		}
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsRemoved(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-	}
-	
-	protected IWorkbenchPart getPart() {
-		return fPart;
-	}
-
-	protected void setPart(IWorkbenchPart part) {
-		fPart = part;
-	}
-	
-	/**
-	 * @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 == getPart()) {
-			getBreakpointManager().removeBreakpointListener(this);
-			part.getSite().getPage().removePartListener(this);
-		}
-	}
-
-	/**
-	 * @see IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-	}
-	
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		IWorkbenchPart oldPart= getPart();
-		if (oldPart != null) {
-			getPart().getSite().getPage().removePartListener(this);			
-		}	
-		
-		getBreakpointManager().addBreakpointListener(this);
-		setPart(targetPart);
-		targetPart.getSite().getPage().addPartListener(this);	
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ConvertToWatchExpressionAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ConvertToWatchExpressionAction.java
deleted file mode 100644
index e7f23f4..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ConvertToWatchExpressionAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.jdt.internal.debug.ui.JavaWatchExpression;
-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
-			JavaWatchExpression watchExpression= new JavaWatchExpression(expression.getExpressionText());
-			expressionManager.removeExpression(expression);
-			expressionManager.addExpression(watchExpression);
-			// refresh and re-evaluate
-			watchExpression.evaluateExpression(getThreadContext());
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DisplayAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DisplayAction.java
deleted file mode 100644
index 286980f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DisplayAction.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.display.IDataDisplay;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Displays the result of an evaluation in the display view
- */
-public class DisplayAction extends EvaluateAction {
-
-	/**
-	 * @see EvaluateAction#displayResult(IEvaluationResult)
-	 */
-	protected void displayResult(IEvaluationResult result) {
-		final String snippet= result.getSnippet();
-		IJavaValue value= result.getValue();
-		try {
-			String sig= null;
-			IJavaType type= value.getJavaType();
-			if (type != null) {
-				sig= type.getSignature();
-			}
-			if ("V".equals(sig)) { //$NON-NLS-1$
-				displayStringResult(snippet, ActionMessages.getString("DisplayAction.no_result_value")); //$NON-NLS-1$
-			} else {
-				final String resultString;
-				if (sig != null) {
-					resultString= MessageFormat.format(ActionMessages.getString("DisplayAction.type_name_pattern"), new Object[] { value.getReferenceTypeName() }); //$NON-NLS-1$
-				} else {
-					resultString= ""; //$NON-NLS-1$
-				}
-				getDebugModelPresentation().computeDetail(value, new IValueDetailListener() {
-					public void detailComputed(IValue value, String result) {
-						displayStringResult(snippet, MessageFormat.format(ActionMessages.getString("DisplayAction.result_pattern"), new Object[] { resultString, result})); //$NON-NLS-1$
-					}
-				});
-			}
-		} catch (DebugException x) {
-			displayStringResult(snippet, getExceptionMessage(x));
-		}
-	}
-
-	protected void displayStringResult(final String snippet,final String resultString) {
-		final IDataDisplay directDisplay= getDirectDataDisplay();
-		final Display display= JDIDebugUIPlugin.getStandardDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed()) {
-					IDataDisplay dataDisplay= getDataDisplay();
-					if (dataDisplay != null) {
-						if (directDisplay == null) {
-							dataDisplay.displayExpression(snippet);
-						}
-						dataDisplay.displayExpressionValue(resultString);
-					}
-				}
-				evaluationCleanup();
-			}
-		});
-	}
-
-	protected void run() {
-		IWorkbenchPart part= getTargetPart();
-		if (part instanceof JavaSnippetEditor) {
-			((JavaSnippetEditor) part).evalSelection(JavaSnippetEditor.RESULT_DISPLAY);
-			return;
-		}
-		super.run();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DropToFrameAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DropToFrameAction.java
deleted file mode 100644
index c755d13..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DropToFrameAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.internal.debug.ui.ExceptionHandler;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class DropToFrameAction extends ObjectActionDelegate {
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getCurrentSelection();
-		if (selection == null) {
-			return;
-		}
-		Iterator enum= selection.iterator();
-		
-		while (enum.hasNext()) {
-			IJavaStackFrame frame= (IJavaStackFrame)enum.next();
-			try {
-				frame.dropToFrame();
-			} catch (DebugException de) {
-				String title= ActionMessages.getString("DropToFrameAction.Drop_to_Frame_1"); //$NON-NLS-1$
-				String message= ActionMessages.getString("DropToFrameAction.Exceptions_occurred_attempting_to_drop_to_frame._2"); //$NON-NLS-1$
-				ExceptionHandler.handle(de, title, message);
-			}
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EditDetailFormatterAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EditDetailFormatterAction.java
deleted file mode 100644
index 58bd571..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EditDetailFormatterAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.ui.DetailFormatter;
-import org.eclipse.jdt.internal.debug.ui.DetailFormatterDialog;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class EditDetailFormatterAction extends ObjectActionDelegate {
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getCurrentSelection();
-		if (selection.size() != 1) {
-			return;
-		}
-		Object element= selection.getFirstElement();
-		IJavaType type;
-		try {
-			IJavaValue value;
-			if (element instanceof IJavaVariable) {
-				value = ((IJavaValue)((IJavaVariable) element).getValue());
-			} else if (element instanceof JavaInspectExpression) {
-				value = ((IJavaValue)((JavaInspectExpression) element).getValue());
-			} else {
-				return;
-			}
-			type= value.getJavaType();
-		} catch (DebugException e) {
-			return;
-		}
-		JavaDetailFormattersManager detailFormattersManager= JavaDetailFormattersManager.getDefault();
-		DetailFormatter detailFormatter= detailFormattersManager.getAssociatedDetailFormatter(type);
-		if (new DetailFormatterDialog(JDIDebugUIPlugin.getActivePage().getWorkbenchWindow().getShell(), detailFormatter, null, false, true).open() == StatusDialog.OK) {
-			detailFormattersManager.setAssociatedDetailFormatter(detailFormatter);
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EditWatchExpressionAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EditWatchExpressionAction.java
deleted file mode 100644
index 28cd47a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EditWatchExpressionAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaWatchExpression;
-import org.eclipse.jdt.internal.debug.ui.WatchExpressionDialog;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-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) {
-		JavaWatchExpression watchExpression= (JavaWatchExpression)getCurrentSelection().getFirstElement();
-		// display the watch expression dialog for the currently selected watch expression
-		if (new WatchExpressionDialog(JDIDebugUIPlugin.getActivePage().getWorkbenchWindow().getShell(), watchExpression, true).open() == StatusDialog.OK) {
-			// re-evaluate and refresh if necessary
-			watchExpression.evaluateExpression(getThreadContext(), true);
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EnableDisableBreakpointRulerAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EnableDisableBreakpointRulerAction.java
deleted file mode 100644
index 3bdd7bf..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EnableDisableBreakpointRulerAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class EnableDisableBreakpointRulerAction extends AbstractBreakpointRulerAction {
-	
-	/**
-	 * Creates the action to enable/disable breakpoints
-	 */
-	public EnableDisableBreakpointRulerAction(ITextEditor editor, IVerticalRulerInfo info) {
-		setInfo(info);
-		setTextEditor(editor);
-		setText(ActionMessages.getString("EnableDisableBreakpointRulerAction.&Enable_Breakpoint_1")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see Action#run()
-	 */
-	public void run() {
-		if (getBreakpoint() != null) {
-			try {
-				getBreakpoint().setEnabled(!getBreakpoint().isEnabled());
-			} catch (CoreException e) {
-				ErrorDialog.openError(getTextEditor().getEditorSite().getShell(), ActionMessages.getString("EnableDisableBreakpointRulerAction.Enabling/disabling_breakpoints_2"), ActionMessages.getString("EnableDisableBreakpointRulerAction.Exceptions_occurred_enabling_disabling_the_breakpoint_3"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	
-	/**
-	 * @see IUpdate#update()
-	 */
-	public void update() {
-		setBreakpoint(determineBreakpoint());
-		if (getBreakpoint() == null) {
-			setEnabled(false);
-			return;
-		}
-		setEnabled(true);
-		try {
-			boolean enabled= getBreakpoint().isEnabled();
-			setText(enabled ? ActionMessages.getString("EnableDisableBreakpointRulerAction.&Disable_Breakpoint_4") : ActionMessages.getString("EnableDisableBreakpointRulerAction.&Enable_Breakpoint_5")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EnableDisableBreakpointRulerActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EnableDisableBreakpointRulerActionDelegate.java
deleted file mode 100644
index 2efd82c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EnableDisableBreakpointRulerActionDelegate.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-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;
-
-public class EnableDisableBreakpointRulerActionDelegate extends AbstractRulerActionDelegate {
-	
-	/**
-	 * @see AbstractRulerActionDelegate#createAction(ITextEditor, IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		return new EnableDisableBreakpointRulerAction(editor, rulerInfo);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EntryToggleAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EntryToggleAction.java
deleted file mode 100644
index bc9dfa7..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EntryToggleAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class EntryToggleAction extends BreakpointToggleAction {
-
-	/**
-	 * @see BreakpointToggleAction#getToggleState(IJavaBreakpoint)
-	 */
-	protected boolean getToggleState(IJavaBreakpoint breakpoint) throws CoreException {
-		return ((IJavaMethodBreakpoint)breakpoint).isEntry();
-	}
-
-	/**
-	 * @see BreakpointToggleAction#doAction(IJavaBreakpoint)
-	 */
-	public void doAction(IJavaBreakpoint breakpoint) throws CoreException {
-		((IJavaMethodBreakpoint)breakpoint).setEntry(!((IJavaMethodBreakpoint)breakpoint).isEntry());
-	}
-
-	/**
-	 * @see BreakpointToggleAction#isEnabledFor(IStructuredSelection)
-	 */
-	public boolean isEnabledFor(IStructuredSelection selection) {
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (!(element instanceof IJavaMethodBreakpoint)) {
-				return false;
-			}
-			
-		}
-		return true;
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EvaluateAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EvaluateAction.java
deleted file mode 100644
index 5213ca1..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EvaluateAction.java
+++ /dev/null
@@ -1,736 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-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.ILaunch;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.debug.eval.IEvaluationEngine;
-import org.eclipse.jdt.debug.eval.IEvaluationListener;
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.EvaluationContextManager;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.display.DataDisplay;
-import org.eclipse.jdt.internal.debug.ui.display.IDataDisplay;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.ISnippetStateChangedListener;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PartInitException;
-
-import com.sun.jdi.InvocationException;
-import com.sun.jdi.ObjectReference;
-
-
-/**
- * Action to do simple code evaluation. The evaluation
- * is done in the UI thread and the expression and result are
- * displayed using the IDataDisplay.
- */
-public abstract class EvaluateAction implements IEvaluationListener, IWorkbenchWindowActionDelegate, IObjectActionDelegate, IEditorActionDelegate, IPartListener, IViewActionDelegate, ISnippetStateChangedListener {
-
-	private IAction fAction;
-	private IWorkbenchPart fTargetPart;
-	private IWorkbenchWindow fWindow;
-	private Object fSelection;
-	
-	/**
-	 * Is the action waiting for an evaluation.
-	 */
-	private boolean fEvaluating;
-	
-	/**
-	 * The new target part to use with the evaluation completes.
-	 */
-	private IWorkbenchPart fNewTargetPart= null;
-	
-	/**
-	 * Used to resolve editor input for selected stack frame
-	 */
-	private IDebugModelPresentation fPresentation;
-			
-	public EvaluateAction() {
-		super();
-	}
-	
-	/**
-	 * Returns the 'object' context for this evaluation,
-	 * or <code>null</code> if none. If the evaluation is being performed
-	 * in the context of the variables view/inspector. Then
-	 * perform the evaluation in the context of the
-	 * selected value.
-	 * 
-	 * @return Java object or <code>null</code>
-	 */
-	protected IJavaObject getObjectContext() {
-		IWorkbenchPage page= JDIDebugUIPlugin.getActivePage();
-		if (page != null) {
-			IWorkbenchPart activePart= page.getActivePart();
-			if (activePart != null) {
-				IDebugView a = (IDebugView)activePart.getAdapter(IDebugView.class);
-				if (a != null) {
-					if (a.getViewer() != null) {
-						ISelection s = a.getViewer().getSelection();
-						if (s instanceof IStructuredSelection) {
-							IStructuredSelection structuredSelection = (IStructuredSelection)s;
-							if (structuredSelection.size() == 1) {
-								Object selection= structuredSelection.getFirstElement();
-								if (selection instanceof IJavaVariable) {
-									IJavaVariable var = (IJavaVariable)selection;
-									// if 'this' is selected, use stack frame context
-									try {
-										if (!var.getName().equals("this")) { //$NON-NLS-1$
-											IValue value= var.getValue();
-											if (value instanceof IJavaObject && !(value instanceof IJavaArray)) {
-												return (IJavaObject)value;
-											}
-										} 
-									} catch (DebugException e) {
-										JDIDebugUIPlugin.log(e);
-									}
-								} else if (selection instanceof JavaInspectExpression) {
-									IValue value= ((JavaInspectExpression)selection).getValue();
-									if (value instanceof IJavaObject && !(value instanceof IJavaArray)) {
-										return (IJavaObject)value;
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		return null;		
-	}
-	
-	/**
-	 * Finds the currently selected stack frame in the UI.
-	 * Stack frames from a scrapbook launch are ignored.
-	 */
-	protected IJavaStackFrame getStackFrameContext() {
-		IWorkbenchPart part = getTargetPart();
-		IJavaStackFrame frame = null;
-		if (part == null) {
-			frame = EvaluationContextManager.getEvaluationContext(getWindow());
-		} else {
-			frame = EvaluationContextManager.getEvaluationContext(part);
-		}		
-		return frame;
-	}
-	
-	/**
-	 * @see IEvaluationListener#evaluationComplete(IEvaluationResult)
-	 */
-	public void evaluationComplete(final IEvaluationResult result) {
-		// if plug-in has shutdown, ignore - see bug# 8693
-		if (JDIDebugUIPlugin.getDefault() == null) {
-			return;
-		}
-		
-		final IJavaValue value= result.getValue();
-		if (result.hasErrors() || value != null) {
-			final Display display= JDIDebugUIPlugin.getStandardDisplay();
-			if (display.isDisposed()) {
-				return;
-			}
-			if (result.hasErrors()) {
-				display.asyncExec(new Runnable() {
-					public void run() {
-						if (display.isDisposed()) {
-							return;
-						}
-						reportErrors(result);
-						evaluationCleanup();
-					}
-				});
-			} else if (value != null) {
-				displayResult(result);
-			}
-		}
-	}
-	
-	protected void evaluationCleanup() {
-		setEvaluating(false);
-		setTargetPart(fNewTargetPart);
-	}
-	/**
-	 * Display the given evaluation result.
-	 */
-	abstract protected void displayResult(IEvaluationResult result);	
-	
-	protected void run() {		
-		// eval in context of object or stack frame
-		IJavaObject object = getObjectContext();		
-		IJavaStackFrame stackFrame= getStackFrameContext();
-		if (stackFrame == null) {
-			reportError(ActionMessages.getString("Evaluate.error.message.stack_frame_context")); //$NON-NLS-1$
-			return;
-		}
-		
-		// check for nested evaluation
-		IJavaThread thread = (IJavaThread)stackFrame.getThread();
-		if (thread.isPerformingEvaluation()) {
-			reportError(ActionMessages.getString("EvaluateAction.Cannot_perform_nested_evaluations._1")); //$NON-NLS-1$
-			return;
-		}
-		
-		setNewTargetPart(getTargetPart());
-		if (stackFrame.isSuspended()) {
-			IJavaElement javaElement= getJavaElement(stackFrame);
-			if (javaElement != null) {
-				IJavaProject project = javaElement.getJavaProject();
-				IEvaluationEngine engine = null;
-				try {
-					Object selection= getSelectedObject();
-					if (!(selection instanceof String)) {
-						return;
-					}
-					String expression= (String)selection;
-					
-					engine = JDIDebugUIPlugin.getDefault().getEvaluationEngine(project, (IJavaDebugTarget)stackFrame.getDebugTarget());
-					setEvaluating(true);
-					if (object == null) {
-						engine.evaluate(expression, stackFrame, this, DebugEvent.EVALUATION, true);
-					} else {
-						engine.evaluate(expression, object, (IJavaThread)stackFrame.getThread(), this, DebugEvent.EVALUATION, true);
-					}
-					return;
-				} catch (CoreException e) {
-					reportError(getExceptionMessage(e));
-				}
-			} else {
-				reportError(ActionMessages.getString("Evaluate.error.message.src_context")); //$NON-NLS-1$
-			}
-		} else {
-			// thread not suspended
-			reportError(ActionMessages.getString("EvaluateAction.Thread_not_suspended_-_unable_to_perform_evaluation._1")); //$NON-NLS-1$
-		}
-		evaluationCleanup();
-	}
-		
-	protected IJavaElement getJavaElement(IStackFrame stackFrame) {
-		
-		// Get the corresponding element.
-		ILaunch launch = stackFrame.getLaunch();
-		if (launch == null) {
-			return null;
-		}
-		ISourceLocator locator= launch.getSourceLocator();
-		if (locator == null)
-			return null;
-		
-		Object sourceElement = locator.getSourceElement(stackFrame);
-		if (sourceElement instanceof IJavaElement) {
-			return (IJavaElement) sourceElement;
-		}			
-		return null;
-	}
-	
-	/**
-	 * Updates the enabled state of the action that this is a
-	 * delegate for.
-	 */
-	protected void update() {
-		IAction action= getAction();
-		if (action != null) {
-			resolveSelectedObject();
-		}
-	}
-	
-	/**
-	 * Resolves the selected object in the target part, or <code>null</code>
-	 * if there is no selection.
-	 */
-	protected void resolveSelectedObject() {
-		Object selectedObject= null;
-		ISelection selection= getTargetSelection();
-		if (selection instanceof ITextSelection) {
-			String text= ((ITextSelection)selection).getText();
-			if (textHasContent(text)) {
-				selectedObject= text;
-			}
-		} else if (selection instanceof IStructuredSelection) {
-			if (!selection.isEmpty()) {
-				if (getTargetPart().getSite().getId().equals(IDebugUIConstants.ID_DEBUG_VIEW)) {
-					//work on the editor selection
-					setTargetPart(getTargetPart().getSite().getPage().getActiveEditor());
-					selection= getTargetSelection();
-					if (selection instanceof ITextSelection) {
-						String text= ((ITextSelection)selection).getText();
-						if (textHasContent(text)) {
-							selectedObject= text;
-						}
-					}
-				} else {
-					IStructuredSelection ss= (IStructuredSelection)selection;
-					Iterator elements = ss.iterator();
-					while (elements.hasNext()) {
-						if (!(elements.next() instanceof IJavaVariable)) {
-							setSelectedObject(null);
-							return;
-						}
-					}
-					selectedObject= ss;
-				}			
-			}
-		}
-		setSelectedObject(selectedObject);
-	}
-	
-	protected ISelection getTargetSelection() {
-		IWorkbenchPart part = getTargetPart();
-		if (part != null) {
-			ISelectionProvider provider = part.getSite().getSelectionProvider();
-			if (provider != null) {
-				return provider.getSelection();
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Resolve an editor input from the source element of the stack frame
-	 * argument, and return whether it's equal to the editor input for the
-	 * editor that owns this action.
-	 */
-	protected boolean compareToEditorInput(IStackFrame stackFrame) {
-		ILaunch launch = stackFrame.getLaunch();
-		if (launch == null) {
-			return false;
-		}
-		ISourceLocator locator= launch.getSourceLocator();
-		if (locator == null) {
-			return false;
-		}
-		Object sourceElement = locator.getSourceElement(stackFrame);
-		if (sourceElement == null) {
-			return false;
-		}
-		IEditorInput sfEditorInput= getDebugModelPresentation().getEditorInput(sourceElement);
-		if (getTargetPart() instanceof IEditorPart) {
-			return ((IEditorPart)getTargetPart()).getEditorInput().equals(sfEditorInput);
-		}
-		return false;
-	}
-	
-	protected Shell getShell() {
-		if (getTargetPart() != null) {
-			return getTargetPart().getSite().getShell();
-		} else {
-			return JDIDebugUIPlugin.getActiveWorkbenchShell();
-		}
-	}
-	
-	protected IDataDisplay getDataDisplay() {
-		IDataDisplay display= getDirectDataDisplay();
-		if (display != null) {
-			return display;
-		}
-		IWorkbenchPage page= JDIDebugUIPlugin.getActivePage();
-		if (page != null) {
-			IWorkbenchPart activePart= page.getActivePart();
-			if (activePart != null) {
-				IViewPart view = page.findView(IJavaDebugUIConstants.ID_DISPLAY_VIEW);;
-				if (view == null) {
-					try {
-						view= page.showView(IJavaDebugUIConstants.ID_DISPLAY_VIEW);
-					} catch (PartInitException e) {
-						JDIDebugUIPlugin.errorDialog(ActionMessages.getString("EvaluateAction.Cannot_open_Display_view"), e); //$NON-NLS-1$
-					} finally {
-						page.activate(activePart);
-					}
-				}
-				if (view != null) {
-					page.bringToTop(view);
-					return (IDataDisplay)view.getAdapter(IDataDisplay.class);
-				}			
-			}
-		}
-		
-		return null;		
-	}	
-	
-	protected IDataDisplay getDirectDataDisplay() {
-		IWorkbenchPart part= getTargetPart();
-		if (part != null) {
-			IDataDisplay display= (IDataDisplay)part.getAdapter(IDataDisplay.class);
-//			if (display == null) {
-//				ITextViewer viewer = (ITextViewer)part.getAdapter(ITextViewer.class);
-//				if (viewer != null) {
-//					display= new DataDisplay(viewer);
-//				}
-//			}
-			if (display != null) {
-				IWorkbenchPage page= JDIDebugUIPlugin.getActivePage();
-				if (page != null) {
-					IWorkbenchPart activePart= page.getActivePart();
-					if (activePart != null) {
-						if (activePart != part) {
-							page.activate(part);
-						}
-					}
-				}
-				return display;
-			}
-		}
-		IWorkbenchPage page= JDIDebugUIPlugin.getActivePage();
-		if (page != null) {
-			IWorkbenchPart activePart= page.getActivePart();
-			if (activePart != null) {
-				IDataDisplay display= (IDataDisplay)activePart.getAdapter(IDataDisplay.class);
-				if (display != null) {
-					return display;
-				}	
-				ITextViewer viewer = (ITextViewer)activePart.getAdapter(ITextViewer.class);
-				if (viewer != null) {
-					return new DataDisplay(viewer);
-				}
-			}
-		}
-		return null;
-	}
-	protected boolean textHasContent(String text) {
-		if (text != null) {
-			int length= text.length();
-			if (length > 0) {
-				for (int i= 0; i < length; i++) {
-					if (Character.isLetterOrDigit(text.charAt(i))) {
-						return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Displays a failed evaluation message in the data display.
-	 */
-	protected void reportErrors(IEvaluationResult result) {
-		String message= getErrorMessage(result);
-		reportError(message);
-	}
-	
-	protected void reportError(String message) {
-		IDataDisplay dataDisplay= getDirectDataDisplay();
-		if (dataDisplay != null) {
-			if (message.length() != 0) {
-				dataDisplay.displayExpressionValue(MessageFormat.format(ActionMessages.getString("EvaluateAction.(evaluation_failed)_Reason"), new String[] {format(message)})); //$NON-NLS-1$
-			} else {
-				dataDisplay.displayExpressionValue(ActionMessages.getString("EvaluateAction.(evaluation_failed)_1")); //$NON-NLS-1$
-			}
-		} else {
-			Status status= new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), IStatus.ERROR, message, null);
-			ErrorDialog.openError(getShell(), ActionMessages.getString("Evaluate.error.title.eval_problems"), null, status); //$NON-NLS-1$
-		}
-	}
-	
-	private String format(String message) {
-		StringBuffer result= new StringBuffer();
-		int index= 0, pos;
-		while ((pos= message.indexOf('\n', index)) != -1) {
-			result.append("\t\t").append(message.substring(index, index= pos + 1)); //$NON-NLS-1$
-		}
-		if (index < message.length()) {
-			result.append("\t\t").append(message.substring(index)); //$NON-NLS-1$
-		}
-		return result.toString();
-	}
-	
-	protected String getExceptionMessage(Throwable exception) {
-		if (exception instanceof CoreException) {
-			CoreException ce = (CoreException)exception;
-			Throwable throwable= ce.getStatus().getException();
-			if (throwable instanceof com.sun.jdi.InvocationException) {
-				return getInvocationExceptionMessage((com.sun.jdi.InvocationException)throwable);
-			} else if (throwable instanceof CoreException) {
-				// Traverse nested CoreExceptions
-				return getExceptionMessage(throwable);
-			}
-			return ce.getStatus().getMessage();
-		}
-		String message= MessageFormat.format(ActionMessages.getString("Evaluate.error.message.direct_exception"), new Object[] { exception.getClass() }); //$NON-NLS-1$
-		if (exception.getMessage() != null) {
-			message= MessageFormat.format(ActionMessages.getString("Evaluate.error.message.exception.pattern"), new Object[] { message, exception.getMessage() }); //$NON-NLS-1$
-		}
-		return message;
-	}
-
-	/**
-	 * Returns a message for the exception wrapped in an invocation exception
-	 */
-	protected String getInvocationExceptionMessage(com.sun.jdi.InvocationException exception) {
-			InvocationException ie= (InvocationException) exception;
-			ObjectReference ref= ie.exception();
-			return MessageFormat.format(ActionMessages.getString("Evaluate.error.message.wrapped_exception"), new Object[] { ref.referenceType().name() }); //$NON-NLS-1$
-	}
-	
-	protected String getErrorMessage(IEvaluationResult result) {
-		String[] errors= result.getErrorMessages();
-		if (errors.length == 0) {
-			return getExceptionMessage(result.getException());
-		} else {
-			return getErrorMessage(errors);
-		}
-	}
-	
-	protected String getErrorMessage(String[] errors) {
-		String message= ""; //$NON-NLS-1$
-		for (int i= 0; i < errors.length; i++) {
-			String msg= errors[i];
-			if (i == 0) {
-				message= msg;
-			} else {
-				message= MessageFormat.format(ActionMessages.getString("Evaluate.error.problem_append_pattern"), new Object[] { message, msg }); //$NON-NLS-1$
-			}
-		}
-		return message;
-	}
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		update();
-		run();
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) { 
-		setAction(action);
-	}	
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		disposeDebugModelPresentation();
-		IWorkbenchWindow win = getWindow();
-		if (win != null) {
-			win.getPartService().removePartListener(this);
-		}
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		setWindow(window);
-		IWorkbenchPage page= window.getActivePage();
-		if (page != null) {
-			setTargetPart(page.getActivePart());
-		}
-		window.getPartService().addPartListener(this);
-		update();
-	}
-
-	protected IAction getAction() {
-		return fAction;
-	}
-
-	protected void setAction(IAction action) {
-		fAction = action;
-	}
-	
-	/**
-	 * Returns a debug model presentation (creating one
-	 * if necessary).
-	 * 
-	 * @return debug model presentation
-	 */
-	protected IDebugModelPresentation getDebugModelPresentation() {
-		if (fPresentation == null) {
-			fPresentation = DebugUITools.newDebugModelPresentation(JDIDebugModel.getPluginIdentifier());
-		}
-		return fPresentation;
-	}
-	
-	/** 
-	 * Disposes this action's debug model presentation, if
-	 * one was created.
-	 */
-	protected void disposeDebugModelPresentation() {
-		if (fPresentation != null) {
-			fPresentation.dispose();
-		}
-	}
-
-	/**
-	 * @see IEditorActionDelegate#setActiveEditor(IAction, IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		setAction(action);
-		setTargetPart(targetEditor);
-	}
-
-	/**
-	 * @see IPartListener#partActivated(IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-		setTargetPart(part);
-	}
-
-	/**
-	 * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-	 */
-	public void partBroughtToTop(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partClosed(IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (part == getTargetPart()) {
-			setTargetPart(null);
-		}
-		if (part == getNewTargetPart()) {
-			setNewTargetPart(null);
-		}
-	}
-
-	/**
-	 * @see IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-	}
-	
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setTargetPart(view);
-	}
-
-	protected IWorkbenchPart getTargetPart() {
-		return fTargetPart;
-	}
-
-	protected void setTargetPart(IWorkbenchPart part) {
-		if (isEvaluating()) {
-			//do not want to change the target part while evaluating
-			//see bug 8334
-			setNewTargetPart(part);
-		} else {
-			if (getTargetPart() instanceof JavaSnippetEditor) {
-				((JavaSnippetEditor)getTargetPart()).removeSnippetStateChangedListener(this);
-			}
-			fTargetPart= part;
-			if (part instanceof JavaSnippetEditor) {
-				((JavaSnippetEditor)part).addSnippetStateChangedListener(this);
-			}
-		}
-	}
-
-	protected IWorkbenchWindow getWindow() {
-		return fWindow;
-	}
-
-	protected void setWindow(IWorkbenchWindow window) {
-		fWindow = window;
-	}
-	
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		setAction(action);
-		setTargetPart(targetPart);
-		update();
-	}
-	
-	protected Object getSelectedObject() {
-		return fSelection;
-	}
-	
-	protected void setSelectedObject(Object selection) {
-		fSelection = selection;
-	}
-	
-	/**
-	 * @see ISnippetStateChangedListener#snippetStateChanged(JavaSnippetEditor)
-	 */
-	public void snippetStateChanged(JavaSnippetEditor editor) {
-		if (editor != null && !editor.isEvaluating()) {
-			update();
-		} else {
-			getAction().setEnabled(false);
-		}
-	}
-
-	protected IWorkbenchPart getNewTargetPart() {
-		return fNewTargetPart;
-	}
-
-	protected void setNewTargetPart(IWorkbenchPart newTargetPart) {
-		fNewTargetPart = newTargetPart;
-	}
-	
-	protected boolean isEvaluating() {
-		return fEvaluating;
-	}
-
-	protected void setEvaluating(boolean evaluating) {
-		fEvaluating = evaluating;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionBreakpointFilterEditor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionBreakpointFilterEditor.java
deleted file mode 100644
index f83f4ce..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionBreakpointFilterEditor.java
+++ /dev/null
@@ -1,617 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jdt.internal.debug.ui.ExceptionHandler;
-import org.eclipse.jdt.internal.debug.ui.Filter;
-import org.eclipse.jdt.internal.debug.ui.FilterLabelProvider;
-import org.eclipse.jdt.internal.debug.ui.FilterViewerSorter;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableEditor;
-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.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-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.Event;
-import org.eclipse.swt.widgets.Listener;
-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.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.SelectionDialog;
-
-public class ExceptionBreakpointFilterEditor extends FieldEditor {
-
-	private IJavaExceptionBreakpoint fBreakpoint;
-	private Button fAddFilterButton;
-	private Button fAddPackageButton;
-	private Button fAddTypeButton;
-	private Button fRemoveFilterButton;
-	private Text fEditorText;
-	private String fInvalidEditorText= null;
-	private TableEditor fTableEditor;
-	private TableItem fNewTableItem;
-	private Filter fNewFilter;
-	private CheckboxTableViewer fFilterViewer;
-	private Table fFilterTable;
-	private Composite fOuter;
-	
-	private FilterContentProvider fFilterContentProvider;
-	
-	protected static final String DEFAULT_PACKAGE= "(default package)"; //$NON-NLS-1$
-	
-	/**
-	 * Content provider for the table.  Content consists of instances of Filter.
-	 */	
-	protected class FilterContentProvider implements IStructuredContentProvider {
-		
-		private CheckboxTableViewer fViewer;
-		private List fFilters;
-		
-		public FilterContentProvider(CheckboxTableViewer viewer) {
-			fViewer = viewer;
-			populateFilters();
-		}
-		
-		protected void populateFilters() {
-			String[] iFilters= null;
-			String[] eFilters= null;
-			try {
-				iFilters = fBreakpoint.getInclusionFilters();
-				eFilters = fBreakpoint.getExclusionFilters();
-			} catch (CoreException ce) {
-				JDIDebugUIPlugin.log(ce);
-				iFilters= new String[]{};
-				eFilters= new String[]{};
-			}
-			fFilters= new ArrayList();
-			populateFilters(iFilters, true);
-			populateFilters(eFilters, false);
-
-		}
-
-		protected void populateFilters(String[] filters, boolean checked) {
-			for (int i = 0; i < filters.length; i++) {
-				String name = filters[i];
-				if (name.length() == 0) {
-					name= DEFAULT_PACKAGE;
-				}
-				Filter filter= addFilter(name);
-				checkFilter(filter, checked);
-			}
-		}
-		
-		public Filter addFilter(String name) {
-			Filter filter = new Filter(name, false);
-			if (!fFilters.contains(filter)) {
-				fFilters.add(filter);
-				fViewer.add(filter);
-			}
-			return filter;
-		}
-		
-		
-		public void removeFilters(Object[] filters) {
-			for (int i = 0; i < filters.length; i++) {
-				Filter filter = (Filter)filters[i];
-				fFilters.remove(filter);
-			}
-			fViewer.remove(filters);
-		}
-		
-		public void toggleFilter(Filter filter) {
-			boolean newState = !filter.isChecked();
-			filter.setChecked(newState);
-			fViewer.setChecked(filter, newState);
-		}
-		
-		public void checkFilter(Filter filter, boolean checked) {
-			filter.setChecked(checked);
-			fViewer.setChecked(filter, checked);
-		}
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return fFilters.toArray();
-		}
-		
-		/**
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-		
-		/**
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}		
-	}
-	
-	public ExceptionBreakpointFilterEditor(Composite parent, IJavaExceptionBreakpoint breakpoint) {
-		fBreakpoint= breakpoint;
-		init(JavaBreakpointPreferenceStore.EXCEPTION_FILTER, ActionMessages.getString("ExceptionBreakpointFilterEditor.Re&strict_to_Selected_Location(s)__nChecked_locations_are_inclusive_(stop_in_the_specified_location)_nUnchecked_locations_are_exclusive_(do_not_stop_in_the_specified_location)_1")); //$NON-NLS-1$
-		createControl(parent);
-	}
-	
-	/**
-	 * @see FieldEditor#adjustForNumColumns(int)
-	 */
-	protected void adjustForNumColumns(int numColumns) {
-		((GridData) fOuter.getLayoutData()).horizontalSpan = numColumns;
-	}
-
-	/**
-	 * @see FieldEditor#doFillIntoGrid(Composite, int)
-	 */
-	protected void doFillIntoGrid(Composite parent, int numColumns) {	
-		// top level container
-		fOuter = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		
-		fOuter.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		fOuter.setLayoutData(gd);
-		
-		gd = new GridData();
-		gd.horizontalSpan = numColumns;
-		getLabelControl(fOuter).setLayoutData(gd);
-		
-		// filter table
-		fFilterTable= new Table(fOuter, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		
-		TableLayout tableLayout= new TableLayout();
-		ColumnLayoutData[] columnLayoutData= new ColumnLayoutData[1];
-		columnLayoutData[0]= new ColumnWeightData(100);		
-		tableLayout.addColumnData(columnLayoutData[0]);
-		fFilterTable.setLayout(tableLayout);
-		new TableColumn(fFilterTable, SWT.NONE);
-
-		fFilterViewer = new CheckboxTableViewer(fFilterTable);
-		fTableEditor = new TableEditor(fFilterTable);
-		fFilterViewer.setLabelProvider(new FilterLabelProvider());
-		fFilterViewer.setSorter(new FilterViewerSorter());
-		fFilterContentProvider = new FilterContentProvider(fFilterViewer);
-		fFilterViewer.setContentProvider(fFilterContentProvider);
-		// input just needs to be non-null
-		fFilterViewer.setInput(this);
-		gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		gd.widthHint = 100;
-		fFilterViewer.getTable().setLayoutData(gd);
-		fFilterViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				Filter filter = (Filter)event.getElement();
-				fFilterContentProvider.toggleFilter(filter);
-			}
-		});
-		fFilterViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = event.getSelection();
-				if (selection.isEmpty()) {
-					fRemoveFilterButton.setEnabled(false);
-				} else {
-					fRemoveFilterButton.setEnabled(true);					
-				}
-			}
-		});
-		fFilterViewer.getTable().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				if (event.character == SWT.DEL && event.stateMask == 0) {
-					removeFilters();
-				}
-			}
-		});
-		
-		createFilterButtons(fOuter);
-	}
-
-	private void createFilterButtons(Composite container) {
-		// button container
-		Composite buttonContainer = new Composite(container, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_VERTICAL);
-		buttonContainer.setLayoutData(gd);
-		GridLayout buttonLayout = new GridLayout();
-		buttonLayout.numColumns = 1;
-		buttonLayout.marginHeight = 0;
-		buttonLayout.marginWidth = 0;
-		buttonContainer.setLayout(buttonLayout);
-		
-		// Add filter button
-		fAddFilterButton = new Button(buttonContainer, SWT.PUSH);
-		fAddFilterButton.setText(ActionMessages.getString("ExceptionBreakpointFilterEditor.&Add_2")); //$NON-NLS-1$
-		fAddFilterButton.setToolTipText(ActionMessages.getString("ExceptionBreakpointFilterEditor.Key_in_the_name_of_a_new_scope_expression_3")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		fAddFilterButton.setLayoutData(gd);
-		fAddFilterButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent se) {
-				editFilter();
-			}
-			public void widgetDefaultSelected(SelectionEvent se) {
-			}
-		});
-		
-		// Add type button
-		fAddTypeButton = new Button(buttonContainer, SWT.PUSH);
-		fAddTypeButton.setText(ActionMessages.getString("ExceptionBreakpointFilterEditor.Add_&Class_4")); //$NON-NLS-1$
-		fAddTypeButton.setToolTipText(ActionMessages.getString("ExceptionBreakpointFilterEditor.Choose_a_Java_Class_to_Add_It_to_the_Breakpoint_Scope_5")); //$NON-NLS-1$
-		gd = getButtonGridData(fAddTypeButton);
-		fAddTypeButton.setLayoutData(gd);
-		fAddTypeButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent se) {
-				addType();
-			}
-			public void widgetDefaultSelected(SelectionEvent se) {
-			}
-		});
-		
-		// Add package button
-		fAddPackageButton = new Button(buttonContainer, SWT.PUSH);
-		fAddPackageButton.setText(ActionMessages.getString("ExceptionBreakpointFilterEditor.Add_&Package_6")); //$NON-NLS-1$
-		fAddPackageButton.setToolTipText(ActionMessages.getString("ExceptionBreakpointFilterEditor.Choose_a_Package_to_Add_to_the_Breakpoint_Scope_7")); //$NON-NLS-1$
-		gd = getButtonGridData(fAddPackageButton);
-		fAddPackageButton.setLayoutData(gd);
-		fAddPackageButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent se) {
-				addPackage();
-			}
-			public void widgetDefaultSelected(SelectionEvent se) {
-			}
-		});
-		
-		// Remove button
-		fRemoveFilterButton = new Button(buttonContainer, SWT.PUSH);
-		fRemoveFilterButton.setText(ActionMessages.getString("ExceptionBreakpointFilterEditor.&Remove_8")); //$NON-NLS-1$
-		fRemoveFilterButton.setToolTipText(ActionMessages.getString("ExceptionBreakpointFilterEditor.Remove_all_selected_scoping_elements_9")); //$NON-NLS-1$
-		gd = getButtonGridData(fRemoveFilterButton);
-		fRemoveFilterButton.setLayoutData(gd);
-		fRemoveFilterButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent se) {
-				removeFilters();
-			}
-			public void widgetDefaultSelected(SelectionEvent se) {
-			}
-		});
-		fRemoveFilterButton.setEnabled(false);
-		
-	}
-	
-	private GridData getButtonGridData(Button button) {
-		GridData gd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		GC gc = new GC(button);
-		gc.setFont(button.getFont());
-		FontMetrics fontMetrics= gc.getFontMetrics();
-		gc.dispose();
-		int widthHint= Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint= Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		
-		gd.heightHint= Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
-		return gd;
-	}
-	
-	/**
-	 * Create a new filter in the table (with the default 'new filter' value),
-	 * then open up an in-place editor on it.
-	 */
-	private void editFilter() {
-		// if a previous edit is still in progress, finish it
-		if (fEditorText != null) {
-			validateChangeAndCleanup();
-		}
-		
-		fNewFilter = fFilterContentProvider.addFilter("");		 //$NON-NLS-1$
-		fNewTableItem = fFilterTable.getItem(0);
-		
-		// create & configure Text widget for editor
-		// Fix for bug 1766.  Border behavior on for text fields varies per platform.
-		// On Motif, you always get a border, on other platforms,
-		// you don't.  Specifying a border on Motif results in the characters
-		// getting pushed down so that only there very tops are visible.  Thus,
-		// we have to specify different style constants for the different platforms.
-		int textStyles = SWT.SINGLE | SWT.LEFT;
-		if (!SWT.getPlatform().equals("motif")) {  //$NON-NLS-1$
-			textStyles |= SWT.BORDER;
-		}
-		fEditorText = new Text(fFilterTable, textStyles);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		fEditorText.setLayoutData(gd);
-		
-		// set the editor
-		fTableEditor.horizontalAlignment = SWT.LEFT;
-		fTableEditor.grabHorizontal = true;
-		fTableEditor.setEditor(fEditorText, fNewTableItem, 0);
-		
-		// get the editor ready to use
-		fEditorText.setText(fNewFilter.getName());
-		fEditorText.selectAll();
-		setEditorListeners(fEditorText);
-		fEditorText.setFocus();
-	}
-	
-	private void setEditorListeners(Text text) {
-		// CR means commit the changes, ESC means abort and don't commit
-		text.addKeyListener(new KeyAdapter() {
-			public void keyReleased(KeyEvent event) {				
-				if (event.character == SWT.CR) {
-					if (fInvalidEditorText != null) {
-						fEditorText.setText(fInvalidEditorText);
-						fInvalidEditorText= null;
-					} else {
-						validateChangeAndCleanup();
-					}
-				} else if (event.character == SWT.ESC) {
-					removeNewFilter();
-					cleanupEditor();
-				}
-			}
-		});
-		// Consider loss of focus on the editor to mean the same as CR
-		text.addFocusListener(new FocusAdapter() {
-			public void focusLost(FocusEvent event) {
-				if (fInvalidEditorText != null) {
-					fEditorText.setText(fInvalidEditorText);
-					fInvalidEditorText= null;
-				} else {
-					validateChangeAndCleanup();
-				}
-			}
-		});
-		// Consume traversal events from the text widget so that CR doesn't 
-		// traverse away to dialog's default button.  Without this, hitting
-		// CR in the text field closes the entire dialog.
-		text.addListener(SWT.Traverse, new Listener() {
-			public void handleEvent(Event event) {
-				event.doit = false;
-			}
-		});
-	}
-	
-	private void validateChangeAndCleanup() {
-		String trimmedValue = fEditorText.getText().trim();
-		// if the new value is blank, remove the filter
-		if (trimmedValue.length() < 1) {
-			removeNewFilter();
-		}
-		// if it's invalid, beep and leave sitting in the editor
-		else if (!validateEditorInput(trimmedValue)) {
-			fInvalidEditorText= trimmedValue;
-			fEditorText.setText(ActionMessages.getString("ExceptionBreakpointFilterEditor.Invalid_expression._Return_to_continue;_escape_to_exit_11")); //$NON-NLS-1$
-			fEditorText.getDisplay().beep();			
-			return;
-		// otherwise, commit the new value if not a duplicate
-		} else {		
-			Object[] filters= fFilterContentProvider.getElements(null);
-			for (int i = 0; i < filters.length; i++) {
-				Filter filter = (Filter)filters[i];
-				if (filter.getName().equals(trimmedValue)) {
-					removeNewFilter();
-					cleanupEditor();
-					return;
-				}	
-			}
-			fNewTableItem.setText(trimmedValue);
-			fNewFilter.setName(trimmedValue);
-			fFilterViewer.refresh();
-		}
-		cleanupEditor();
-	}
-	
-	/**
-	 * A valid filter is simply one that is a valid Java identifier.
-	 * and, as defined in the JDI spec, the regular expressions used for
-	 * scoping must be limited to exact matches or patterns that
-	 * begin with '*' or end with '*'. Beyond this, a string cannot be validated
-	 * as corresponding to an existing type or package (and this is probably not
-	 * even desirable).  
-	 */
-	private boolean validateEditorInput(String trimmedValue) {
-		char firstChar= trimmedValue.charAt(0);
-		if (!Character.isJavaIdentifierStart(firstChar)) {
-			if (!(firstChar == '*')) {
-				return false;
-			}
-		}
-		int length= trimmedValue.length();
-		for (int i= 1; i < length; i++) {
-			char c= trimmedValue.charAt(i);
-			if (!Character.isJavaIdentifierPart(c)) {
-				if (c == '.' && i != (length - 1)) {
-					continue;
-				}
-				if (c == '*' && i == (length - 1)) {
-					continue;
-				}
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	/**
-	 * Cleanup all widgetry & resources used by the in-place editing
-	 */
-	private void cleanupEditor() {
-		if (fEditorText != null) {
-			fNewFilter = null;
-			fNewTableItem = null;
-			fTableEditor.setEditor(null, null, 0);			
-			fEditorText.getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					fEditorText.dispose();
-					fEditorText = null;
-				}
-			});		
-		}
-	}
-	
-	private void removeFilters() {
-		IStructuredSelection selection = (IStructuredSelection)fFilterViewer.getSelection();		
-		fFilterContentProvider.removeFilters(selection.toArray());
-	}
-	
-	private void removeNewFilter() {
-		fFilterContentProvider.removeFilters(new Object[] {fNewFilter});
-	}
-	
-	private void addPackage() {
-		Shell shell= fAddPackageButton.getDisplay().getActiveShell();
-		ElementListSelectionDialog dialog = null;
-		try {
-			dialog = JDIDebugUIPlugin.createAllPackagesDialog(shell, null, true);
-		} catch (JavaModelException jme) {
-			String title= ActionMessages.getString("ExceptionBreakpointFilterEditor.Add_Package_to_Scope_14"); //$NON-NLS-1$
-			String message= ActionMessages.getString("ExceptionBreakpointFilterEditor.Could_not_open_package_selection_dialog_for_scope_definition_13");  //$NON-NLS-1$
-			ExceptionHandler.handle(jme, title, message);
-			return;			
-		}
-	
-		dialog.setTitle(ActionMessages.getString("ExceptionBreakpointFilterEditor.Add_Package_to_Scope_14"));  //$NON-NLS-1$
-		dialog.setMessage(ActionMessages.getString("ExceptionBreakpointFilterEditor.&Select_a_package_to_add_to_the_scope_of_the_breakpoint_15")); //$NON-NLS-1$
-		dialog.setMultipleSelection(true);
-		if (dialog.open() == IDialogConstants.CANCEL_ID) {
-			return;
-		}
-		Object[] packages= dialog.getResult();
-		if (packages != null) {
-			for (int i = 0; i < packages.length; i++) {
-				IJavaElement pkg = (IJavaElement)packages[i];
-				String filter = pkg.getElementName();
-				if (filter.length() < 1) {
-					filter = DEFAULT_PACKAGE;  
-				} else {
-					filter += ".*"; //$NON-NLS-1$
-				}
-				Filter f= fFilterContentProvider.addFilter(filter);
-				fFilterContentProvider.checkFilter(f, true);
-			}
-		}		
-	}
-				
-	private void addType() {
-		Shell shell= fAddTypeButton.getDisplay().getActiveShell();
-		SelectionDialog dialog= null;
-		try {
-			dialog= JavaUI.createTypeDialog(shell, new ProgressMonitorDialog(shell),
-				SearchEngine.createWorkspaceScope(), IJavaElementSearchConstants.CONSIDER_CLASSES, false);
-		} catch (JavaModelException jme) {
-			String title= ActionMessages.getString("ExceptionBreakpointFilterEditor.Add_Class_to_Scope_17"); //$NON-NLS-1$
-			String message= ActionMessages.getString("ExceptionBreakpointFilterEditor.Could_not_open_class_selection_dialog_for_scope_definition_18"); //$NON-NLS-1$
-			ExceptionHandler.handle(jme, title, message);
-			return;
-		}
-	
-		dialog.setTitle(ActionMessages.getString("ExceptionBreakpointFilterEditor.Add_Class_to_Scope_17")); //$NON-NLS-1$
-		dialog.setMessage(ActionMessages.getString("ExceptionBreakpointFilterEditor.&Select_a_class_to_add_to_the_scope_of_the_breakpoint_20")); //$NON-NLS-1$
-		if (dialog.open() == IDialogConstants.CANCEL_ID) {
-			return;
-		}
-		
-		Object[] types= dialog.getResult();
-		IType type;
-		if (types != null) {
-			for (int i = 0; i < types.length; i++) {
-				 type= (IType)types[i];
-				 Filter f= fFilterContentProvider.addFilter(type.getFullyQualifiedName());
-				 fFilterContentProvider.checkFilter(f, true);
-			}
-		}		
-	}
-	
-	/**
-	 * @see FieldEditor#doLoad()
-	 */
-	protected void doLoad() {
-	}
-
-	/**
-	 * @see FieldEditor#doLoadDefault()
-	 */
-	protected void doLoadDefault() {
-	}
-
-	/**
-	 * @see FieldEditor#doStore()
-	 */
-	protected void doStore() {
-		Object[] filters= fFilterContentProvider.getElements(null);
-		List inclusionFilters= new ArrayList(filters.length);
-		List exclusionFilters= new ArrayList(filters.length);
-		for (int i = 0; i < filters.length; i++) {
-			Filter filter = (Filter)filters[i];
-			String name= filter.getName();
-			if (name.equals(DEFAULT_PACKAGE)) {
-				name= ""; //$NON-NLS-1$
-			}
-			if (filter.isChecked()) {
-				inclusionFilters.add(name);
-			} else {
-				exclusionFilters.add(name);
-			}
-		}
-		try {
-			fBreakpoint.setInclusionFilters((String[])inclusionFilters.toArray(new String[inclusionFilters.size()]));
-			fBreakpoint.setExclusionFilters((String[])exclusionFilters.toArray(new String[exclusionFilters.size()]));
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-		
-	}
-
-	/**
-	 * @see FieldEditor#getNumberOfControls()
-	 */
-	public int getNumberOfControls() {
-		return 2;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionCaughtToggleAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionCaughtToggleAction.java
deleted file mode 100644
index 5b70a87..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionCaughtToggleAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Toggles the caught state of an exception breakpoint
- */
-public class ExceptionCaughtToggleAction extends BreakpointToggleAction {
-
-	/**
-	 * @see BreakpointToggleAction#getToggleState(IJavaBreakpoint)
-	 */
-	protected boolean getToggleState(IJavaBreakpoint breakpoint) throws CoreException {
-		//will only be called after isEnabledFor so cast is safe
-		IJavaExceptionBreakpoint exception= (IJavaExceptionBreakpoint)breakpoint;
-		return exception.isCaught();
-	}
-
-	/**
-	 * @see BreakpointToggleAction#doAction(IJavaBreakpoint)
-	 */
-	public void doAction(IJavaBreakpoint breakpoint) throws CoreException {
-		//will only be called after isEnabledFor so cast is safe
-		IJavaExceptionBreakpoint exception= (IJavaExceptionBreakpoint)breakpoint;
-		exception.setCaught(!exception.isCaught());
-	}
-	
-	/**
-	 * @see BreakpointToggleAction#isEnabledFor(IStructuredSelection)
-	 */
-	public boolean isEnabledFor(IStructuredSelection selection) {
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (!(element instanceof IJavaExceptionBreakpoint)) {
-				return false;
-			}
-			
-		}
-		return true;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionUncaughtToggleAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionUncaughtToggleAction.java
deleted file mode 100644
index 10fc987..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExceptionUncaughtToggleAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Toggles the uncaught state of an exception breakpoint
- */
-public class ExceptionUncaughtToggleAction extends BreakpointToggleAction {
-
-	/**
-	 * @see BreakpointToggleAction#getToggleState(IJavaBreakpoint)
-	 */
-	protected boolean getToggleState(IJavaBreakpoint breakpoint) throws CoreException {
-		//will only be called after isEnabledFor so cast is safe
-		IJavaExceptionBreakpoint exception= (IJavaExceptionBreakpoint)breakpoint;
-		return exception.isUncaught();
-	}
-
-	/**
-	 * @see BreakpointToggleAction#doAction(IJavaBreakpoint)
-	 */
-	public void doAction(IJavaBreakpoint breakpoint) throws CoreException {
-		//will only be called after isEnabledFor so cast is safe
-		IJavaExceptionBreakpoint exception= (IJavaExceptionBreakpoint)breakpoint;
-		exception.setUncaught(!exception.isUncaught());
-	}
-	
-	/**
-	 * @see BreakpointToggleAction#isEnabledFor(IStructuredSelection)
-	 */
-	public boolean isEnabledFor(IStructuredSelection selection) {
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (!(element instanceof IJavaExceptionBreakpoint)) {
-				return false;
-			}
-			
-		}
-		return true;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExcludeExceptionLocationAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExcludeExceptionLocationAction.java
deleted file mode 100644
index 684a077..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExcludeExceptionLocationAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class ExcludeExceptionLocationAction extends ObjectActionDelegate {
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getCurrentSelection();
-		if (selection == null) {
-			return;
-		}
-		Iterator enum= selection.iterator();
-		
-		while (enum.hasNext()) {
-			IJavaThread thread= (IJavaThread)enum.next();
-			try {
-				IBreakpoint[] breakpoints= thread.getBreakpoints();
-				IJavaStackFrame frame= (IJavaStackFrame)thread.getTopStackFrame();
-				String newFilter= frame.getDeclaringTypeName();
-				for (int i = 0; i < breakpoints.length; i++) {
-					IBreakpoint breakpoint = breakpoints[i];
-					if (breakpoint instanceof IJavaExceptionBreakpoint) {
-						IJavaExceptionBreakpoint exBreakpoint= (IJavaExceptionBreakpoint)breakpoint;
-						String[] current= exBreakpoint.getExclusionFilters();
-						String[] newFilters= new String[current.length+1];
-						System.arraycopy(current, 0, newFilters, 0, current.length);
-						newFilters[current.length]= newFilter;
-						exBreakpoint.setExclusionFilters(newFilters);
-						action.setEnabled(false);
-					}
-				}
-			} catch (CoreException de) {
-				JDIDebugUIPlugin.log(de);
-			}
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExecuteAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExecuteAction.java
deleted file mode 100644
index 1b40846..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExecuteAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.internal.debug.ui.display.IDataDisplay;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class ExecuteAction extends EvaluateAction {
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.EvaluateAction#displayResult(org.eclipse.jdt.debug.eval.IEvaluationResult)
-	 */
-	protected void displayResult(IEvaluationResult result) {
-	}
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.EvaluateAction#run()
-	 */
-	protected void run() {
-		IWorkbenchPart part= getTargetPart();
-		if (part instanceof JavaSnippetEditor) {
-			((JavaSnippetEditor)part).evalSelection(JavaSnippetEditor.RESULT_RUN);
-			return;
-		}
-		super.run();	
-	}
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.EvaluateAction#getDataDisplay()
-	 */
-	protected IDataDisplay getDataDisplay() {
-		return super.getDirectDataDisplay();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExitToggleAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExitToggleAction.java
deleted file mode 100644
index 897d74d..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExitToggleAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class ExitToggleAction extends BreakpointToggleAction {
-
-	/**
-	 * @see BreakpointToggleAction#getToggleState(IJavaBreakpoint)
-	 */
-	protected boolean getToggleState(IJavaBreakpoint breakpoint) throws CoreException {
-		return ((IJavaMethodBreakpoint)breakpoint).isExit();
-	}
-
-	/**
-	 * @see BreakpointToggleAction#doAction(IJavaBreakpoint)
-	 */
-	public void doAction(IJavaBreakpoint breakpoint) throws CoreException {
-		((IJavaMethodBreakpoint)breakpoint).setExit(!((IJavaMethodBreakpoint)breakpoint).isExit());
-	}
-
-	/**
-	 * @see BreakpointToggleAction#isEnabledFor(IStructuredSelection)
-	 */
-	public boolean isEnabledFor(IStructuredSelection selection) {
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (!(element instanceof IJavaMethodBreakpoint)) {
-				return false;
-			}
-			
-		}
-		return true;
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InspectAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InspectAction.java
deleted file mode 100644
index b2f7ff8..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InspectAction.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.display.IDataDisplay;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Places the result of an evaluation in the debug expression view.
- */
-public class InspectAction extends EvaluateAction {
-	
-	/**
-	 * @see EvaluateAction#displayResult(IEvaluationResult)
-	 */
-	protected void displayResult(final IEvaluationResult result) {
-		final IJavaValue value= result.getValue();
-		final Display display= JDIDebugUIPlugin.getStandardDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed()) {				
-					showExpressionView();
-					JavaInspectExpression exp = new JavaInspectExpression(result.getSnippet().trim(), value);
-					DebugPlugin.getDefault().getExpressionManager().addExpression(exp);
-				}
-				evaluationCleanup();
-			}
-		});
-	}
-	
-	/**
-	 * Make the expression view visible or open one
-	 * if required.
-	 */
-	protected void showExpressionView() {
-		if (getTargetPart().getSite().getId().equals(IDebugUIConstants.ID_EXPRESSION_VIEW)) {
-			return;
-		}
-		IWorkbenchPage page = JDIDebugUIPlugin.getActivePage();
-		if (page != null) {
-			IViewPart part = page.findView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-			if (part == null) {
-				try {
-					page.showView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-				} catch (PartInitException e) {
-					reportError(e.getStatus().getMessage());
-				}
-			} else {
-				page.bringToTop(part);
-			}
-		}
-	}
-	
-	protected void run() {
-		IWorkbenchPart part= getTargetPart();
-		if (part instanceof JavaSnippetEditor) {
-			((JavaSnippetEditor)part).evalSelection(JavaSnippetEditor.RESULT_INSPECT);
-			return;
-		}
-		
-		Object selection= getSelectedObject();
-		if (!(selection instanceof IStructuredSelection)) {
-			super.run();
-			return;
-		}
-		
-		//inspecting from the context of the variables view
-		Iterator variables = ((IStructuredSelection)selection).iterator();
-		while (variables.hasNext()) {
-			IJavaVariable var = (IJavaVariable)variables.next();
-			try {
-				JavaInspectExpression expr = new JavaInspectExpression(var.getName(), (IJavaValue)var.getValue());
-				DebugPlugin.getDefault().getExpressionManager().addExpression(expr);
-			} catch (DebugException e) {
-				JDIDebugUIPlugin.errorDialog(ActionMessages.getString("InspectAction.Exception_occurred_inspecting_variable"), e); //$NON-NLS-1$
-			}
-		}
-	
-		showExpressionView();
-	}
-	
-	protected IDataDisplay getDataDisplay() {
-		return getDirectDataDisplay();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InstanceFilterViewer.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InstanceFilterViewer.java
deleted file mode 100644
index 6e4bc72..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InstanceFilterViewer.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JDIModelPresentation;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * An instance filter viewer is a field editor which
- * allows the user to configure instance filters for a given
- * breakpoint.
- */
-public class InstanceFilterViewer extends FieldEditor {
-	
-	private IJavaBreakpoint fBreakpoint;
-	private CheckboxTableViewer fInstanceViewer;
-	private Composite fOuter;
-	private InstanceFilterContentProvider fContentProvider;
-	private CheckHandler fCheckHandler;
-	
-	public InstanceFilterViewer(Composite parent, IJavaBreakpoint breakpoint) {
-		fBreakpoint= breakpoint;
-		fContentProvider= new InstanceFilterContentProvider();
-		fCheckHandler= new CheckHandler();
-		init(JavaBreakpointPreferenceStore.INSTANCE_FILTER, ActionMessages.getString("InstanceFilterViewer.Restricted_to_Selected_Ob&ject(s)_1")); //$NON-NLS-1$
-		createControl(parent);
-	}
-	
-	/**
-	 * Create and initialize the thread filter tree viewer.
-	 */
-	protected void createViewer() {
-		GridData data= new GridData(GridData.FILL_BOTH);
-		data.heightHint= 100;
-
-		fInstanceViewer= CheckboxTableViewer.newCheckList(fOuter, SWT.BORDER);
-		fInstanceViewer.addCheckStateListener(fCheckHandler);
-		fInstanceViewer.getTable().setLayoutData(data);
-		fInstanceViewer.setContentProvider(fContentProvider);
-		IDebugModelPresentation pres = DebugUITools.newDebugModelPresentation();
-		pres.setAttribute(JDIModelPresentation.DISPLAY_QUALIFIED_NAMES, new Boolean(true));
-		fInstanceViewer.setLabelProvider(pres);
-		fInstanceViewer.setInput(fBreakpoint);
-		setInitialCheckedState();
-	}
-	
-	/**
-	 * Sets the initial checked state of the tree viewer.
-	 * The initial state should reflect the current state
-	 * of the breakpoint. If the breakpoint has a thread
-	 * filter in a given thread, that thread should be
-	 * checked.
-	 */
-	protected void setInitialCheckedState() {
-		try {
-			IJavaObject[] objects = fBreakpoint.getInstanceFilters();
-			for (int i= 0; i < objects.length; i++) {
-				fCheckHandler.checkObject(objects[i], true);
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-
-	/**
-	 * @see FieldEditor#adjustForNumColumns(int)
-	 */
-	protected void adjustForNumColumns(int numColumns) {
-		((GridData) fOuter.getLayoutData()).horizontalSpan = numColumns;
-	}
-
-	/**
-	 * @see FieldEditor#doFillIntoGrid(Composite, int)
-	 */
-	protected void doFillIntoGrid(Composite parent, int numColumns) {
-		fOuter= new Composite(parent, SWT.NONE);
-
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = numColumns;
-		fOuter.setLayout(layout);
-		
-		GridData data= new GridData(GridData.FILL_BOTH);
-		fOuter.setLayoutData(data);
-		
-		data = new GridData();
-		data.horizontalSpan = numColumns;
-		getLabelControl(fOuter).setLayoutData(data);
-		createViewer();
-	}
-
-	/**
-	 * @see FieldEditor#doLoad()
-	 */
-	protected void doLoad() {
-	}
-
-	/**
-	 * @see FieldEditor#doLoadDefault()
-	 */
-	protected void doLoadDefault() {
-	}
-
-	/**
-	 * @see FieldEditor#doStore()
-	 */
-	protected void doStore() {
-		try {
-			IJavaObject[] objects = fBreakpoint.getInstanceFilters();
-			for (int i= 0; i < objects.length; i++) {
-				if (!fInstanceViewer.getChecked(objects[i])) {
-					fBreakpoint.removeInstanceFilter(objects[i]);
-				}
-			}
-		}  catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}						
-	}
-
-	/**
-	 * @see FieldEditor#getNumberOfControls()
-	 */
-	public int getNumberOfControls() {
-		return 1;
-	}
-	
-	class CheckHandler implements ICheckStateListener {	
-		
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			fInstanceViewer.setChecked(event.getElement(), event.getChecked());
-		}
-		
-		public void checkObject(IJavaObject object, boolean checked) {
-			fInstanceViewer.setChecked(object, checked);
-		}
-		
-	}
-	
-	class InstanceFilterContentProvider implements ITreeContentProvider {
-		
-		/**
-		 * @see ITreeContentProvider#getChildren(Object)
-		 */
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof IJavaBreakpoint) {
-				try {
-					return ((IJavaBreakpoint)parent).getInstanceFilters();
-				} catch (CoreException e) {
-					JDIDebugUIPlugin.log(e);
-				}
-			}
-			return new Object[0];
-		}
-
-		/**
-		 * @see ITreeContentProvider#getParent(Object)
-		 */
-		public Object getParent(Object element) {
-			if (element instanceof IJavaObject) {
-				return fBreakpoint;
-			}
-			return null;
-		}
-
-		/**
-		 * @see ITreeContentProvider#hasChildren(Object)
-		 */
-		public boolean hasChildren(Object element) {
-			if (element instanceof IJavaBreakpoint) {
-				return getChildren(element).length > 0;
-			} 
-			return false;
-		}
-
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return getChildren(inputElement);
-		}
-
-		/**
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/**
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InstanceFiltersAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InstanceFiltersAction.java
deleted file mode 100644
index 69053b5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/InstanceFiltersAction.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaClassType;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaFieldVariable;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Action to associate an object with one or more breakpoints.
- */
-public class InstanceFiltersAction extends ObjectActionDelegate {
-	
-	class InstanceFilterDialog extends ListSelectionDialog {
-		
-		public InstanceFilterDialog(
-			Shell parentShell,
-			Object input,
-			IStructuredContentProvider contentProvider,
-			ILabelProvider labelProvider,
-			String message) {
-			super(parentShell, input, contentProvider, labelProvider, message);
-		}
-		
-		
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-		 */
-		protected Control createDialogArea(Composite parent) {
-			Control control = super.createDialogArea(parent);
-			WorkbenchHelp.setHelp(
-				parent,
-				IJavaDebugHelpContextIds.INSTANCE_BREAKPOINT_SELECTION_DIALOG);				
-			return control;
-			
-		}
-
-}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection = getCurrentSelection();
-		if (selection == null || selection.size() > 1) {
-			return;
-		}
-		
-		Object o = selection.getFirstElement();
-		if (o instanceof IJavaVariable) {
-			final IJavaVariable var = (IJavaVariable)o;
-			try {
-				IValue value = var.getValue();
-				if (value instanceof IJavaObject) {
-					final IJavaObject object = (IJavaObject)value;
-					final List breakpoints = getApplicableBreakpoints(var, object);
-					IStructuredContentProvider content = new IStructuredContentProvider() {
-						public void dispose() {};
-						
-						public Object[] getElements(Object input) {
-							return breakpoints.toArray();
-						}
-						
-						public void inputChanged(Viewer viewer, Object a, Object b) {};
-					};
-					final IDebugModelPresentation modelPresentation= DebugUITools.newDebugModelPresentation();
-					ListSelectionDialog dialog = new InstanceFilterDialog(JDIDebugUIPlugin.getActiveWorkbenchShell(), breakpoints, content, modelPresentation, MessageFormat.format(ActionMessages.getString("InstanceFiltersAction.Restrict_selected_breakpoint(s)_to_object___{0}__1"), new String[] {var.getName()})){ //$NON-NLS-1$
-						public void okPressed() {
-							// check if breakpoints have already been restricted to other objects.
-							Object[] checkBreakpoint= getViewer().getCheckedElements();
-							for (int k= 0; k < checkBreakpoint.length; k++) {
-								IJavaBreakpoint breakpoint= (IJavaBreakpoint) checkBreakpoint[k];
-								try {
-									IJavaObject[] instanceFilters= breakpoint.getInstanceFilters();
-									boolean sameTarget = false;
-									for (int i = 0; i < instanceFilters.length; i++) {
-										IJavaObject instanceFilter = instanceFilters[i];
-										if (instanceFilter.getDebugTarget().equals(object.getDebugTarget())) {
-											sameTarget = true;
-											break;
-										}
-									}
-									if (sameTarget) {
-										MessageDialog dialog= new MessageDialog(JDIDebugUIPlugin.getActiveWorkbenchShell(), ActionMessages.getString("InstanceFiltersAction.Instance_Filter_Breakpoint_Selection_2"), //$NON-NLS-1$
-											null, MessageFormat.format(ActionMessages.getString("InstanceFiltersAction.breakpoint_{0}_already_restricted._Reset_the_restriction_to_object_{1}_"), new String[] { modelPresentation.getText(breakpoint), var.getName()}), //$NON-NLS-1$
-											MessageDialog.QUESTION, new String[] { ActionMessages.getString("InstanceFiltersAction.Yes_2"), ActionMessages.getString("InstanceFiltersAction.Cancel_3")}, //$NON-NLS-1$ //$NON-NLS-2$
-											0);
-										if (dialog.open() == Dialog.OK) {
-											for (int i= 0; i < instanceFilters.length; i++) {
-												breakpoint.removeInstanceFilter(instanceFilters[i]);
-											}
-										} else {
-											// if 'cancel', do not close the instance filter dialog
-											return;
-										}
-									}
-								} catch (CoreException e) {
-									JDIDebugUIPlugin.log(e);
-								}
-							}
-							super.okPressed();
-						}
-					};
-					dialog.setTitle(ActionMessages.getString("InstanceFiltersAction.Instance_Filter_Breakpoint_Selection_2")); //$NON-NLS-1$
-					
-					// determine initial selection
-					List existing = new ArrayList();
-					Iterator iter = breakpoints.iterator();
-					while (iter.hasNext()) {
-						IJavaBreakpoint bp = (IJavaBreakpoint)iter.next();
-						IJavaObject[] filters = bp.getInstanceFilters();
-						for (int i = 0; i < filters.length; i++) {
-							if (filters[i].equals(object)) {
-								existing.add(bp);
-								break;
-							}
-						}
-					}
-					dialog.setInitialSelections(existing.toArray());
-					
-					if (dialog.open() == ListSelectionDialog.OK) {
-						Object[] selectedBreakpoints = dialog.getResult();
-						if (selectedBreakpoints != null) {
-							// add
-							for (int i = 0; i < selectedBreakpoints.length; i++) {
-								IJavaBreakpoint bp = (IJavaBreakpoint)selectedBreakpoints[i];
-								bp.addInstanceFilter(object);
-								existing.remove(bp);
-							}
-							// remove
-							iter = existing.iterator();
-							while (iter.hasNext()) {
-								IJavaBreakpoint bp = (IJavaBreakpoint)iter.next();
-								bp.removeInstanceFilter(object);
-							}
-						}
-					}
-				} else {
-					// only allowed for objects
-				}
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-	}
-	
-	protected List getApplicableBreakpoints(IJavaVariable variable, IJavaObject object) {
-		List breakpoints = new ArrayList();
-		
-		try {
-			// collect names in type hierarchy
-			List superTypeNames = new ArrayList();
-			IJavaClassType type = (IJavaClassType)object.getJavaType();
-			while (type != null) {
-				superTypeNames.add(type.getName());
-				type = type.getSuperclass();
-			}
-			
-			IBreakpoint[] allBreakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints();
-			for (int i = 0; i < allBreakpoints.length; i++) {
-				if (allBreakpoints[i] instanceof IJavaBreakpoint) {
-					IJavaBreakpoint jbp = (IJavaBreakpoint)allBreakpoints[i];
-					IJavaBreakpoint valid = null;
-					if (jbp instanceof IJavaWatchpoint && variable instanceof IJavaFieldVariable) {
-						IJavaWatchpoint wp = (IJavaWatchpoint)jbp;
-						IJavaFieldVariable fv = (IJavaFieldVariable)variable;
-						if (variable.getName().equals(wp.getFieldName()) && fv.getDeclaringType().getName().equals(wp.getTypeName())) {
-							valid = wp;
-						}
-					} else if (superTypeNames.contains(jbp.getTypeName()) || jbp instanceof IJavaExceptionBreakpoint) {
-						valid = jbp;
-					}
-					if (valid != null) {
-						breakpoints.add(valid);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		 
-		return breakpoints;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPreferencePage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPreferencePage.java
deleted file mode 100644
index a86fbdc..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPreferencePage.java
+++ /dev/null
@@ -1,859 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaPatternBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.internal.debug.ui.BreakpointConditionCompletionProcessor;
-import org.eclipse.jdt.internal.debug.ui.BreakpointUtils;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.display.DisplayViewerConfiguration;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.source.ISourceViewer;
-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.VerifyKeyListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.graphics.Color;
-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.help.WorkbenchHelp;
-
-/**
- * The preference page that is used to present the properties of a breakpoint as 
- * preferences.  A JavaBreakpointPreferenceStore is used to interface between this
- * page and the breakpoint.
- * @see JavaBreakpointPropertiesDialog
- * @see JavaBreakpointPreferenceStore
- */
-public class JavaBreakpointPreferencePage extends FieldEditorPreferencePage {
-
-	class BreakpointIntegerFieldEditor extends IntegerFieldEditor {
-		public BreakpointIntegerFieldEditor(String name, String labelText, Composite parent) {
-			super(name, labelText, parent);
-			setErrorMessage(ActionMessages.getString("BreakpointHitCountAction.Value_must_be_positive_integer"));//$NON-NLS-1$
-		}
-
-		/**
-		 * @see IntegerFieldEditor#checkState()
-		 */
-		protected boolean checkState() {
-			Text control= getTextControl();
-			if (!control.isEnabled()) {
-				clearErrorMessage();
-				return true;
-			}
-			return super.checkState();
-		}
-		
-		/**
-		 * Overrode here to be package visible.
-		 */
-		protected void refreshValidState() {
-			super.refreshValidState();
-		}
-		
-		/**
-		 * Only store if the text control is enabled
-		 * @see FieldEditor#doStore()
-		 */
-		protected void doStore() {
-			Text text = getTextControl();
-			if (text.isEnabled()) {
-				super.doStore();
-			}
-		}
-		/**
- 		 * Clears the error message from the message line if the error
- 		 * message is the error message from this field editor.
-		 */
-		protected void clearErrorMessage() {
-			if (getPreferencePage() != null) {
-				String message= getPreferencePage().getErrorMessage();
-				if (message != null) {
-					if(getErrorMessage().equals(message)) {
-						super.clearErrorMessage();
-					}
-					
-				} else {
-					super.clearErrorMessage();
-				}
-			}
-		}
-	}
-
-	class BreakpointStringFieldEditor extends StringFieldEditor {
-		public BreakpointStringFieldEditor(String name,	String labelText, Composite parent) {
-			super(name, labelText, parent);
-		}
-
-		/**
-		 * @see StringFieldEditor#checkState()
-		 */
-		protected boolean checkState() {
-			Text control= getTextControl();
-			if (!control.isEnabled()) {
-				clearErrorMessage();
-				return true;
-			}
-			return super.checkState();
-		}
-		
-		protected void doStore() {
-			Text text = getTextControl();
-			if (text.isEnabled()) {
-				super.doStore();
-			}
-		}
-
-		/**
-		 * @see 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 (getPreferencePage() != null) {
-				String message= getPreferencePage().getErrorMessage();
-				if (message != null) {
-					if(getErrorMessage().equals(message)) {
-						super.clearErrorMessage();
-					}
-					
-				} else {
-					super.clearErrorMessage();
-				}
-			}
-		}
-	}
-	
-	class BreakpointConditionFieldEditor extends FieldEditor {
-		
-		private SourceViewer fViewer;
-		
-		private BreakpointConditionCompletionProcessor fCompletionProcessor;
-		
-		private boolean fIsValid;
-		
-		private String fOldValue;
-		
-		private String fErrorMessage;
-		
-		private Composite fParent;
-		
-		public BreakpointConditionFieldEditor(String name,	String labelText, Composite parent) {
-			super(name, labelText, parent);
-			setDefaults();
-			
-			fErrorMessage= ActionMessages.getString("JavaBreakpointPreferencePage.Invalid_condition"); //$NON-NLS-1$
-			fOldValue= ""; //$NON-NLS-1$
-		}
-
-		protected void doStore() {
-			getPreferenceStore().setValue(getPreferenceName(), fViewer.getDocument().get());
-		}
-
-		/**
-		 * @see FieldEditor#refreshValidState()
-		 */
-		protected void refreshValidState() {
-			// the value is valid if the field is not editable, or if the value is not empty
-			if (!fViewer.isEditable()) {
-				clearErrorMessage();
-				fIsValid= true;
-			} else {
-				String text= fViewer.getDocument().get();
-				fIsValid= text != null && text.trim().length() > 0;
-				if (!fIsValid) {
-					showErrorMessage(fErrorMessage);
-				} else {
-					clearErrorMessage();
-				}
-			}
-			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 (getPreferencePage() != null) {
-				String message= getPreferencePage().getErrorMessage();
-				if (message != null) {
-					if(fErrorMessage.equals(message)) {
-						super.clearErrorMessage();
-					}
-					
-				} else {
-					super.clearErrorMessage();
-				}
-			}
-		}
-		/**
-		 * @see org.eclipse.jface.preference.FieldEditor#doFillIntoGrid(org.eclipse.swt.widgets.Composite, int)
-		 */
-		protected void doFillIntoGrid(Composite parent, int numColumns) {
-			fParent= parent;
-			getLabelControl(parent).setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-			
-			// the source viewer
-			fViewer= new SourceViewer(parent, null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-			fViewer.setInput(parent);
-		
-			JavaTextTools tools= JavaPlugin.getDefault().getJavaTextTools();
-			IDocument document= new Document();
-			IDocumentPartitioner partitioner= tools.createDocumentPartitioner();
-			document.setDocumentPartitioner(partitioner);
-			partitioner.connect(document);		
-			fViewer.configure(new DisplayViewerConfiguration() {
-				public IContentAssistProcessor getContentAssistantProcessor() {
-						return getCompletionProcessor();
-				}
-			});
-			fViewer.setEditable(true);
-			fViewer.setDocument(document);
-		
-			fViewer.getTextWidget().setFont(JFaceResources.getTextFont());
-			
-			Control control= fViewer.getControl();
-			GridData gd = new GridData(GridData.FILL_BOTH);
-			gd.horizontalSpan = numColumns - 1;
-			control.setLayoutData(gd);
-		
-			// listener for activate the code assist
-			fViewer.getTextWidget().addVerifyKeyListener(new VerifyKeyListener() {
-				public void verifyKey(VerifyEvent event) {
-					//do code assist for CTRL-SPACE
-					if (event.stateMask == SWT.CTRL && event.keyCode == 0) {
-						if (event.character == 0x20) {
-							fViewer.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS);
-							event.doit= false;
-						}
-					} else if (event.stateMask == SWT.CTRL && event.character == SWT.CR) {
-						((JavaBreakpointPropertiesDialog) JavaBreakpointPreferencePage.this.getContainer()).okPressed();
-						event.doit= false;
-					} 
-				}
-			});
-
-			// listener for check the value
-			fViewer.getTextWidget().addKeyListener(new KeyAdapter() {
-				public void keyReleased(KeyEvent e) {
-					valueChanged();
-				}
-			});
-			
-		}
-
-		/**
-		 * @see org.eclipse.jface.preference.FieldEditor#adjustForNumColumns(int)
-		 */
-		protected void adjustForNumColumns(int numColumns) {
-			GridData gd = (GridData)fViewer.getControl().getLayoutData();
-			gd.horizontalSpan = numColumns - 1;
-			// We only grab excess space if we have to
-			// If another field editor has more columns then
-			// we assume it is setting the width.
-			gd.grabExcessHorizontalSpace = gd.horizontalSpan == 1;
-		}
-
-		/**
-		 * @see org.eclipse.jface.preference.FieldEditor#doLoad()
-		 */
-		protected void doLoad() {
-			fViewer.getDocument().set(getPreferenceStore().getString(getPreferenceName()));
-			valueChanged();
-		}
-
-		/**
-		 * @see org.eclipse.jface.preference.FieldEditor#doLoadDefault()
-		 */
-		protected void doLoadDefault() {
-			fViewer.getDocument().set(getPreferenceStore().getDefaultString(getPreferenceName()));
-			valueChanged();
-		}
-
-		/**
-		 * @see org.eclipse.jface.preference.FieldEditor#getNumberOfControls()
-		 */
-		public int getNumberOfControls() {
-			return 0;
-		}
-		
-		/**
-		 * Return the completion processor associated with this viewer.
-		 * @return BreakPointConditionCompletionProcessor
-		 */
-		private BreakpointConditionCompletionProcessor getCompletionProcessor() {
-			if (fCompletionProcessor == null) {
-				fCompletionProcessor= new BreakpointConditionCompletionProcessor(null);
-			}
-			return fCompletionProcessor;
-		}
-		
-		/**
-		 * Set the defaults value of this fields which can't be set in doFillIntoGrid().
-		 */
-		public void setDefaults() {
-			// we can only do code assist if there is an associated type
-			IType type = null;
-			try {
-				type= BreakpointUtils.getType(fBreakpoint);
-			} catch (CoreException e) {
-			}
-			if (type != null) {
-				try {
-					getCompletionProcessor().setType(type);			
-					String source= null;
-					ICompilationUnit compilationUnit= type.getCompilationUnit();
-					if (compilationUnit != null) {
-						source= compilationUnit.getSource();
-					} else {
-						IClassFile classFile= type.getClassFile();
-						if (classFile != null) {
-							source= classFile.getSource();
-						}
-					}
-					int lineNumber= fBreakpoint.getMarker().getAttribute(IMarker.LINE_NUMBER, -1);
-					int position= -1;
-					if (source != null && lineNumber != -1) {
-						try {
-							position= new Document(source).getLineOffset(lineNumber - 1);
-						} catch (BadLocationException e) {
-						}
-					}
-					getCompletionProcessor().setPosition(position);
-				} catch (CoreException e) {
-				}
-			}
-			
-			GridData gd= (GridData)fViewer.getControl().getLayoutData();
-			gd.heightHint= convertHeightInCharsToPixels(10);
-			gd.widthHint= convertWidthInCharsToPixels(40);			
-		}
-
-		/**
-		 * @see org.eclipse.jface.preference.FieldEditor#setEnabled(boolean, org.eclipse.swt.widgets.Composite)
-		 */
-		public void setEnabled(boolean enabled) {
-			super.setEnabled(enabled, fParent);
-			fViewer.setEditable(enabled);
-			Color color= null;
-			if (enabled) {
-				color= fViewer.getControl().getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND);
-			} else {
-				color= fViewer.getControl().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-			}
-			fViewer.getTextWidget().setBackground(color);
-			valueChanged();
-		}
-
-		/**
-		 * @see org.eclipse.jface.preference.FieldEditor#isValid()
-		 */
-		public boolean isValid() {
-			return fIsValid;
-		}
-		
-		public void valueChanged() {
-			boolean oldState= fIsValid;
-			refreshValidState();
-			if (fIsValid != oldState)
-				fireStateChanged(IS_VALID, oldState, fIsValid);
-				
-			String newValue = fViewer.getDocument().get();
-			if (!newValue.equals(fOldValue)) {
-				fireValueChanged(VALUE, fOldValue, newValue);
-				fOldValue = newValue;
-			}
-		}
-
-	}
-	
-	class LabelFieldEditor extends FieldEditor {
-
-		private Label fTitleLabel;
-		private Label fValueLabel;
-		private Composite fBasicComposite;
-		private String fValue;
-		private String fTitle;
-
-		public LabelFieldEditor(Composite parent, String title, String value) {
-			fValue = value;
-			fTitle = title;
-			this.createControl(parent);
-		}
-
-		protected void adjustForNumColumns(int numColumns) {
-			((GridData) fBasicComposite.getLayoutData()).horizontalSpan = numColumns;
-		}
-
-		protected void doFillIntoGrid(Composite parent, int numColumns) {
-			Font font = parent.getFont();
-			
-			fBasicComposite = new Composite(parent, SWT.NULL);
-			GridLayout layout = new GridLayout();
-			layout.marginWidth = 0;
-			layout.marginHeight = 0;
-			layout.numColumns = 2;
-			fBasicComposite.setLayout(layout);
-			GridData data = new GridData();
-			data.verticalAlignment = GridData.FILL;
-			data.horizontalAlignment = GridData.FILL;
-			fBasicComposite.setLayoutData(data);
-
-			fTitleLabel = new Label(fBasicComposite, SWT.NONE);
-			fTitleLabel.setText(fTitle);
-			GridData gd = new GridData();
-			gd.verticalAlignment = SWT.TOP;
-			fTitleLabel.setLayoutData(gd);
-			fTitleLabel.setFont(font);
-
-			fValueLabel = new Label(fBasicComposite, SWT.WRAP);
-			fValueLabel.setText(fValue);
-			gd = new GridData();
-			fValueLabel.setLayoutData(gd);
-			fValueLabel.setFont(font);
-		}
-
-		public int getNumberOfControls() {
-			return 1;
-		}
-
-		/**
-		 * The label field editor is only used to present a text label
-		 * on a preference page.
-		 */
-		protected void doLoad() {
-		}
-		protected void doLoadDefault() {
-		}
-		protected void doStore() {
-		}
-	}
-
-	private Text fHitCountTextControl;
-	private BooleanFieldEditor fHitCountEnabler;
-	private BreakpointIntegerFieldEditor fHitCount;
-	
-	private BooleanFieldEditor fConditionEnabler;
-	private BreakpointConditionFieldEditor fCondition;
-	private RadioGroupFieldEditor fConditionSuspendRadio;
-
-	private IJavaBreakpoint fBreakpoint;
-	protected static final String VM_SUSPEND_POLICY = "VM"; //$NON-NLS-1$
-	protected static final String THREAD_SUSPEND_POLICY = "THREAD"; //$NON-NLS-1$
-
-	protected JavaElementLabelProvider fJavaLabelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-	
-	protected JavaBreakpointPreferencePage(IJavaBreakpoint breakpoint) {
-		super(GRID);
-		setBreakpoint(breakpoint);
-	}
-
-	/**
-	 * Initializes all field editors.
-	 */
-	protected void initialize() {
-		super.initialize();
-		fHitCountEnabler.setPropertyChangeListener(new IPropertyChangeListener() {
-			/**
-			 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-			 */
-			public void propertyChange(PropertyChangeEvent event) {
-				boolean enabled = fHitCountEnabler.getBooleanValue();
-				fHitCountTextControl.setEnabled(enabled);
-				fHitCount.refreshValidState();
-				if (fHitCount.isValid() && fCondition != null) {
-					fCondition.refreshValidState();
-				}
-				checkState();
-			}
-		});
-		if (fConditionEnabler == null) {
-			return;
-		}
-		fConditionEnabler.setPropertyChangeListener(new IPropertyChangeListener() {
-			/**
-			 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-			 */
-			public void propertyChange(PropertyChangeEvent event) {
-				boolean enabled = fConditionEnabler.getBooleanValue();
-				fCondition.setEnabled(enabled);
-				fConditionSuspendRadio.setEnabled(enabled, getFieldEditorParent());
-				fCondition.refreshValidState();
-				if (fCondition.isValid() && fHitCount != null) {
-					fHitCount.refreshValidState();
-				}
-				checkState();
-			}
-		});	
-	}
-
-	/**
-	 * @see FieldEditorPreferencePage#createFieldEditors()
-	 */
-	protected void createFieldEditors() {
-		IJavaBreakpoint breakpoint = getBreakpoint();
-		try {
-			String typeName = breakpoint.getTypeName();
-			if (typeName != null) {
-				addField(createLabelEditor(getFieldEditorParent(), ActionMessages.getString("JavaBreakpointPreferencePage.Type___4"), typeName)); //$NON-NLS-1$
-			}
-			createTypeSpecificLabelFieldEditors(breakpoint);
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-
-		if (breakpoint instanceof ILineBreakpoint) {
-			ILineBreakpoint lBreakpoint = (ILineBreakpoint) breakpoint;
-			StringBuffer lineNumber = new StringBuffer(4);
-			try {
-				int lNumber = lBreakpoint.getLineNumber();
-				if (lNumber > 0) {
-					lineNumber.append(lNumber);
-				}
-			} catch (CoreException ce) {
-				JDIDebugUIPlugin.log(ce);
-			}
-			if (lineNumber.length() > 0) {
-				addField(
-					createLabelEditor(
-						getFieldEditorParent(),
-						ActionMessages.getString("JavaBreakpointPreferencePage.Line_Number___5"), //$NON-NLS-1$
-						lineNumber.toString()));
-			}
-		}
-		IPreferenceStore store= getPreferenceStore();
-		
-		try {
-			store.setValue(JavaBreakpointPreferenceStore.ENABLED, breakpoint.isEnabled());
-			int hitCount = breakpoint.getHitCount();
-			if (hitCount > 0) {
-				store.setValue(JavaBreakpointPreferenceStore.HIT_COUNT, hitCount);
-				store.setValue(JavaBreakpointPreferenceStore.HIT_COUNT_ENABLED, true);
-			} else {
-				store.setValue(JavaBreakpointPreferenceStore.HIT_COUNT_ENABLED, false);
-			}
-
-			String policy = ""; //$NON-NLS-1$
-			if (breakpoint.getSuspendPolicy() == IJavaBreakpoint.SUSPEND_THREAD) {
-				policy = THREAD_SUSPEND_POLICY;
-			} else {
-				policy = VM_SUSPEND_POLICY;
-			}
-			store.setValue(JavaBreakpointPreferenceStore.SUSPEND_POLICY, policy);
-			addField(createEnabledEditor(getFieldEditorParent()));
-			createHitCountEditor(getFieldEditorParent());
-			addField(createSuspendPolicyEditor(getFieldEditorParent()));
-			createTypeSpecificFieldEditors();
-			addField(createThreadFilterViewer(getFieldEditorParent()));
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-		
-		try {
-			IJavaObject[] instances = breakpoint.getInstanceFilters();
-			if (instances.length > 0) {
-				addField(createInstanceFilterViewer(getFieldEditorParent()));
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-
-	protected void createTypeSpecificLabelFieldEditors(IJavaBreakpoint breakpoint) throws CoreException {
-		if (breakpoint instanceof IJavaLineBreakpoint) {
-			IMember member= BreakpointUtils.getMember((IJavaLineBreakpoint)breakpoint);
-			if (member == null) {
-				return;
-			}
-			String label= ActionMessages.getString("JavaBreakpointPreferencePage.Member");//$NON-NLS-1$
-			String memberName= fJavaLabelProvider.getText(member);
-			if (breakpoint instanceof IJavaMethodBreakpoint) {
-				label= ActionMessages.getString("JavaBreakpointPreferencePage.Method");//$NON-NLS-1$
-			} else if (breakpoint instanceof IJavaWatchpoint) {
-				label= ActionMessages.getString("JavaBreakpointPreferencePage.Field");//$NON-NLS-1$
-			}
-			addField(createLabelEditor(getFieldEditorParent(), label, memberName)); 
-		}
-	}
-	
-	protected FieldEditor createThreadFilterViewer(Composite parent) {
-		return new ThreadFilterViewer(parent, getBreakpoint());
-	}
-	
-	protected FieldEditor createInstanceFilterViewer(Composite parent) {
-		return new InstanceFilterViewer(parent, getBreakpoint());
-	}	
-	
-	protected FieldEditor createFilterEditor(Composite parent) {
-		return new ExceptionBreakpointFilterEditor(parent, (IJavaExceptionBreakpoint)getBreakpoint());
-	}
-
-	protected void createTypeSpecificFieldEditors() throws CoreException {
-		IJavaBreakpoint breakpoint= getBreakpoint();
-		IPreferenceStore store= getPreferenceStore();
-		if (breakpoint instanceof IJavaExceptionBreakpoint) {
-			IJavaExceptionBreakpoint jeBreakpoint = (IJavaExceptionBreakpoint) breakpoint;
-			setTitle(ActionMessages.getString("JavaBreakpointPreferencePage.Java_Exception_Breakpoint_Properties_8")); //$NON-NLS-1$
-			store.setValue(
-				JavaBreakpointPreferenceStore.UNCAUGHT, jeBreakpoint.isUncaught());
-			store.setValue(JavaBreakpointPreferenceStore.CAUGHT, jeBreakpoint.isCaught());
-			addField(createUncaughtEditor(getFieldEditorParent()));
-			addField(createCaughtEditor(getFieldEditorParent()));
-			addField(createFilterEditor(getFieldEditorParent()));
-		} else if (breakpoint instanceof IJavaLineBreakpoint) {
-			IJavaLineBreakpoint lineBreakpoint= (IJavaLineBreakpoint)breakpoint;
-			if (lineBreakpoint.supportsCondition()) {
-				createConditionEditor(getFieldEditorParent());
-				String condition= lineBreakpoint.getCondition();
-				if (condition == null) {
-					condition = ""; //$NON-NLS-1$
-				}
-				store.setValue(JavaBreakpointPreferenceStore.CONDITION, condition);
-				if (lineBreakpoint.isConditionEnabled()) {
-					store.setValue(JavaBreakpointPreferenceStore.CONDITION_ENABLED, true);
-				} else {
-					store.setValue(JavaBreakpointPreferenceStore.CONDITION_ENABLED, false);				
-				}
-				if (lineBreakpoint.isConditionSuspendOnTrue()) {
-					store.setValue(JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_TRUE, JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_TRUE);
-				} else {
-					store.setValue(JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_TRUE, JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_CHANGES);
-				}
-			}
-			if (breakpoint instanceof IJavaMethodBreakpoint) {
-				IJavaMethodBreakpoint jmBreakpoint = (IJavaMethodBreakpoint) breakpoint;
-				setTitle(ActionMessages.getString("JavaBreakpointPreferencePage.Java_Method_Breakpoint_Properties_10")); //$NON-NLS-1$
-				store.setValue(
-					JavaBreakpointPreferenceStore.METHOD_ENTRY, jmBreakpoint.isEntry());
-				store.setValue(
-					JavaBreakpointPreferenceStore.METHOD_EXIT, jmBreakpoint.isExit());
-				addField(createMethodEntryEditor(getFieldEditorParent()));
-				addField(createMethodExitEditor(getFieldEditorParent()));
-			} else if (breakpoint instanceof IJavaWatchpoint) {
-				IJavaWatchpoint jWatchpoint = (IJavaWatchpoint) breakpoint;
-				setTitle(ActionMessages.getString("JavaBreakpointPreferencePage.Java_Watchpoint_Properties_12")); //$NON-NLS-1$
-				store.setValue(JavaBreakpointPreferenceStore.ACCESS, jWatchpoint.isAccess());
-				store.setValue(
-					JavaBreakpointPreferenceStore.MODIFICATION, jWatchpoint.isModification());
-				addField(createAccessEditor(getFieldEditorParent()));
-				addField(createModificationEditor(getFieldEditorParent()));
-			} else if (breakpoint instanceof IJavaPatternBreakpoint) {
-				setTitle(ActionMessages.getString("JavaBreakpointPreferencePage.Java_Pattern_Breakpoint_Properties_14")); //$NON-NLS-1$
-			} else {
-			 	setTitle(ActionMessages.getString("JavaBreakpointPreferencePage.Java_Line_Breakpoint_Properties_16")); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/**
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createContents(parent);
-		setControl(getFieldEditorParent());
-		WorkbenchHelp.setHelp(
-			parent,
-			IJavaDebugHelpContextIds.JAVA_BREAKPOINT_PREFERENCE_PAGE );
-	}
-
-	protected FieldEditor createAccessEditor(Composite parent) {	
-		BooleanFieldEditor bfe= new BooleanFieldEditor(JavaBreakpointPreferenceStore.ACCESS, ActionMessages.getString("JavaBreakpointPreferencePage.Access_18"), parent); //$NON-NLS-1$
-		return bfe;
-	}
-	
-	protected void createHitCountEditor(Composite parent) {
-		fHitCountEnabler =
-			new BooleanFieldEditor(
-				JavaBreakpointPreferenceStore.HIT_COUNT_ENABLED,
-				ActionMessages.getString("JavaBreakpointPreferencePage.Enable_&Hit_Count_19"), //$NON-NLS-1$
-				parent);
-		addField(fHitCountEnabler);
-
-		fHitCount =
-			new BreakpointIntegerFieldEditor(
-				JavaBreakpointPreferenceStore.HIT_COUNT,
-				ActionMessages.getString("JavaBreakpointPreferencePage.H&it_Count__20"), //$NON-NLS-1$
-				parent);
-		fHitCount.setValidRange(1, Integer.MAX_VALUE);
-		fHitCountTextControl = fHitCount.getTextControl(parent);
-		try {
-			fHitCountTextControl.setEnabled(getBreakpoint().getHitCount() > 0);
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-		addField(fHitCount);
-	}
-
-	protected void createConditionEditor(Composite parent) {
-		IType type = null;
-		try {
-			type = BreakpointUtils.getType(fBreakpoint);
-		} catch (CoreException e) {
-		}
-		String label = null;
-		if (type == null) {
-			label = ActionMessages.getString("JavaBreakpointPreferencePage.Enable_Condition_(code_assist_not_available)_1"); //$NON-NLS-1$
-		} else {
-			label = ActionMessages.getString("JavaBreakpointPreferencePage.Enable_condition_1"); //$NON-NLS-1$
-		}
-		fConditionEnabler= new BooleanFieldEditor(JavaBreakpointPreferenceStore.CONDITION_ENABLED, label, parent);
-		addField(fConditionEnabler);
-
-		fCondition = new BreakpointConditionFieldEditor(JavaBreakpointPreferenceStore.CONDITION, ActionMessages.getString("JavaBreakpointPreferencePage.Condition_2"), parent); //$NON-NLS-1$
-		fConditionSuspendRadio= new RadioGroupFieldEditor(JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_TRUE, ActionMessages.getString("JavaBreakpointPreferencePage.Suspend_when_1"), 1, //$NON-NLS-1$
-			new String[][] {{ActionMessages.getString("JavaBreakpointPreferencePage.condition_is___true__._2"), JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_TRUE}, //$NON-NLS-1$
-				{ActionMessages.getString("JavaBreakpointPreferencePage.value_of_condition_change._3"), JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_CHANGES}}, parent);  //$NON-NLS-1$
-		try {
-			boolean enabled= ((IJavaLineBreakpoint)getBreakpoint()).isConditionEnabled();
-			fCondition.setEnabled(enabled);
-			fConditionSuspendRadio.setEnabled(enabled, getFieldEditorParent());
-		} catch (CoreException ce) {
-		}
-		addField(fCondition);
-		addField(fConditionSuspendRadio);
-		
-	}
-	
-	protected FieldEditor createLabelEditor(
-		Composite parent,
-		String title,
-		String value) {
-		return new LabelFieldEditor(parent, title, value);
-	}
-	
-	protected IJavaBreakpoint getBreakpoint() {
-		return fBreakpoint;
-	}
-
-	protected void setBreakpoint(IJavaBreakpoint breakpoint) {
-		fBreakpoint = breakpoint;
-	}
-	
-	protected FieldEditor createCaughtEditor(Composite parent) {	
-		BooleanFieldEditor bfe= new BooleanFieldEditor(JavaBreakpointPreferenceStore.CAUGHT, ActionMessages.getString("JavaBreakpointPreferencePage.&Caught_21"), parent); //$NON-NLS-1$
-		return bfe;
-	}
-
-	protected FieldEditor createEnabledEditor(Composite parent) {	
-		BooleanFieldEditor bfe= new BooleanFieldEditor(JavaBreakpointPreferenceStore.ENABLED, ActionMessages.getString("JavaBreakpointPreferencePage.&Enabled_22"),parent); //$NON-NLS-1$
-		return bfe;
-	}
-
-	protected FieldEditor createMethodEntryEditor(Composite parent) {	
-		BooleanFieldEditor bfe= new BooleanFieldEditor(JavaBreakpointPreferenceStore.METHOD_ENTRY, ActionMessages.getString("JavaBreakpointPreferencePage.E&ntry_25"), parent); //$NON-NLS-1$
-		return bfe;
-	}
-
-	protected FieldEditor createMethodExitEditor(Composite parent) {	
-		BooleanFieldEditor bfe= new BooleanFieldEditor(JavaBreakpointPreferenceStore.METHOD_EXIT, ActionMessages.getString("JavaBreakpointPreferencePage.E&xit_26"), parent); //$NON-NLS-1$
-		return bfe;
-	}
-
-	protected FieldEditor createModificationEditor(Composite parent) {	
-		BooleanFieldEditor bfe= new BooleanFieldEditor(JavaBreakpointPreferenceStore.MODIFICATION, ActionMessages.getString("JavaBreakpointPreferencePage.&Modification_27"), parent); //$NON-NLS-1$
-		return bfe;
-	}
-
-
-	protected FieldEditor createSuspendPolicyEditor(Composite parent) {	
-		RadioGroupFieldEditor editor= new RadioGroupFieldEditor(
- 			JavaBreakpointPreferenceStore.SUSPEND_POLICY, ActionMessages.getString("JavaBreakpointPreferencePage.Suspend_Policy_29"), 1, //$NON-NLS-1$
- 			new String[][] {
- 				{ActionMessages.getString("JavaBreakpointPreferencePage.Suspend_&Thread_30"), THREAD_SUSPEND_POLICY}, //$NON-NLS-1$
- 				{ActionMessages.getString("JavaBreakpointPreferencePage.Suspend_&VM_31"), VM_SUSPEND_POLICY} //$NON-NLS-1$
- 			},
-           parent);	
-
-		return editor;
-	}
-
-	protected FieldEditor createUncaughtEditor(Composite parent) {	
-		BooleanFieldEditor bfe= new BooleanFieldEditor(JavaBreakpointPreferenceStore.UNCAUGHT, ActionMessages.getString("JavaBreakpointPreferencePage.&Uncaught_32"), parent); //$NON-NLS-1$
-		return bfe;
-	}
-	
-	/**
- 	 * The preference page implementation of this <code>IPreferencePage</code>
-	 * (and <code>IPropertyChangeListener</code>) method intercepts <code>IS_VALID</code> 
-     * events but passes other events on to its superclass.
-     */
-	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 (fHitCount != null && event.getSource() != fHitCount) {
-					fHitCount.refreshValidState();
-				} 
-				if (fCondition != null && event.getSource() != fCondition) {
-					fCondition.refreshValidState();
-				}
-				checkState();
-			} else {
-				super.propertyChange(event);
-			}
-
-		} else {
-			super.propertyChange(event);
-		}
-}
-
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPreferenceStore.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPreferenceStore.java
deleted file mode 100644
index 8b716ce..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPreferenceStore.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.HashMap;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * A preference store that presents the state of the properties
- * of a Java breakpoint. Default settings are not supported.
- */
-public class JavaBreakpointPreferenceStore implements IPreferenceStore {
-	
-	protected final static String ENABLED= "ENABLED"; //$NON-NLS-1$
-	protected final static String HIT_COUNT= "HIT_COUNT"; //$NON-NLS-1$
-	protected final static String HIT_COUNT_ENABLED= "HIT_COUNT_ENABLED"; //$NON-NLS-1$
-	protected final static String SUSPEND_POLICY= "SUSPEND_POLICY"; //$NON-NLS-1$
-	protected final static String METHOD_EXIT= "METHOD_EXIT"; //$NON-NLS-1$
-	protected final static String METHOD_ENTRY= "METHOD_ENTRY"; //$NON-NLS-1$
-	protected final static String CAUGHT= "CAUGHT"; //$NON-NLS-1$
-	protected final static String UNCAUGHT= "UNCAUGHT"; //$NON-NLS-1$
-	protected final static String ACCESS= "ACCESS"; //$NON-NLS-1$
-	protected final static String MODIFICATION= "MODIFICATION"; //$NON-NLS-1$
-	protected final static String THREAD_FILTER= "THREAD_FILTER"; //$NON-NLS-1$
-	protected final static String EXCEPTION_FILTER= "EXCEPTION_FILTER"; //$NON-NLS-1$
-	protected final static String CONDITION= "CONDITION"; //$NON-NLS-1$
-	protected final static String CONDITION_ENABLED= "CONDITION_ENABLED"; //$NON-NLS-1$
-	protected final static String CONDITION_SUSPEND_ON_TRUE= "CONDITION_SUSPEND_ON_TRUE"; //$NON-NLS-1$
-	protected final static String CONDITION_SUSPEND_ON_CHANGES= "CONDITION_SUSPEND_ON_CHANGES"; //$NON-NLS-1$
-	protected final static String INSTANCE_FILTER= "INSTANCE_FILTER"; //$NON-NLS-1$
-
-	protected HashMap fProperties;
-	private boolean fIsDirty= false; 
-	private ListenerList fListeners;
-	
-	protected JavaBreakpointPreferenceStore() {
-		fProperties= new HashMap(9);
-		fListeners= new ListenerList();
-	}
-	/**
-	 * @see IPreferenceStore#addPropertyChangeListener(IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		fListeners.add(listener);
-	}
-
-	/**
-	 * @see IPreferenceStore#contains(String)
-	 */
-	public boolean contains(String name) {
-		return fProperties.containsKey(name);
-	}
-
-	/**
-	 * @see IPreferenceStore#firePropertyChangeEvent(String, Object, Object)
-	 */
-	public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
-		Object[] listeners = fListeners.getListeners();
-		// Do we need to fire an event.
-		if (listeners.length > 0 && (oldValue == null || !oldValue.equals(newValue))) {
-			PropertyChangeEvent pe = new PropertyChangeEvent(this, name, oldValue, newValue);
-			for (int i = 0; i < listeners.length; ++i) {
-				IPropertyChangeListener l = (IPropertyChangeListener) listeners[i];
-				l.propertyChange(pe);
-			}
-		}
-	}
-
-	/**
-	 * @see IPreferenceStore#getBoolean(String)
-	 */
-	public boolean getBoolean(String name) {
-		Object b= fProperties.get(name);
-		if (b instanceof Boolean) {
-			return ((Boolean)b).booleanValue();
-		}
-		return false;
-	}
-
-	/**
-	 * @see IPreferenceStore#getDefaultBoolean(String)
-	 */
-	public boolean getDefaultBoolean(String name) {
-		return false;
-	}
-
-	/**
-	 * @see IPreferenceStore#getDefaultDouble(String)
-	 */
-	public double getDefaultDouble(String name) {
-		return 0;
-	}
-
-	/**
-	 * @see IPreferenceStore#getDefaultFloat(String)
-	 */
-	public float getDefaultFloat(String name) {
-		return 0;
-	}
-
-	/**
-	 * @see IPreferenceStore#getDefaultInt(String)
-	 */
-	public int getDefaultInt(String name) {
-		return 0;
-	}
-
-	/**
-	 * @see IPreferenceStore#getDefaultLong(String)
-	 */
-	public long getDefaultLong(String name) {
-		return 0;
-	}
-
-	/**
-	 * @see IPreferenceStore#getDefaultString(String)
-	 */
-	public String getDefaultString(String name) {
-		return null;
-	}
-
-	/**
-	 * @see IPreferenceStore#getDouble(String)
-	 */
-	public double getDouble(String name) {
-		return 0;
-	}
-
-	/**
-	 * @see IPreferenceStore#getFloat(String)
-	 */
-	public float getFloat(String name) {
-		return 0;
-	}
-
-	/**
-	 * @see IPreferenceStore#getInt(String)
-	 */
-	public int getInt(String name) {
-		Object i= fProperties.get(name);
-		if (i instanceof Integer) {
-			return ((Integer)i).intValue();
-		}
-		return 1;
-	}
-
-	/**
-	 * @see IPreferenceStore#getLong(String)
-	 */
-	public long getLong(String name) {
-		return 0;
-	}
-
-	/**
-	 * @see IPreferenceStore#getString(String)
-	 */
-	public String getString(String name) {
-		Object str= fProperties.get(name);
-		if (str instanceof String) {
-			return (String)str;
-		}
-		return null;
-	}
-
-	/**
-	 * @see IPreferenceStore#isDefault(String)
-	 */
-	public boolean isDefault(String name) {
-		return false;
-	}
-
-	/**
-	 * @see IPreferenceStore#needsSaving()
-	 */
-	public boolean needsSaving() {
-		return fIsDirty;
-	}
-
-	/**
-	 * @see IPreferenceStore#putValue(String, String)
-	 */
-	public void putValue(String name, String newValue) {
-		Object oldValue= fProperties.get(name);
-		if (oldValue == null || !oldValue.equals(newValue)) {
-			fProperties.put(name, newValue);
-			setDirty(true);
-		}
-	}
-
-	/**
-	 * @see IPreferenceStore#removePropertyChangeListener(IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/**
-	 * @see IPreferenceStore#setDefault(String, boolean)
-	 */
-	public void setDefault(String name, boolean value) {
-	}
-
-	/**
-	 * @see IPreferenceStore#setDefault(String, double)
-	 */
-	public void setDefault(String name, double value) {
-	}
-
-	/**
-	 * @see IPreferenceStore#setDefault(String, float)
-	 */
-	public void setDefault(String name, float value) {
-	}
-
-	/**
-	 * @see IPreferenceStore#setDefault(String, int)
-	 */
-	public void setDefault(String name, int value) {
-	}
-
-	/**
-	 * @see IPreferenceStore#setDefault(String, long)
-	 */
-	public void setDefault(String name, long value) {
-	}
-
-	/**
-	 * @see IPreferenceStore#setDefault(String, String)
-	 */
-	public void setDefault(String name, String defaultObject) {
-	}
-
-	/**
-	 * @see IPreferenceStore#setToDefault(String)
-	 */
-	public void setToDefault(String name) {
-	}
-
-	/**
-	 * @see IPreferenceStore#setValue(String, boolean)
-	 */
-	public void setValue(String name, boolean newValue) {
-		boolean oldValue= getBoolean(name);
-		if (oldValue != newValue) {
-			fProperties.put(name,new Boolean(newValue));
-			setDirty(true);
-			firePropertyChangeEvent(name, new Boolean(oldValue), new Boolean(newValue));
-		}
-	}
-
-	/**
-	 * @see IPreferenceStore#setValue(String, double)
-	 */
-	public void setValue(String name, double value) {
-		//breakpoints do not currently have any double properties
-	}
-
-	/**
-	 * @see IPreferenceStore#setValue(String, float)
-	 */
-	public void setValue(String name, float value) {
-		//breakpoints do not currently have any float properties
-	}
-
-	/**
-	 * @see IPreferenceStore#setValue(String, int)
-	 */
-	public void setValue(String name, int newValue) {
-		int oldValue= getInt(name);
-		if (oldValue != newValue) {
-			fProperties.put(name,new Integer(newValue));
-			setDirty(true);
-			firePropertyChangeEvent(name, new Integer(oldValue), new Integer(newValue));
-		}
-	}
-
-	/**
-	 * @see IPreferenceStore#setValue(String, long)
-	 */
-	public void setValue(String name, long value) {
-		//breakpoints do not currently have any long properties
-	}
-
-	/**
-	 * @see IPreferenceStore#setValue(String, String)
-	 */
-	public void setValue(String name, String newValue) {
-		Object oldValue= fProperties.get(name);
-		if (oldValue == null || !oldValue.equals(newValue)) {
-			fProperties.put(name, newValue);
-			setDirty(true);
-			firePropertyChangeEvent(name, oldValue, newValue);
-		}
-	}
-
-	protected void setDirty(boolean isDirty) {
-		fIsDirty = isDirty;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesAction.java
deleted file mode 100644
index 7fc44bb..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Presents a custom properties dialog to configure
- * the attibutes of a Java Breakpoint.
- */
-public class JavaBreakpointPropertiesAction implements IObjectActionDelegate {
-	
-	private IWorkbenchPart fPart;
-	private IJavaBreakpoint fBreakpoint;
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		Dialog d= 
-			new JavaBreakpointPropertiesDialog(getActivePart().getSite().getShell(), getBreakpoint());
-		d.open();
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss= (IStructuredSelection)selection;
-			if (ss.isEmpty() || ss.size() > 1) {
-				return;
-			}
-			Object element= ss.getFirstElement();
-			if (element instanceof IJavaBreakpoint) {
-				setBreakpoint((IJavaBreakpoint)element);
-			}
-		}
-	}
-	
-	protected IWorkbenchPart getActivePart() {
-		return fPart;
-	}
-
-	protected void setActivePart(IWorkbenchPart part) {
-		fPart = part;
-	}
-	
-	protected IJavaBreakpoint getBreakpoint() {
-		return fBreakpoint;
-	}
-
-	protected void setBreakpoint(IJavaBreakpoint breakpoint) {
-		fBreakpoint = breakpoint;
-	}
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		setActivePart(targetPart);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesDialog.java
deleted file mode 100644
index 1dc2c80..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesDialog.java
+++ /dev/null
@@ -1,525 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-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.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.IPreferencePageContainer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-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.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Shell;
-
-public class JavaBreakpointPropertiesDialog extends Dialog implements IPreferencePageContainer {
-
-	/**
-	 * Layout for the page container.
-	 *
-	 * @see JavaBreakpointPropertiesDialog#createPageContainer(Composite, int)
-	 */
-	private class PageLayout extends Layout {
-		public void layout(Composite composite, boolean force) {
-			Rectangle rect = composite.getClientArea();
-			Control [] children = composite.getChildren();
-			for (int i= 0; i < children.length; i++) {
-				children[i].setSize(rect.width, rect.height);
-			}
-		}
-		public Point computeSize(Composite composite, int wHint, int hHint, boolean force) {
-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-				return new Point(wHint, hHint);
-			int x= fMinimumPageSize.x;
-			int y= fMinimumPageSize.y;
-			
-			Control[] children= composite.getChildren();
-			for (int i= 0; i < children.length; i++) {
-				Point size= children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
-				x= Math.max(x, size.x);
-				y= Math.max(y, size.y);
-			}				
-			if (wHint != SWT.DEFAULT) x = wHint;
-			if (hHint != SWT.DEFAULT) y = hHint;
-			return new Point(x, y);
-		}	
-	}
-
-	private Composite fTitleArea;
-	private Label fTitleImage;
-	private CLabel fMessageLabel;
-	
-	private String fMessage;
-	private Color fNormalMsgAreaBackground;
-	private Image fErrorMsgImage;
-
-	
-	private JavaBreakpointPreferencePage fPage;
-	
-	private Button fOkButton;
-	
-	/**
-	 * Must declare our own images as the JFaceResource images will not be created unless
-	 * a property/preference dialog has been shown
-	 */
-	protected static final String PREF_DLG_TITLE_IMG = "breakpoint_preference_dialog_title_image";//$NON-NLS-1$
-	protected static final String PREF_DLG_IMG_TITLE_ERROR = "breakpoint_preference_dialog_title_error_image";//$NON-NLS-1$
-	static {
-		ImageRegistry reg = JDIDebugUIPlugin.getDefault().getImageRegistry();
-		reg.put(PREF_DLG_TITLE_IMG, ImageDescriptor.createFromFile(PreferenceDialog.class, "images/pref_dialog_title.gif"));//$NON-NLS-1$
-		reg.put(PREF_DLG_IMG_TITLE_ERROR, ImageDescriptor.createFromFile(Dialog.class, "images/message_error.gif"));//$NON-NLS-1$
-	}
-	
-	/**
-	 * The Composite in which a page is shown.
-	 */
-	private Composite fPageContainer;
-
-	/**
-	 * The minimum page size; 200 by 200 by default.
-	 *
-	 * @see #setMinimumPageSize(Point)
-	 */
-	private Point fMinimumPageSize = new Point(200,200);
-	
-	/**
-	 * The breakpoint that this dialog is operating on
-	 */
-	private IJavaBreakpoint fBreakpoint;
-		
-	/**
-	 * The "fake" preference store used to interface between
-	 * the breakpoint and the breakpoint preference page.
-	 */
-	private JavaBreakpointPreferenceStore fJavaBreakpointPreferenceStore;
-	
-	public JavaBreakpointPropertiesDialog(Shell parentShell, IJavaBreakpoint breakpoint) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE | SWT.MAX);
-		setBreakpoint(breakpoint);
-		fJavaBreakpointPreferenceStore= new JavaBreakpointPreferenceStore();
-	}
-
-	/**
-	 * @see Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		final List changedProperties= new ArrayList(5);
-		getPreferenceStore().addPropertyChangeListener( new IPropertyChangeListener() {
-			/**
-			 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-			 */
-			public void propertyChange(PropertyChangeEvent event) {
-				changedProperties.add(event.getProperty());
-			}
-		});
-		fPage.performOk();
-		setBreakpointProperties(changedProperties);
-		super.okPressed();
-	}
-	
-	/**
-	 * All of the properties that the user has changed via the dialog
-	 * are written through to the breakpoint.
-	 */
-	protected void setBreakpointProperties(final List changedProperties) {
-		IWorkspaceRunnable wr= new IWorkspaceRunnable() {
-			
-		public void run(IProgressMonitor monitor) throws CoreException {
-				
-		boolean newEnabled= false;
-		IJavaBreakpoint breakpoint= getBreakpoint();
-		Iterator changed= changedProperties.iterator();
-		while (changed.hasNext()) {
-			String property = (String) changed.next();
-			switch (property.charAt(0)) {
-				case 'A': //access
-					IJavaWatchpoint jWatchpoint= (IJavaWatchpoint)breakpoint;
-					jWatchpoint.setAccess(getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.ACCESS));
-					break;
-				case 'C': //caught or condition
-					switch (property.charAt(property.length() - 1)) {
-						case 'T': // caught
-							IJavaExceptionBreakpoint jeBreakpoint= (IJavaExceptionBreakpoint)breakpoint;
-							jeBreakpoint.setCaught(getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.CAUGHT));
-							break;
-						case 'N': // condition
-							IJavaLineBreakpoint lineBreakpoint= (IJavaLineBreakpoint)breakpoint;
-							lineBreakpoint.setCondition(getPreferenceStore().getString(JavaBreakpointPreferenceStore.CONDITION));
-							break;
-						case 'D': // condition_enabled
-							lineBreakpoint= (IJavaLineBreakpoint)breakpoint;
-							lineBreakpoint.setConditionEnabled(getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.CONDITION_ENABLED));
-							break;
-						case 'E': // condition suspend policy
-							lineBreakpoint= (IJavaLineBreakpoint)breakpoint;
-							lineBreakpoint.setConditionSuspendOnTrue(getPreferenceStore().getString(JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_TRUE) == JavaBreakpointPreferenceStore.CONDITION_SUSPEND_ON_TRUE);
-							break;
-					}
-					break;
-				case 'E'://enabled
-					newEnabled= true;
-					break;
-				case 'H':
-					if (property.charAt(property.length() - 1) == 'T') {
-						//hitcount
-						breakpoint.setHitCount(getPreferenceStore().getInt(JavaBreakpointPreferenceStore.HIT_COUNT));
-					} else {
-						if (getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.HIT_COUNT_ENABLED)) {
-							 if (!changedProperties.contains(JavaBreakpointPreferenceStore.HIT_COUNT)) {
-								//enabled the hit count but did not change the hit count value
-								breakpoint.setHitCount(getPreferenceStore().getInt(JavaBreakpointPreferenceStore.HIT_COUNT));
-							}
-						} else {
-							//disable the hitCount
-							breakpoint.setHitCount(0);	
-						}
-					}
-					break;
-				case 'M':
-					char lastChar= property.charAt(property.length() - 1);
-					if (lastChar == 'T') {
-						//exit
-						IJavaMethodBreakpoint jmBreakpoint= (IJavaMethodBreakpoint)breakpoint;
-						jmBreakpoint.setExit(getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.METHOD_EXIT));
-					} else if (lastChar == 'Y') {
-						//entry
-						IJavaMethodBreakpoint jmBreakpoint= (IJavaMethodBreakpoint)breakpoint;
-						jmBreakpoint.setEntry(getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.METHOD_ENTRY));
-					} else {
-						jWatchpoint= (IJavaWatchpoint)breakpoint;
-						jWatchpoint.setModification(getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.MODIFICATION));
-					}
-					break;
-				case 'S':
-					String value= getPreferenceStore().getString(JavaBreakpointPreferenceStore.SUSPEND_POLICY);
-					if (value.equals(JavaBreakpointPreferencePage.VM_SUSPEND_POLICY)) {
-						breakpoint.setSuspendPolicy(IJavaBreakpoint.SUSPEND_VM);
-					} else {
-						breakpoint.setSuspendPolicy(IJavaBreakpoint.SUSPEND_THREAD);
-					}
-					break;
-				case 'U':
-					IJavaExceptionBreakpoint jeBreakpoint= (IJavaExceptionBreakpoint)breakpoint;
-					jeBreakpoint.setUncaught(getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.UNCAUGHT));
-					break;
-			}
-			
-		}
-		if (newEnabled) {
-			//some of the other attributes auto enable the breakpoint
-			//ensure that the breakpoint is set as the user specified
-			breakpoint.setEnabled(getPreferenceStore().getBoolean(JavaBreakpointPreferenceStore.ENABLED));
-		}
-		}};
-		
-		try {
-			ResourcesPlugin.getWorkspace().run(wr, null);
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}	
-	}
-	/**
-	 * Sets the title for this dialog.
-	 * @param title the title.
-	 */
-	public void setTitle(String title) {
-		Shell shell= getShell();
-		if ((shell != null) && !shell.isDisposed()) {
-			shell.setText(title);
-		}
-	}
-	
-	/**
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite composite = (Composite)super.createDialogArea(parent);
-		((GridLayout) composite.getLayout()).numColumns = 1;
-		composite.setFont(font);
-		
-		// Build the title area and separator line
-		Composite titleComposite = new Composite(composite, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 0;
-		titleComposite.setLayout(layout);
-		titleComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		titleComposite.setFont(font);
-		
-		createTitleArea(titleComposite);
-	
-		Label titleBarSeparator = new Label(titleComposite, SWT.HORIZONTAL | SWT.SEPARATOR);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		titleBarSeparator.setLayoutData(gd);
-	
-		// Build the Page container
-		fPageContainer = createPageContainer(composite);
-		fPageContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		fPage= new JavaBreakpointPreferencePage(getBreakpoint());
-		fPage.setContainer(this);
-		fPage.createControl(fPageContainer);
-			
-		// Build the separator line
-		Label separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		separator.setLayoutData(gd);
-	
-		applyDialogFont(composite);
-		return composite;
-	}
-	
-	/**
-	 * Creates the dialog's title area.
-	 *
-	 * @param parent the SWT parent for the title area composite
-	 * @return the created title area composite
-	 */
-	private Composite createTitleArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		// Create the title area which will contain
-		// a title, message, and image.
-		fTitleArea = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 0;
-		layout.numColumns = 2;
-		
-		// Get the colors for the title area
-		Display display = parent.getDisplay();
-		Color bg = JFaceColors.getBannerBackground(display);
-		Color fg = JFaceColors.getBannerForeground(display);
-		
-		GridData layoutData = new GridData(GridData.FILL_BOTH);
-		fTitleArea.setLayout(layout);
-		fTitleArea.setLayoutData(layoutData);
-		fTitleArea.setFont(font);
-		fTitleArea.setBackground(bg);
-	
-		// Message label
-		fMessageLabel = new CLabel(fTitleArea, SWT.LEFT);
-		fMessageLabel.setBackground(bg);
-		fMessageLabel.setForeground(fg);
-		fMessageLabel.setText(" ");//$NON-NLS-1$
-		fMessageLabel.setFont(JFaceResources.getBannerFont());
-		
-		final IPropertyChangeListener fontListener = new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if(JFaceResources.BANNER_FONT.equals(event.getProperty()) ||
-					JFaceResources.DIALOG_FONT.equals(event.getProperty())) {
-					updateMessage();
-				}
-			}
-		};
-		
-		fMessageLabel.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				JFaceResources.getFontRegistry().removeListener(fontListener);
-			}
-		});
-		
-		JFaceResources.getFontRegistry().addListener(fontListener);
-				
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		fMessageLabel.setLayoutData(gd);
-	
-		// Title image
-		fTitleImage = new Label(fTitleArea, SWT.LEFT);
-		fTitleImage.setBackground(bg);
-		fTitleImage.setImage(JDIDebugUIPlugin.getDefault().getImageRegistry().get(PREF_DLG_TITLE_IMG));
-		gd = new GridData(); 
-		gd.horizontalAlignment = GridData.END;
-		fTitleImage.setLayoutData(gd);
-	
-		return fTitleArea;
-	}
-
-	/**
-	 * Creates the inner page container.
-	 */
-	private Composite createPageContainer(Composite parent) {
-		Composite result = new Composite(parent, SWT.NULL);
-		result.setLayout(new PageLayout());
-		result.setFont(parent.getFont());
-		return result;
-	}
-
-	/**
-	 * Sets the minimum page size.
-	 *
-	 * @param size the page size encoded as
-	 *   <code>new Point(width,height)</code>
-	 * @see #setMinimumPageSize(int,int)
-	 */
-	public void setMinimumPageSize(Point size) {
-		fMinimumPageSize.x = size.x;
-		fMinimumPageSize.y = size.y;
-	}
-	
-	/**
-	 * Display the given error message. The currently displayed message
-	 * is saved and will be redisplayed when the error message is set
-	 * to <code>null</code>.
-	 *
-	 * @param errorMessage the errorMessage to display or <code>null</code>
-	 */
-	public void setErrorMessage(String errorMessage) {
-		if (errorMessage == null) {
-			if (fMessageLabel.getImage() != null) {
-				// we were previously showing an error
-				fMessageLabel.setBackground(fNormalMsgAreaBackground);
-				fMessageLabel.setImage(null);
-				fTitleImage.setImage(JDIDebugUIPlugin.getDefault().getImageRegistry().get(PREF_DLG_TITLE_IMG));
-				fTitleArea.layout(true);
-			}
-	
-			// show the message
-			setMessage(fMessage);
-	
-		} else {
-			fMessageLabel.setText(errorMessage);
-			if (fMessageLabel.getImage() == null) {
-				// we were not previously showing an error
-							
-				// lazy initialize the error background color and image
-				if (fErrorMsgImage == null) {
-					fErrorMsgImage = JDIDebugUIPlugin.getDefault().getImageRegistry().get(PREF_DLG_IMG_TITLE_ERROR);
-				}
-	
-				// show the error	
-				fNormalMsgAreaBackground = fMessageLabel.getBackground();
-				fMessageLabel.setBackground(JFaceColors.getErrorBackground(fMessageLabel.getDisplay()));
-				fMessageLabel.setImage(fErrorMsgImage);
-				fTitleImage.setImage(null);
-				fTitleArea.layout(true);
-			}
-		}
-	}
-	/**
-	 * Set the message text. If the message line currently displays an error,
-	 * the message is stored and will be shown after a call to clearErrorMessage
-	 */
-	public void setMessage(String newMessage) {
-		fMessage = newMessage;
-		if (fMessage == null) {
-			fMessage = "";//$NON-NLS-1$
-		}
-		if (fMessageLabel.getImage() == null) {
-			// we are not showing an error
-			fMessageLabel.setText(fMessage);
-		}
-	}
-	
-	/**
-	 * @see IPreferencePageContainer#updateMessage()
-	 */
-	public void updateMessage() {
-		String pageMessage = fPage.getMessage();
-		String pageErrorMessage = fPage.getErrorMessage();
-
-		// Adjust the font
-		if (pageMessage == null && pageErrorMessage == null)
-			fMessageLabel.setFont(JFaceResources.getBannerFont());
-		else
-			fMessageLabel.setFont(JFaceResources.getDialogFont());
-
-		// Set the message and error message	
-		if (pageMessage == null) {
-			setMessage(fPage.getTitle());
-		} else {
-			setMessage(pageMessage);
-		}
-		setErrorMessage(pageErrorMessage);
-	}
-	
-	protected IJavaBreakpoint getBreakpoint() {
-		return fBreakpoint;
-	}
-
-	protected void setBreakpoint(IJavaBreakpoint breakpoint) {
-		fBreakpoint = breakpoint;
-	}
-	
-	/**
-	 * @see IPreferencePageContainer#getPreferenceStore()
-	 */
-	public IPreferenceStore getPreferenceStore() {
-		return fJavaBreakpointPreferenceStore;
-	}
-
-	/**
-	 * @see IPreferencePageContainer#updateButtons()
-	 */
-	public void updateButtons() {
-		if (fOkButton != null) {
-			fOkButton.setEnabled(fPage.isValid());
-		}
-	}
-
-	/**
-	 * @see IPreferencePageContainer#updateTitle()
-	 */
-	public void updateTitle() {
-		setTitle(fPage.getTitle());
-	}
-	
-	/**
-	 * @see Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		fOkButton= createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesRulerAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesRulerAction.java
deleted file mode 100644
index 7fa1a7b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesRulerAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-
-/**
- * Presents a custom properties dialog to configure
- * the attibutes of a Java Breakpoint from the ruler popup menu of a 
- * text editor.
- */
-public class JavaBreakpointPropertiesRulerAction extends AbstractBreakpointRulerAction {
-
-	/**
-	 * Creates the action to enable/disable breakpoints
-	 */
-	public JavaBreakpointPropertiesRulerAction(ITextEditor editor, IVerticalRulerInfo info) {
-		setInfo(info);
-		setTextEditor(editor);
-		setText(ActionMessages.getString("JavaBreakpointPropertiesRulerAction.Breakpoint_&Properties_1")); //$NON-NLS-1$
-	}
-	/**
-	 * @see Action#run()
-	 */
-	public void run() {
-		if (getBreakpoint() != null) {
-			Dialog d= 
-				new JavaBreakpointPropertiesDialog(getTextEditor().getEditorSite().getShell(), (IJavaBreakpoint)getBreakpoint());
-			d.open();	
-		}
-	}
-	
-	/**
-	 * @see IUpdate#update()
-	 */
-	public void update() {
-		setBreakpoint(determineBreakpoint());
-		if (getBreakpoint() == null || !(getBreakpoint() instanceof IJavaBreakpoint)) {
-			setBreakpoint(null);
-			setEnabled(false);
-			return;
-		}
-		setEnabled(true);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesRulerActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesRulerActionDelegate.java
deleted file mode 100644
index 742a1f3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/JavaBreakpointPropertiesRulerActionDelegate.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-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;
-
-public class JavaBreakpointPropertiesRulerActionDelegate extends AbstractRulerActionDelegate {
-
-	/**
-	 * @see AbstractRulerActionDelegate#createAction(ITextEditor, IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		return new JavaBreakpointPropertiesRulerAction(editor, rulerInfo);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointActionDelegate.java
deleted file mode 100644
index b239332..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointActionDelegate.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.debug.ui.BreakpointUtils;
-import org.eclipse.jdt.internal.debug.ui.ExceptionHandler;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.action.IAction;
-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.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.texteditor.IEditorStatusLine;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Action for adding/removing breakpoints at a line in a type represented
- * by the source shown in the active Java Editor.
- */
-public class ManageBreakpointActionDelegate implements IWorkbenchWindowActionDelegate, IPartListener {
-	
-	protected boolean fInitialized= false;
-	private IAction fAction= null;
-	private int fLineNumber;
-	private IType fType= null;
-	private ITextEditor fTextEditor= null;
-	private IWorkbenchWindow fWorkbenchWindow= null;
-
-	public ManageBreakpointActionDelegate() {
-	}
-	
-	/**
-	 * Manages a breakpoint.
-	 */
-	protected void manageBreakpoint(IEditorInput editorInput) {
-		ISelectionProvider sp= getTextEditor().getSelectionProvider();
-		if (sp == null || getType() == null) {
-			report(ActionMessages.getString("ManageBreakpointActionDelegate.No_Breakpoint")); //$NON-NLS-1$
-			return;
-		}
-		report(null);
-		ISelection selection= sp.getSelection();
-		if (selection instanceof ITextSelection) {
-			IDocument document= getTextEditor().getDocumentProvider().getDocument(editorInput);
-			BreakpointLocationVerifier bv = new BreakpointLocationVerifier();
-			int lineNumber = bv.getValidBreakpointLocation(document, ((ITextSelection)selection).getStartLine());		
-			if (lineNumber > -1) {
-				try {
-					IJavaLineBreakpoint breakpoint= JDIDebugModel.lineBreakpointExists(getType().getFullyQualifiedName(), lineNumber);
-					if (breakpoint != null) {
-						DebugPlugin.getDefault().getBreakpointManager().removeBreakpoint(breakpoint, true);
-					} else {
-						try {
-							IRegion line= document.getLineInformation(lineNumber - 1);
-							Map attributes = new HashMap(10);
-							int start= line.getOffset();
-							int end= start + line.getLength() - 1;
-							BreakpointUtils.addJavaBreakpointAttributesWithMemberDetails(attributes, getType(), start, end);
-							JDIDebugModel.createLineBreakpoint(BreakpointUtils.getBreakpointResource(getType()), getType().getFullyQualifiedName(), lineNumber, -1, -1, 0, true, attributes);
-						} catch (BadLocationException ble) {
-							JDIDebugUIPlugin.log(ble);
-						}
-					}
-				} catch (CoreException ce) {
-					ExceptionHandler.handle(ce, ActionMessages.getString("ManageBreakpointActionDelegate.error.title1"), ActionMessages.getString("ManageBreakpointActionDelegate.error.message1")); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Determines if a breakpoint exists on the line of the current selection.
-	 */
-	protected boolean breakpointExists(IEditorInput editorInput) {
-		IType type= getType(editorInput);
-		if (type != null) {
-			try {
-				return JDIDebugModel.lineBreakpointExists(type.getFullyQualifiedName(), getLineNumber()) == null;
-			} catch (CoreException ce) {
-				JDIDebugUIPlugin.log(ce);
-			}
-		}
-	
-		return false;
-	}
-	
-	protected IType getType(IEditorInput editorInput) {
-		IType type= null;
-		ISelectionProvider sp= getTextEditor().getSelectionProvider();
-		if (sp != null) {
-			ISelection s= sp.getSelection();
-			if (s instanceof ITextSelection) {
-				ITextSelection selection= (ITextSelection) s;
-				setLineNumber(selection.getStartLine() + 1);
-				type= getType();
-				if (type != null && type.exists()) {
-					try {
-						ISourceRange sourceRange= type.getSourceRange();
-						if (selection.getOffset() >= sourceRange.getOffset() && selection.getOffset() <= (sourceRange.getOffset() + sourceRange.getLength() - 1)) {
-							return type;
-						}
-					} catch(JavaModelException e) {
-						JDIDebugUIPlugin.log(e);
-					}	
-				}
-				type= getType0(selection, editorInput);
-			}
-		}
-		return type;
-	}
-	
-	protected IType getType0(ITextSelection selection, IEditorInput editorInput) {
-		IMember member= ActionDelegateHelper.getDefault().getCurrentMember(selection);
-		IType type= null;
-		if (member instanceof IType) {
-			type = (IType)member;
-		} else if (member != null) {
-			type= member.getDeclaringType();
-		}
-	
-		setType(type);
-		return type;
-	}
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		if (getTextEditor() != null) {
-			update();
-			manageBreakpoint(getTextEditor().getEditorInput());
-		}
-	}
-	
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (!fInitialized) {
-			initialize(action);
-		} 
-	}
-
-	protected void initialize(IAction action) {
-		setAction(action);
-		if (getWorkbenchWindow() != null) {
-			IWorkbenchPage page= getWorkbenchWindow().getActivePage();
-			if (page != null) {
-				IEditorPart part= page.getActiveEditor();
-				if (part instanceof ITextEditor) {
-					if (!(part instanceof JavaSnippetEditor)) {
-						setTextEditor((ITextEditor)part);
-					}
-				}
-			}
-		}
-		fInitialized= true;
-	}
-	
-	protected void update() {
-		IAction action= getAction();
-		if (action != null) {
-			if (getTextEditor() != null) {
-				breakpointExists(getTextEditor().getEditorInput());
-			}
-		}
-	}
-	
-	protected int getLineNumber() {
-		return fLineNumber;
-	}
-	
-	protected void setLineNumber(int lineNumber) {
-		fLineNumber = lineNumber;
-	}
-	
-	protected IType getType() {
-		return fType;
-	}
-	
-	protected void setType(IType type) {
-		fType = type;
-	}
-	
-	protected IAction getAction() {
-		return fAction;
-	}
-
-	protected void setAction(IAction action) {
-		fAction = action;
-	}
-	
-	/**
-	 * @see IPartListener#partActivated(IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-		if (part instanceof ITextEditor) {
-			if (part instanceof JavaSnippetEditor) {
-				setTextEditor(null);
-			} else {
-				setTextEditor((ITextEditor)part);
-			}	
-		}
-	}
-
-	/**
-	 * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-	 */
-	public void partBroughtToTop(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partClosed(IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (part == getTextEditor()) {
-			setTextEditor(null);
-			if (getAction() != null) {
-				getAction().setEnabled(false);
-			}
-		}
-	}
-
-	/**
-	 * @see IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-		if (part instanceof ITextEditor) {
-			if (getTextEditor() == null) {
-				if (!(part instanceof JavaSnippetEditor)) {
-					setTextEditor((ITextEditor)part);
-				}
-			}
-		}
-	}
-	
-	protected ITextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	protected void setTextEditor(ITextEditor editor) {
-		fTextEditor = editor;
-		setType(null);
-		setEnabledState(editor);
-	}
-
-	protected void setEnabledState(ITextEditor editor) {
-		if (getAction() != null) {
-			getAction().setEnabled(editor != null  
-			&& (editor.getSite().getId().equals(JavaUI.ID_CF_EDITOR)
-			|| editor.getSite().getId().equals(JavaUI.ID_CU_EDITOR)));
-		} 
-	}
-	
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		setWorkbenchWindow(window);
-		window.getPartService().addPartListener(this);
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		getWorkbenchWindow().getPartService().removePartListener(this);
-	}
-
-	protected IWorkbenchWindow getWorkbenchWindow() {
-		return fWorkbenchWindow;
-	}
-
-	protected void setWorkbenchWindow(IWorkbenchWindow workbenchWindow) {
-		fWorkbenchWindow = workbenchWindow;
-	}
-
-	protected void report(String message) {
-		if (getTextEditor() != null) {
-			IEditorStatusLine statusLine= (IEditorStatusLine) getTextEditor().getAdapter(IEditorStatusLine.class);
-			if (statusLine != null) {
-				if (message != null) {
-					statusLine.setMessage(true, message, null);
-				} else {
-					statusLine.setMessage(true, null, null);
-				}
-			}
-		}		
-		if (message != null && JDIDebugUIPlugin.getActiveWorkbenchShell() != null) {
-			JDIDebugUIPlugin.getActiveWorkbenchShell().getDisplay().beep();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointRulerAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointRulerAction.java
deleted file mode 100644
index 588d739..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointRulerAction.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-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.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.debug.ui.BreakpointUtils;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.ui.IWorkingCopyManager;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.IUpdate;
-
-public class ManageBreakpointRulerAction extends Action implements IUpdate {	
-	
-	private IVerticalRulerInfo fRuler;
-	private ITextEditor fTextEditor;
-	private String fMarkerType;
-	private List fMarkers;
-
-	private String fAddLabel;
-	private String fRemoveLabel;
-	
-	public ManageBreakpointRulerAction(IVerticalRulerInfo ruler, ITextEditor editor) {
-		fRuler= ruler;
-		fTextEditor= editor;
-		fMarkerType= IBreakpoint.BREAKPOINT_MARKER;
-		fAddLabel= ActionMessages.getString("ManageBreakpointRulerAction.add.label"); //$NON-NLS-1$
-		fRemoveLabel= ActionMessages.getString("ManageBreakpointRulerAction.remove.label"); //$NON-NLS-1$
-	}
-	
-	/** 
-	 * Returns the resource for which to create the marker, 
-	 * or <code>null</code> if there is no applicable resource.
-	 *
-	 * @return the resource for which to create the marker or <code>null</code>
-	 */
-	protected IResource getResource() {
-		IEditorInput input= fTextEditor.getEditorInput();
-		
-		IResource resource= (IResource) input.getAdapter(IFile.class);
-		
-		if (resource == null) {
-			resource= (IResource) input.getAdapter(IResource.class);
-		}
-			
-		return resource;
-	}
-	
-	/**
-	 * Checks whether a position includes the ruler's line of activity.
-	 *
-	 * @param position the position to be checked
-	 * @param document the document the position refers to
-	 * @return <code>true</code> if the line is included by the given position
-	 */
-	protected boolean includesRulerLine(Position position, IDocument document) {
-
-		if (position != null) {
-			try {
-				int markerLine= document.getLineOfOffset(position.getOffset());
-				int line= fRuler.getLineOfLastMouseButtonActivity();
-				if (line == markerLine) {
-					return true;
-				}
-			} catch (BadLocationException x) {
-			}
-		}
-		
-		return false;
-	}
-	
-	/**
-	 * Returns this action's vertical ruler info.
-	 *
-	 * @return this action's vertical ruler
-	 */
-	protected IVerticalRulerInfo getVerticalRulerInfo() {
-		return fRuler;
-	}
-	
-	/**
-	 * Returns this action's editor.
-	 *
-	 * @return this action's editor
-	 */
-	protected ITextEditor getTextEditor() {
-		return fTextEditor;
-	}
-	
-	/**
-	 * Returns the <code>AbstractMarkerAnnotationModel</code> of the editor's input.
-	 *
-	 * @return the marker annotation model
-	 */
-	protected AbstractMarkerAnnotationModel getAnnotationModel() {
-		IDocumentProvider provider= fTextEditor.getDocumentProvider();
-		IAnnotationModel model= provider.getAnnotationModel(fTextEditor.getEditorInput());
-		if (model instanceof AbstractMarkerAnnotationModel) {
-			return (AbstractMarkerAnnotationModel) model;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the <code>IDocument</code> of the editor's input.
-	 *
-	 * @return the document of the editor's input
-	 */
-	protected IDocument getDocument() {
-		IDocumentProvider provider= fTextEditor.getDocumentProvider();
-		return provider.getDocument(fTextEditor.getEditorInput());
-	}
-	
-	/**
-	 * @see IUpdate#update()
-	 */
-	public void update() {
-		fMarkers= getMarkers();
-		setText(fMarkers.isEmpty() ? fAddLabel : fRemoveLabel);
-	}
-
-	/**
-	 * @see Action#run()
-	 */
-	public void run() {
-		if (fMarkers.isEmpty()) {
-			addMarker();
-		} else {
-			removeMarkers(fMarkers);
-		}
-	}
-	
-	protected List getMarkers() {
-		
-		List breakpoints= new ArrayList();
-		
-		IResource resource= getResource();
-		IDocument document= getDocument();
-		AbstractMarkerAnnotationModel model= getAnnotationModel();
-		
-		if (model != null) {
-			try {
-				
-				IMarker[] markers= null;
-				if (resource instanceof IFile)
-					markers= resource.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);
-				else {
-					IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-					markers= root.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);
-				}
-				
-				if (markers != null) {
-					IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-					for (int i= 0; i < markers.length; i++) {
-						IBreakpoint breakpoint= breakpointManager.getBreakpoint(markers[i]);
-						if (breakpoint != null && breakpointManager.isRegistered(breakpoint) && 
-								includesRulerLine(model.getMarkerPosition(markers[i]), document))
-							breakpoints.add(markers[i]);
-					}
-				}
-			} catch (CoreException x) {
-				JDIDebugUIPlugin.log(x.getStatus());
-			}
-		}
-		return breakpoints;
-	}
-	
-	protected void addMarker() {
-		
-		IEditorInput editorInput= getTextEditor().getEditorInput();
-		
-		IDocument document= getDocument();
-		int rulerLine= getVerticalRulerInfo().getLineOfLastMouseButtonActivity();
-		
-		try {
-			BreakpointLocationVerifier bv = new BreakpointLocationVerifier();
-			int lineNumber = bv.getValidBreakpointLocation(document, rulerLine);
-			if (lineNumber > 0) {
-				
-				IRegion line= document.getLineInformation(lineNumber - 1);
-				
-				IType type = null;
-				IClassFile classFile= (IClassFile) editorInput.getAdapter(IClassFile.class);
-				if (classFile != null) {
-					type= classFile.getType();
-					// bug 34856 - if this is an inner type, ensure the breakpoint is not
-					// being added to the outer type
-					if (type.getDeclaringType() != null) {
-						ISourceRange sourceRange = type.getSourceRange();
-						int offset = line.getOffset();
-						int start = sourceRange.getOffset();
-						int end = start + sourceRange.getLength();
-						if (offset < start || offset > end) {
-							// not in the inner type
-							IStatusLineManager manager  = getTextEditor().getEditorSite().getActionBars().getStatusLineManager();
-							manager.setErrorMessage(MessageFormat.format(ActionMessages.getString("ManageBreakpointRulerAction.Breakpoints_can_only_be_created_within_the_type_associated_with_the_editor__{0}._1"), new String[]{type.getTypeQualifiedName()})); //$NON-NLS-1$
-							Display.getCurrent().beep();
-							return;
-						}
-					}
-				} else if (editorInput instanceof IFileEditorInput) {
-					IWorkingCopyManager manager= JavaUI.getWorkingCopyManager();
-					ICompilationUnit unit= manager.getWorkingCopy(editorInput);
-					if (unit != null) {
-						synchronized (unit) {
-							unit.reconcile();
-						}
-						IJavaElement e = unit.getElementAt(line.getOffset());
-						if (e instanceof IType) {
-							type= (IType)e;
-						} else if (e instanceof IMember) {
-							type= ((IMember)e).getDeclaringType();
-						}
-					}
-				}
-				
-				if (type != null) {
-					IJavaProject project= type.getJavaProject();
-					if (type.exists() && project != null && project.isOnClasspath(type)) {
-						if (JDIDebugModel.lineBreakpointExists(type.getFullyQualifiedName(),lineNumber) == null) {
-							Map attributes = new HashMap(10);
-							int start= line.getOffset();
-							int end= start + line.getLength() - 1;
-							BreakpointUtils.addJavaBreakpointAttributesWithMemberDetails(attributes, type, start, end);
-							JDIDebugModel.createLineBreakpoint(getBreakpointResource(type), type.getFullyQualifiedName(), lineNumber, -1, -1, 0, true, attributes);
-						}
-					}
-				}
-			}
-		} catch (DebugException e) {
-			JDIDebugUIPlugin.errorDialog(ActionMessages.getString("ManageBreakpointRulerAction.error.adding.message1"), e); //$NON-NLS-1$
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(ActionMessages.getString("ManageBreakpointRulerAction.error.adding.message1"), e); //$NON-NLS-1$
-		} catch (BadLocationException e) {
-			JDIDebugUIPlugin.errorDialog(ActionMessages.getString("ManageBreakpointRulerAction.error.adding.message1"), e); //$NON-NLS-1$
-		}
-	}
-	
-	protected void removeMarkers(List markers) {
-		IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-		try {
-			Iterator e= markers.iterator();
-			while (e.hasNext()) {
-				IBreakpoint breakpoint= breakpointManager.getBreakpoint((IMarker) e.next());
-				breakpointManager.removeBreakpoint(breakpoint, true);
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(ActionMessages.getString("ManageBreakpointRulerAction.error.removing.message1"), e); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Returns the resource on which a breakpoint marker should
-	 * be created for the given member. The resource returned is the 
-	 * associated file, or project in the case of a class file in 
-	 * a jar.
-	 * 
-	 * @param member member in which a breakpoint is being created
-	 * @return resource the resource on which a breakpoint marker
-	 *  should be created
-	 * @exception CoreException if an exception occurs accessing the
-	 *  underlying resource or Java model elements
-	 */
-	public IResource getBreakpointResource(IMember member) throws CoreException {
-		ICompilationUnit cu = member.getCompilationUnit();
-		if (cu != null && cu.isWorkingCopy()) {
-			member = (IMember)cu.getOriginal(member);
-		}
-		IResource res = member.getUnderlyingResource();
-		if (res == null) {
-			res = member.getJavaProject().getProject();
-		}
-		return res;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointRulerActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointRulerActionDelegate.java
deleted file mode 100644
index 8a68c81..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageBreakpointRulerActionDelegate.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-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;
-
-public class ManageBreakpointRulerActionDelegate extends AbstractRulerActionDelegate {
-
-	/**
-	 * @see AbstractRulerActionDelegate#createAction()
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		return new ManageBreakpointRulerAction(rulerInfo, editor);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageMethodBreakpointActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageMethodBreakpointActionDelegate.java
deleted file mode 100644
index cf281bf..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageMethodBreakpointActionDelegate.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.HashMap;
-import java.util.Map;
-
-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.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.debug.ui.BreakpointUtils;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Adds a method breakpoint on a single selected element of type IMethod 
- */
-public class ManageMethodBreakpointActionDelegate extends AbstractManageBreakpointActionDelegate {
-		
-	protected IJavaBreakpoint getBreakpoint(IMember method) {
-		IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint[] breakpoints= breakpointManager.getBreakpoints(JDIDebugModel.getPluginIdentifier());
-		for (int i= 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint= breakpoints[i];
-			if (breakpoint instanceof IJavaMethodBreakpoint) {
-				IMember container = null;
-				try {
-					container= BreakpointUtils.getMember((IJavaMethodBreakpoint) breakpoint);
-				} catch (CoreException e) {
-					JDIDebugUIPlugin.log(e);
-					return null;
-				}
-				if (method.getDeclaringType().getFullyQualifiedName().equals(container.getDeclaringType().getFullyQualifiedName())) {
-					if (method instanceof IMethod && container instanceof IMethod) {
-						if (((IMethod)method).isSimilar((IMethod)container)) {
-							return (IJavaBreakpoint)breakpoint;
-						}
-					}
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected IMember getMember(ISelection s) {
-		if (s instanceof IStructuredSelection) {
-			IStructuredSelection ss= (IStructuredSelection) s;
-			if (ss.size() == 1) {					
-				Object o=  ss.getFirstElement();
-				if (o instanceof IMethod) {
-					return (IMethod) o;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		updateForRun();
-		report(null);
-		if (getBreakpoint() == null) {
-			// add breakpoint
-			try {
-				IMember member = getMember();
-				if (member == null || !enableForMember(member)) {
-					report(ActionMessages.getString("ManageMethodBreakpointActionDelegate.CantAdd")); //$NON-NLS-1$
-					return;
-				}
-				
-				IMethod method= (IMethod)member;
-				int start = -1;
-				int end = -1;
-				ISourceRange range = method.getNameRange();
-				if (range != null) {
-					start = range.getOffset();
-					end = start + range.getLength();
-				}
-				Map attributes = new HashMap(10);
-				BreakpointUtils.addJavaBreakpointAttributes(attributes, method);
-				String methodName = method.getElementName();
-				if (((IMethod)method).isConstructor()) {
-					methodName = "<init>"; //$NON-NLS-1$
-				}
-				IType type= method.getDeclaringType();
-				String methodSignature= method.getSignature();
-				if (!type.isBinary()) {
-					//resolve the type names
-					methodSignature= resolveMethodSignature(type, methodSignature);
-					if (methodSignature == null) {
-						IStatus status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), Status.ERROR, "Source method signature could not be resolved", null); //$NON-NLS-1$
-						JDIDebugUIPlugin.errorDialog(ActionMessages.getString("ManageMethodBreakpointActionDelegate.Add_Method_Breakpoint_Failed_2"), status); //$NON-NLS-1$
-						return;
-					}
-				}
-				
-				
-				setBreakpoint(JDIDebugModel.createMethodBreakpoint(BreakpointUtils.getBreakpointResource(method), 
-					type.getFullyQualifiedName(), methodName, methodSignature, true, false, false, -1, start, end, 0, true, attributes));
-			} catch (CoreException x) {
-				JDIDebugUIPlugin.log(x);
-				MessageDialog.openError(JDIDebugUIPlugin.getActiveWorkbenchShell(), ActionMessages.getString("ManageMethodBreakpointAction.Problems_creating_breakpoint_7"), x.getMessage()); //$NON-NLS-1$
-			}
-		} else {
-			// remove breakpoint
-			try {
-				IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-				breakpointManager.removeBreakpoint(getBreakpoint(), true);
-			} catch (CoreException x) {
-				JDIDebugUIPlugin.log(x);
-				MessageDialog.openError(JDIDebugUIPlugin.getActiveWorkbenchShell(), ActionMessages.getString("ManageMethodBreakpointAction.Problems_removing_breakpoint_8"), x.getMessage()); //$NON-NLS-1$
-			}
-		}
-	}
-
-	public static String resolveMethodSignature(IType type, String methodSignature) throws JavaModelException {
-		String[] parameterTypes= Signature.getParameterTypes(methodSignature);
-		
-		StringBuffer resolvedSig= new StringBuffer("("); //$NON-NLS-1$
-		for (int i = 0; i < parameterTypes.length; i++) {
-			String parameterType = parameterTypes[i];
-			if (parameterType.length() > 1) {
-				if (!generateQualifiedName(type, resolvedSig, parameterType)) {
-					return null;
-				}
-				resolvedSig.append(';');
-			} else {
-				resolvedSig.append(parameterType);
-			}
-		}
-		resolvedSig.append(')');
-		String returnType= Signature.getReturnType(methodSignature);
-		if (returnType.length() > 1) {
-			if (!generateQualifiedName(type, resolvedSig, returnType)) {
-				return null;
-			}
-			resolvedSig.append(';');
-		} else {
-			resolvedSig.append(returnType);
-		}
-		methodSignature= resolvedSig.toString();
-		return methodSignature;
-	}
-
-	protected static boolean generateQualifiedName(IType type, StringBuffer resolvedSig, String typeName) throws JavaModelException {
-		int count= Signature.getArrayCount(typeName);
-		typeName= Signature.getElementType(typeName.substring(1 + count, typeName.length() - 1));
-		String[][] resolvedType= type.resolveType(typeName);
-		if (resolvedType != null && resolvedType.length == 1) {
-			String[] typeNames= resolvedType[0];
-			String qualifiedName= Signature.toQualifiedName(typeNames);
-			if (qualifiedName.startsWith(".")) { //$NON-NLS-1$
-				// remove leading "."
-				qualifiedName = qualifiedName.substring(1);
-			}
-			for (int j = 0; j < count; j++) {
-				resolvedSig.append('[');
-			}
-			resolvedSig.append(Signature.C_RESOLVED);
-			resolvedSig.append(qualifiedName.replace('.', '/'));	
-			return true;
-		} else {
-			return false;
-		}
-	}
-	
-	/**
-	 * @see AbstractManageBreakpointActionDelegate#enableForMember(IMember)
-	 */
-	protected boolean enableForMember(IMember member) {
-		try {
-			return member instanceof IMethod && !Flags.isAbstract(member.getFlags());
-		} catch (JavaModelException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		return false;
-	}
-	
-	protected void setEnabledState(ITextEditor editor) {
-		if (getAction() != null && getPage() != null) {
-			IWorkbenchPart part = getPage().getActivePart();
-			if (part == null) {
-				getAction().setEnabled(false);
-			} else {
-				if (part == getPage().getActiveEditor()) {
-					if (getPage().getActiveEditor() instanceof ITextEditor) {
-						super.setEnabledState((ITextEditor)getPage().getActiveEditor());
-					} else {
-						getAction().setEnabled(false);
-					}
-				}
-			}
-		}	
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageWatchpointActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageWatchpointActionDelegate.java
deleted file mode 100644
index 7c90360..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ManageWatchpointActionDelegate.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.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.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.ITypeNameRequestor;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaFieldVariable;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.corext.util.TypeInfo;
-import org.eclipse.jdt.internal.corext.util.TypeInfoRequestor;
-import org.eclipse.jdt.internal.debug.ui.BreakpointUtils;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class ManageWatchpointActionDelegate extends AbstractManageBreakpointActionDelegate {
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		updateForRun();
-		report(null);
-		if (getBreakpoint() == null) {
-			try {
-				IMember element= getMember();
-				if (element == null || !enableForMember(element)) {
-					report(ActionMessages.getString("ManageWatchpointActionDelegate.CantAdd")); //$NON-NLS-1$
-					return;
-				}
-				IType type = element.getDeclaringType();
-				int start = -1;
-				int end = -1;
-				ISourceRange range = element.getNameRange();
-				if (range != null) {
-					start = range.getOffset();
-					end = start + range.getLength();
-				}
-				Map attributes = new HashMap(10);
-				BreakpointUtils.addJavaBreakpointAttributes(attributes, element);
-				setBreakpoint(createBreakpoint(BreakpointUtils.getBreakpointResource(type),type.getFullyQualifiedName(), element.getElementName(), -1, start, end, 0, true, attributes));
-			} catch (JavaModelException e) {
-				JDIDebugUIPlugin.log(e);
-				MessageDialog.openError(JDIDebugUIPlugin.getActiveWorkbenchShell(), ActionMessages.getString("ManageWatchpointAction.Problems_adding_watchpoint_7"), ActionMessages.getString("ManageWatchpointAction.The_selected_field_is_not_visible_in_the_currently_selected_debug_context._A_stack_frame_or_suspended_thread_which_contains_the_declaring_type_of_this_field_must_be_selected_1")); //$NON-NLS-1$ //$NON-NLS-2$
-			} catch (CoreException x) {
-				JDIDebugUIPlugin.log(x);
-				MessageDialog.openError(JDIDebugUIPlugin.getActiveWorkbenchShell(), ActionMessages.getString("ManageWatchpointAction.Problems_adding_watchpoint_7"), x.getMessage()); //$NON-NLS-1$
-			}
-		} else {
-			// remove breakpoint
-			try {
-				IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-				breakpointManager.removeBreakpoint(getBreakpoint(), true);
-			} catch (CoreException x) {
-				JDIDebugUIPlugin.log(x);
-				MessageDialog.openError(JDIDebugUIPlugin.getActiveWorkbenchShell(), ActionMessages.getString("ManageWatchpointAction.Problems_removing_watchpoint_8"), x.getMessage()); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	protected IJavaBreakpoint createBreakpoint(IResource resource, String typeName, String fieldName, int lineNumber, int charStart, int charEnd, int hitCount, boolean register, Map attributes) throws CoreException {
-		return JDIDebugModel.createWatchpoint(resource, typeName, fieldName, lineNumber, charStart, charEnd, hitCount, register, attributes);
-	}
-	
-	protected IJavaBreakpoint getBreakpoint(IMember selectedField) {
-		IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint[] breakpoints= breakpointManager.getBreakpoints(JDIDebugModel.getPluginIdentifier());
-		for (int i= 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint= breakpoints[i];
-			if (breakpoint instanceof IJavaWatchpoint) {
-				try {
-					if (equalFields(selectedField, (IJavaWatchpoint)breakpoint))
-						return (IJavaBreakpoint)breakpoint;
-				} catch (CoreException e) {
-					JDIDebugUIPlugin.log(e);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Compare two fields. The default <code>equals()</code>
-	 * method for <code>IField</code> doesn't give the comparison desired.
-	 */
-	private boolean equalFields(IMember breakpointField, IJavaWatchpoint watchpoint) throws CoreException {
-		return (breakpointField.getElementName().equals(watchpoint.getFieldName()) &&
-		breakpointField.getDeclaringType().getFullyQualifiedName().equals(watchpoint.getTypeName()));
-	}
-	
-	protected IMember getMember(ISelection s) {
-		if (s instanceof IStructuredSelection) {
-			IStructuredSelection ss= (IStructuredSelection) s;
-			if (ss.size() == 1) {					
-				Object o=  ss.getFirstElement();
-				if (o instanceof IField) {
-					return (IField) o;
-				} else if (o instanceof IJavaFieldVariable) {
-					return getField((IJavaFieldVariable) o);
-				}
-			}
-		} 
-		
-		return null;
-	}
-	
-	/**
-	 * Return the associated IField (Java model) for the given
-	 * IJavaFieldVariable (JDI model)
-	 */
-	private IField getField(IJavaFieldVariable variable) {
-		String varName= null;
-		try {
-			varName= variable.getName();
-		} catch (DebugException x) {
-			JDIDebugUIPlugin.log(x);
-			return null;
-		}
-		IField field;
-		List types= searchForDeclaringType(variable);
-		Iterator iter= types.iterator();
-		while (iter.hasNext()) {
-			IType type= (IType)iter.next();
-			field= type.getField(varName);
-			if (field.exists()) {
-				return field;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns a list of matching types (IType - Java model) that correspond to the 
-	 * declaring type (ReferenceType - JDI model) of the given variable.
-	 */
-	protected static List searchForDeclaringType(IJavaFieldVariable variable) {
-		List types= new ArrayList();
-		ILaunch launch = variable.getDebugTarget().getLaunch();
-		if (launch == null) {
-			return types;
-		}
-		
-		ILaunchConfiguration configuration= launch.getLaunchConfiguration();
-		IJavaProject[] javaProjects = null;
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		if (configuration != null) {
-			// Launch configuration support
-			try {
-				String projectName= configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, ""); //$NON-NLS-1$
-				if (projectName.length() != 0) {
-					javaProjects= new IJavaProject[] {JavaCore.create(workspace.getRoot().getProject(projectName))};
-				} else {
-					IProject[] projects= ResourcesPlugin.getWorkspace().getRoot().getProjects();
-					IProject project;
-					List projectList= new ArrayList();
-					for (int i= 0, numProjects= projects.length; i < numProjects; i++) {
-						project= projects[i];
-						if (project.isAccessible() && project.hasNature(JavaCore.NATURE_ID)) {
-							projectList.add(JavaCore.create(project));
-						}
-					}
-					javaProjects= new IJavaProject[projectList.size()];
-					projectList.toArray(javaProjects);
-				}
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		if (javaProjects == null) {
-			return types;
-		}
-
-		SearchEngine engine= new SearchEngine();
-		IJavaSearchScope scope= SearchEngine.createJavaSearchScope(javaProjects, true);
-		String declaringType= null;
-		try {
-			declaringType= variable.getDeclaringType().getName();
-		} catch (DebugException x) {
-			JDIDebugUIPlugin.log(x);
-			return types;
-		}
-		ArrayList typeRefsFound= new ArrayList(3);
-		ITypeNameRequestor requestor= new TypeInfoRequestor(typeRefsFound);
-		try {
-			engine.searchAllTypeNames(workspace, 
-				getPackage(declaringType), 
-				getTypeName(declaringType), 
-				IJavaSearchConstants.EXACT_MATCH, 
-				true, 
-				IJavaSearchConstants.CLASS, 
-				scope, 
-				requestor, 
-				IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,
-				null);
-		} catch (JavaModelException x) {
-			JDIDebugUIPlugin.log(x);
-			return types;
-		}
-		Iterator iter= typeRefsFound.iterator();
-		TypeInfo typeInfo= null;
-		while (iter.hasNext()) {
-			typeInfo= (TypeInfo)iter.next();
-			try {
-				types.add(typeInfo.resolveType(scope));
-			} catch (JavaModelException jme) {
-				JDIDebugUIPlugin.log(jme);
-			}
-		}
-		return types;
-	}
-	
-	/**
-	 * Returns the package name of the given fully qualified type name.
-	 * The package name is assumed to be the dot-separated prefix of the 
-	 * type name.
-	 */
-	protected static char[] getPackage(String fullyQualifiedName) {
-		int index= fullyQualifiedName.lastIndexOf('.');
-		if (index == -1) {
-			return new char[0];
-		}
-		return fullyQualifiedName.substring(0, index).toCharArray();
-	}
-	
-	/**
-	 * Returns a simple type name from the given fully qualified type name.
-	 * The type name is assumed to be the last contiguous segment of the 
-	 * fullyQualifiedName not containing a '.' or '$'
-	 */
-	protected static char[] getTypeName(String fullyQualifiedName) {
-		int index= fullyQualifiedName.lastIndexOf('.');
-		String typeName= fullyQualifiedName.substring(index + 1);
-		int lastInnerClass= typeName.lastIndexOf('$');
-		if (lastInnerClass != -1) {
-			typeName= typeName.substring(lastInnerClass + 1);
-		}
-		return typeName.toCharArray();
-	}
-	/**
-	 * @see AbstractManageBreakpointActionDelegate#enableForMember(IMember)
-	 */
-	protected boolean enableForMember(IMember member) {
-		return member instanceof IField;
-	}
-	
-	protected void setEnabledState(ITextEditor editor) {
-		if (getAction() != null && getPage() != null) {
-			IWorkbenchPart part = getPage().getActivePart();
-			if (part == null) {
-				getAction().setEnabled(false);
-			} else if (part != getPage().getActiveEditor()) {
-				ISelectionProvider sp= part.getSite().getSelectionProvider();
-				getAction().setEnabled(sp != null && enableForMember(getMember(sp.getSelection())));
-			} else { //dealing with active editor
-				if (getPage().getActiveEditor() instanceof ITextEditor) {
-					super.setEnabledState((ITextEditor)getPage().getActiveEditor());
-				}
-			}
-		}	
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ModificationWatchpointToggleAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ModificationWatchpointToggleAction.java
deleted file mode 100644
index d23c106..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ModificationWatchpointToggleAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaWatchpoint;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class ModificationWatchpointToggleAction extends BreakpointToggleAction {
-
-	/**
-	 * @see BreakpointToggleAction#getToggleState(IJavaBreakpoint)
-	 */
-	protected boolean getToggleState(IJavaBreakpoint watchpoint) throws CoreException {
-		return ((IJavaWatchpoint)watchpoint).isModification();
-	}
-
-	/**
-	 * @see BreakpointToggleAction#doAction(IJavaBreakpoint)
-	 */
-	public void doAction(IJavaBreakpoint watchpoint) throws CoreException {
-		((IJavaWatchpoint)watchpoint).setModification(!((IJavaWatchpoint)watchpoint).isModification());
-	}
-
-	/**
-	 * @see BreakpointToggleAction#isEnabledFor(IStructuredSelection)
-	 */
-	public boolean isEnabledFor(IStructuredSelection selection) {
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (!(element instanceof IJavaWatchpoint)) {
-				return false;
-			}
-			
-		}
-		return true;
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/MoveDownAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/MoveDownAction.java
deleted file mode 100644
index edc408a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/MoveDownAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.List;
-
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Moves selected enries in a runtime classpath viewer down one position.
- */
-public class MoveDownAction extends RuntimeClasspathAction {
-
-	public MoveDownAction(RuntimeClasspathViewer viewer) {
-		super(ActionMessages.getString("MoveDownAction.M&ove_Down_1"), viewer); //$NON-NLS-1$
-	}
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		List targets = getOrderedSelection();
-		if (targets.isEmpty()) {
-			return;
-		}
-		List list = getEntiresAsList();
-		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 getViewer().isEnabled() && !selection.isEmpty() && !isIndexSelected(selection, getEntiresAsList().size() - 1);	
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/MoveUpAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/MoveUpAction.java
deleted file mode 100644
index 486b091..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/MoveUpAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Moves selected enries in a runtime classpath viewer up one position.
- */
-public class MoveUpAction extends RuntimeClasspathAction {
-
-	public MoveUpAction(RuntimeClasspathViewer viewer) {
-		super(ActionMessages.getString("MoveUpAction.Move_U&p_1"), viewer); //$NON-NLS-1$
-	}
-	/**
-	 * Moves all selected entries up one position (if possible).
-	 * 
-	 * @see IAction#run()
-	 */
-	public void run() {
-		List targets = getOrderedSelection();
-		if (targets.isEmpty()) {
-			return;
-		}
-		int top = 0;
-		int index = 0;
-		List list = getEntiresAsList();
-		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) {
-		return getViewer().isEnabled() && !selection.isEmpty() && !isIndexSelected(selection, 0);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/NewDetailFormatterAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/NewDetailFormatterAction.java
deleted file mode 100644
index b0df12c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/NewDetailFormatterAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.ui.DetailFormatter;
-import org.eclipse.jdt.internal.debug.ui.DetailFormatterDialog;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaDetailFormattersManager;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class NewDetailFormatterAction extends ObjectActionDelegate {
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getCurrentSelection();
-		if (selection.size() != 1) {
-			return;
-		}
-		Object element= selection.getFirstElement();
-		String typeName;
-		try {
-			IJavaType type;
-			if (element instanceof IJavaVariable) {
-				type = ((IJavaValue)((IJavaVariable) element).getValue()).getJavaType();
-			} else if (element instanceof JavaInspectExpression) {
-				type = ((IJavaValue)((JavaInspectExpression) element).getValue()).getJavaType();
-			} else {
-				return;
-			}
-			if (type == null) {
-				return;
-			}
-			typeName= type.getName();
-		} catch (DebugException e) {
-			return;
-		}
-		JavaDetailFormattersManager detailFormattersManager= JavaDetailFormattersManager.getDefault();
-		DetailFormatter detailFormatter= new DetailFormatter(typeName, "", true); //$NON-NLS-1$
-		if (new DetailFormatterDialog(JDIDebugUIPlugin.getActivePage().getWorkbenchWindow().getShell(), detailFormatter, null, false, true).open() == StatusDialog.OK) {
-			detailFormattersManager.setAssociatedDetailFormatter(detailFormatter);
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ObjectActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ObjectActionDelegate.java
deleted file mode 100644
index 5d980c8..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ObjectActionDelegate.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-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;
-
-public abstract class ObjectActionDelegate implements IObjectActionDelegate, IActionDelegate2 {
-	
-	IWorkbenchPart fPart = null;
-	
-	/**
-	 * @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= JDIDebugUIPlugin.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);
-	}
-	
-	protected void typeHierarchyError() {
-		showErrorMessage(ActionMessages.getString("ObjectActionDelegate.Unable_to_display_type_hierarchy._The_selected_source_element_is_not_contained_in_the_workspace._1")); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ObjectFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ObjectFilter.java
deleted file mode 100644
index 9f60f37..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ObjectFilter.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * A filter on a set of objects
- */
-public class ObjectFilter extends ViewerFilter {
-		
-	/**
-	 * Objects to filter
-	 */
-	protected List fFilter;
-	
-	/**
-	 * Creates a new filter that filters the given 
-	 * objects.
-	 */
-	public ObjectFilter(List objects) {
-		fFilter = objects;
-	}
-	
-	/**
-	 * @see ViewerFilter#select(Viewer, Object, Object)
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return !fFilter.contains(element);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDeclaringTypeAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDeclaringTypeAction.java
deleted file mode 100644
index c01c4b5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDeclaringTypeAction.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-
-public class OpenDeclaringTypeAction extends OpenStackFrameAction {
-	
-	protected String getTypeNameToOpen(IDebugElement frame) throws DebugException {
-		return ((IJavaStackFrame)frame).getDeclaringTypeName();
-	}
-	
-	protected void doAction(Object e) throws DebugException {
-		Object sourceElement= getSourceElement(e);
-		if (sourceElement != null) {
-			openInEditor(sourceElement);
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDeclaringTypeHierarchyAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDeclaringTypeHierarchyAction.java
deleted file mode 100644
index 937537c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDeclaringTypeHierarchyAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.internal.ui.util.OpenTypeHierarchyUtil;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class OpenDeclaringTypeHierarchyAction extends OpenDeclaringTypeAction {
-
-	protected IWorkbenchPart fTargetPart;
-	
-	protected void doAction(Object e) throws DebugException {
-		Object sourceElement= getSourceElement(e);
-		if (sourceElement instanceof IJavaElement) {
-			OpenTypeHierarchyUtil.open((IJavaElement)sourceElement, fTargetPart.getSite().getWorkbenchWindow());
-		} else {
-			typeHierarchyError();
-		}
-	}
-	
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		super.setActivePart(action, targetPart);
-		fTargetPart= targetPart;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDialogAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDialogAction.java
deleted file mode 100644
index c4adcd5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenDialogAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jface.dialogs.IDialogSettings;
-
-/**
- * Abstract action that opens a dialog. Contains a prefix for dialog preference
- * settings.
- */
-public abstract class OpenDialogAction extends RuntimeClasspathAction {
-	
-	/**
-	 * Attribute name for the last path used to open a file/directory chooser
-	 * dialog.
-	 */
-	protected static final String LAST_PATH_SETTING = "LAST_PATH_SETTING"; //$NON-NLS-1$
-	
-	/**
-	 * Dialog settings prefix/qualifier
-	 */
-	private String fPrefix = null;
-
-	/**
-	 * Constructs an action that opens a dialog.
-	 */
-	public OpenDialogAction(String label, RuntimeClasspathViewer viewer, String dialogSettingsPrefix) {
-		super(label, viewer);
-		fPrefix = dialogSettingsPrefix;
-	}
-	
-	/**
-	 * Returns the prefix of the identifier used to store dialog settings for
-	 * this action.
-	 */
-	protected String getDialogSettingsPrefix() {
-		return fPrefix;
-	}
-	
-	/**
-	 * Returns the value of the dialog setting, associated with the given
-	 * settingName, resolved by the dialog setting prefix associated with this
-	 * action.
-	 * 
-	 * @param settingName unqualified setting name
-	 * @return value or <code>null</code> if none
-	 */
-	protected String getDialogSetting(String settingName) {
-		return getDialogSettings().get(getDialogSettingsPrefix() + "." + settingName); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Sets the value of the dialog setting, associated with the given
-	 * settingName, resolved by the dialog setting prefix associated with this
-	 * action.
-	 * 
-	 * @param settingName unqualified setting name
-	 * @return value or <code>null</code> if none
-	 */
-	protected void setDialogSetting(String settingName, String value) {
-		getDialogSettings().put(getDialogSettingsPrefix() + "." + settingName, value); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns this plug-in's dialog settings.
-	 * 
-	 * @return IDialogSettings
-	 */
-	protected IDialogSettings getDialogSettings() {
-		IDialogSettings settings = JDIDebugUIPlugin.getDefault().getDialogSettings();
-		return settings;
-	}	
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenReceivingTypeAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenReceivingTypeAction.java
deleted file mode 100644
index 5b8ca85..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenReceivingTypeAction.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-
-public class OpenReceivingTypeAction extends OpenStackFrameAction {
-
-	protected String getTypeNameToOpen(IDebugElement frame) throws DebugException {
-		return ((IJavaStackFrame)frame).getReceivingTypeName();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenReceivingTypeHierarchyAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenReceivingTypeHierarchyAction.java
deleted file mode 100644
index ef7d8f6..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenReceivingTypeHierarchyAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.ui.util.OpenTypeHierarchyUtil;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-public class OpenReceivingTypeHierarchyAction extends OpenReceivingTypeAction {
-	
-	protected IWorkbenchPart fTargetPart;
-	
-	protected void doAction(Object e) throws DebugException {
-		IAdaptable element= (IAdaptable) e;
-		IDebugElement dbgElement= getDebugElement(element);
-		if (dbgElement != null) {
-			String typeName= getTypeNameToOpen(dbgElement);
-			try {
-				IType t= findTypeInWorkspace(typeName);
-				if (t != null) {
-					OpenTypeHierarchyUtil.open((IJavaElement)t, fTargetPart.getSite().getWorkbenchWindow());
-				}
-			} catch (CoreException x) {
-				JDIDebugUIPlugin.log(x);
-			}
-		}
-	}
-	
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		super.setActivePart(action, targetPart);
-		fTargetPart= targetPart;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenStackFrameAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenStackFrameAction.java
deleted file mode 100644
index a2a04be..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenStackFrameAction.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-
-public abstract class OpenStackFrameAction extends OpenTypeAction {
-	
-	protected IDebugElement getDebugElement(IAdaptable element) {
-		return (IDebugElement)element.getAdapter(IJavaStackFrame.class);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenTypeAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenTypeAction.java
deleted file mode 100644
index b1710e5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenTypeAction.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.ui.JavaUISourceLocator;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation;
-import org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorPart;
-
-public abstract class OpenTypeAction extends ObjectActionDelegate {
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getCurrentSelection();
-		if (selection == null) {
-			return;
-		}
-		Iterator enum= selection.iterator();
-		try {
-			while (enum.hasNext()) {
-				Object element= enum.next();
-				doAction(element);
-			}
-		} catch(DebugException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-	
-	protected abstract IDebugElement getDebugElement(IAdaptable element);
-	
-	protected abstract String getTypeNameToOpen(IDebugElement element) throws DebugException;
-	
-	protected void doAction(Object e) throws DebugException {
-		IAdaptable element= (IAdaptable) e;
-		IDebugElement dbgElement= getDebugElement(element);
-		if (dbgElement != null) {
-			Object sourceElement= getSourceElement(dbgElement);
-			if (sourceElement == null) {
-				try {
-					//resort to looking through the workspace projects for the
-					//type as the source locators failed.
-					String typeName= getTypeNameToOpen(dbgElement);
-					sourceElement= findTypeInWorkspace(typeName);
-				} catch (CoreException x) {
-					JDIDebugUIPlugin.log(x);
-				}
-			}
-			if (sourceElement != null) {
-				openInEditor(sourceElement);
-			}
-		}
-	}
-
-	protected void openInEditor(Object sourceElement) {
-		try {
-			IEditorPart part= EditorUtility.openInEditor(sourceElement);
-			if (part != null && sourceElement instanceof IJavaElement) {
-				EditorUtility.revealInEditor(part, ((IJavaElement)sourceElement));
-			}
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-		}
-	}
-	
-	protected IType findTypeInWorkspace(String typeName) throws JavaModelException {
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		IJavaProject[] projects= JavaCore.create(root).getJavaProjects();
-		for (int i= 0; i < projects.length; i++) {
-			IType type= findType(projects[i], typeName);
-			if (type != null) {
-				return type;
-			}
-		}
-		return null;
-	}
-	
-	/** 
-	 * Finds a type by its qualified type name (dot separated).
-	 * @param jproject The Java project to search in
-	 * @param fullyQualifiedName The fully qualified name (type name with enclosing type names and package (all separated by dots))
-	 * @return The type found, or <code>null<code> if no type found
-	 * The method does not find inner types. Waiting for a Java Core solution
-	 */	
-	private IType findType(IJavaProject jproject, String fullyQualifiedName) throws JavaModelException {
-		
-		String pathStr= fullyQualifiedName.replace('.', '/') + ".java"; //$NON-NLS-1$
-		IJavaElement jelement= jproject.findElement(new Path(pathStr));
-		if (jelement == null) {
-			// try to find it as inner type
-			String qualifier= Signature.getQualifier(fullyQualifiedName);
-			if (qualifier.length() > 0) {
-				IType type= findType(jproject, qualifier); // recursive!
-				if (type != null) {
-					IType res= type.getType(Signature.getSimpleName(fullyQualifiedName));
-					if (res.exists()) {
-						return res;
-					}
-				}
-			}
-		} else if (jelement.getElementType() == IJavaElement.COMPILATION_UNIT) {
-			String simpleName= Signature.getSimpleName(fullyQualifiedName);
-			return ((ICompilationUnit) jelement).getType(simpleName);
-		} else if (jelement.getElementType() == IJavaElement.CLASS_FILE) {
-			return ((IClassFile) jelement).getType();
-		}
-		return null;
-	}
-	
-	/**
-	 * Use the source locators to determine the correct source element
-	 */
-	protected Object getSourceElement(Object e) {
-		if (e instanceof IDebugElement) {
-			IDebugElement de= (IDebugElement)e;
-			ISourceLocator sourceLocator= de.getLaunch().getSourceLocator();
-			IAdaptable element= (IAdaptable)de;
-		
-			IStackFrame stackFrame= (IStackFrame)element.getAdapter(IJavaStackFrame.class);
-			if (stackFrame != null) {
-				return sourceLocator.getSourceElement(stackFrame);
-			} 
-			IJavaSourceLocation[] locations= null;
-			if (sourceLocator instanceof JavaUISourceLocator) {
-				JavaUISourceLocator javaSourceLocator= (JavaUISourceLocator)sourceLocator;
-				locations= javaSourceLocator.getSourceLocations();
-			} else if (sourceLocator instanceof JavaSourceLocator) {
-				JavaSourceLocator javaSourceLocator= (JavaSourceLocator)sourceLocator;
-				locations= javaSourceLocator.getSourceLocations();
-			}
-			if (locations != null) {
-				try {
-					String typeName= getTypeNameToOpen(de);
-					for (int i = 0; i < locations.length; i++) {
-						IJavaSourceLocation location = locations[i];
-						Object sourceElement= location.findSourceElement(typeName);
-						if (sourceElement != null) {
-							return sourceElement;
-						}
-					}
-				} catch (CoreException ex) {
-					JDIDebugUIPlugin.log(ex);
-				}
-			}
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableConcreteTypeAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableConcreteTypeAction.java
deleted file mode 100644
index 658100f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableConcreteTypeAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-
-public class OpenVariableConcreteTypeAction extends OpenVariableTypeAction {
-
-	protected String getTypeNameToOpen(IDebugElement element) throws DebugException {
-		String refType= ((IJavaVariable)element).getValue().getReferenceTypeName();
-		refType= removeArray(refType);
-		return refType;
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableConcreteTypeHierarchyAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableConcreteTypeHierarchyAction.java
deleted file mode 100644
index 21b213a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableConcreteTypeHierarchyAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.internal.ui.util.OpenTypeHierarchyUtil;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class OpenVariableConcreteTypeHierarchyAction extends OpenVariableConcreteTypeAction {
-	
-	private IWorkbenchPart fTargetPart;
-	
-	protected void openInEditor(Object sourceElement) {
-		if (sourceElement instanceof IJavaElement) {
-			OpenTypeHierarchyUtil.open((IJavaElement)sourceElement, fTargetPart.getSite().getWorkbenchWindow());
-		} else {
-			typeHierarchyError();
-		}
-	}	
-	
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		super.setActivePart(action, targetPart);
-		fTargetPart= targetPart;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableDeclaredTypeAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableDeclaredTypeAction.java
deleted file mode 100644
index 09ce90a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableDeclaredTypeAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-
-public class OpenVariableDeclaredTypeAction extends OpenVariableTypeAction {
-
-	protected String getTypeNameToOpen(IDebugElement element) throws DebugException {
-		String refType= ((IJavaVariable)element).getReferenceTypeName();
-		refType= removeArray(refType);
-		return refType;
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableDeclaredTypeHierarchyAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableDeclaredTypeHierarchyAction.java
deleted file mode 100644
index a5bdda3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableDeclaredTypeHierarchyAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.internal.ui.util.OpenTypeHierarchyUtil;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class OpenVariableDeclaredTypeHierarchyAction extends OpenVariableDeclaredTypeAction {
-	
-	private IWorkbenchPart fTargetPart;
-	
-	protected void openInEditor(Object sourceElement) {
-		if (sourceElement instanceof IJavaElement) {
-			OpenTypeHierarchyUtil.open((IJavaElement)sourceElement, fTargetPart.getSite().getWorkbenchWindow());
-		} else {
-			typeHierarchyError();
-		}
-	}	
-	
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		super.setActivePart(action, targetPart);
-		fTargetPart= targetPart;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableTypeAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableTypeAction.java
deleted file mode 100644
index 7d1cb9b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenVariableTypeAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-
-public abstract class OpenVariableTypeAction extends OpenTypeAction {
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.OpenTypeAction#getDebugElement(IAdaptable)
-	 */
-	protected IDebugElement getDebugElement(IAdaptable element) {
-		return (IDebugElement)element.getAdapter(IJavaVariable.class);
-	}
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.OpenTypeAction#getTypeNameToOpen(IDebugElement)
-	 */
-	protected String getTypeNameToOpen(IDebugElement element)
-		throws DebugException {
-		return null;
-	}
-
-	public static String removeArray(String typeName) {
-		if (typeName == null) {
-			return null;
-		}
-		int index= typeName.indexOf('[');
-		if (index > 0) {
-			return typeName.substring(0, index);
-		}
-		return typeName;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/PrimitiveOptionsAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/PrimitiveOptionsAction.java
deleted file mode 100644
index 2ad933a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/PrimitiveOptionsAction.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.debug.ui.IJDIPreferencesConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JDIModelPresentation;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-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.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * Allows setting of primitive display options for java variables
- */
-public class PrimitiveOptionsAction implements IViewActionDelegate, IActionDelegate2 {
-	
-	private IViewPart fView;
-	private IAction fAction;
-
-	public PrimitiveOptionsAction() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView = view;
-		applyPreferences();
-	}
-
-	/* (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) {
-		// open dialog
-		final StructuredViewer viewer = getStructuredViewer();
-		PrimitiveOptionsDialog dialog = new PrimitiveOptionsDialog(viewer.getControl().getShell(), getView().getSite().getId());
-		int res = dialog.open();
-		if (res == Dialog.OK) {
-			BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
-				public void run() {
-					applyPreferences();
-					viewer.refresh();
-					JDIDebugUIPlugin.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 JDIDebugUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	/**
-	 * Returns the value of this filters preference (on/off) for the given
-	 * view.
-	 * 
-	 * @param part
-	 * @return boolean
-	 */
-	public static boolean getPreferenceValue(String id, String preference) {
-		String compositeKey = id + "." + preference; //$NON-NLS-1$
-		IPreferenceStore store = JDIDebugUIPlugin.getDefault().getPreferenceStore();
-		boolean value = false;
-		if (store.contains(compositeKey)) {
-			value = store.getBoolean(compositeKey);
-		} else {
-			value = store.getBoolean(preference);
-		}
-		return value;		
-	}
-	
-	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;
-	}
-	
-	protected void applyPreferences() {
-		IDebugView view = (IDebugView)getView().getAdapter(IDebugView.class);
-		if (view != null) {
-			IDebugModelPresentation presentation = view.getPresentation(JDIDebugModel.getPluginIdentifier());
-			if (presentation != null) {
-				applyPreference(IJDIPreferencesConstants.PREF_SHOW_HEX, JDIModelPresentation.SHOW_HEX_VALUES, presentation);
-				applyPreference(IJDIPreferencesConstants.PREF_SHOW_CHAR, JDIModelPresentation.SHOW_CHAR_VALUES, presentation);
-				applyPreference(IJDIPreferencesConstants.PREF_SHOW_UNSIGNED, JDIModelPresentation.SHOW_UNSIGNED_VALUES, presentation);
-			}
-		}
-	}
-	
-	/**
-	 * Sets the display attribute associated with the given preference.
-	 * 
-	 * @param preference preference key
-	 * @param attribute attribute key
-	 * @param presentation the model presentation to update
-	 */
-	protected void applyPreference(String preference, String attribute, IDebugModelPresentation presentation) {
-		boolean on = getPreferenceValue(getView().getSite().getId(), preference);
-		presentation.setAttribute(attribute, (on ? Boolean.TRUE : Boolean.FALSE));
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/PrimitiveOptionsDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/PrimitiveOptionsDialog.java
deleted file mode 100644
index 58c9a86..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/PrimitiveOptionsDialog.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jdt.internal.debug.ui.DebugUIMessages;
-import org.eclipse.jdt.internal.debug.ui.IJDIPreferencesConstants;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-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.help.WorkbenchHelp;
-
-/**
- * Dialog to alter primitive display options for a specific view
- */
-public class PrimitiveOptionsDialog extends Dialog {
-
-	private Button fHexButton;
-	private Button fCharButton;
-	private Button fUnsignedButton;
-	// preference prefix	
-	private String fPrefix;
-	
-	/**
-	 * @param parentShell
-	 */
-	public PrimitiveOptionsDialog(Shell parentShell, String prefix) {
-		super(parentShell);
-		fPrefix = prefix;
-	}
-	
-	/**
-	 * @see Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		WorkbenchHelp.setHelp(
-			parent,
-			IJavaDebugHelpContextIds.PRIMITIVE_DISPLAY_OPTIONS_DIALOG);		
-		
-		getShell().setText(ActionMessages.getString("PrimitiveOptionsDialog.Primitive_Type_Display_Options_1")); //$NON-NLS-1$
-		Composite composite = (Composite)super.createDialogArea(parent);
-		
-		// Create the 3 primitive display checkboxes
-		fHexButton = new Button(composite, SWT.CHECK);
-		fHexButton.setText(DebugUIMessages.getString("JavaDebugPreferencePage.Display_&hexadecimal_values_(byte,_short,_char,_int,_long)_3")); //$NON-NLS-1$
-		fHexButton.setSelection(PrimitiveOptionsAction.getPreferenceValue(fPrefix, IJDIPreferencesConstants.PREF_SHOW_HEX));
-		fCharButton = new Button(composite, SWT.CHECK);
-		fCharButton.setText(DebugUIMessages.getString("JavaDebugPreferencePage.Display_ASCII_&character_values_(byte,_short,_int,_long)_4")); //$NON-NLS-1$
-		fCharButton.setSelection(PrimitiveOptionsAction.getPreferenceValue(fPrefix, IJDIPreferencesConstants.PREF_SHOW_CHAR));
-		fUnsignedButton = new Button(composite, SWT.CHECK);
-		fUnsignedButton.setText(DebugUIMessages.getString("JavaDebugPreferencePage.Display_&unsigned_values_(byte)_5")); //$NON-NLS-1$
-		fUnsignedButton.setSelection(PrimitiveOptionsAction.getPreferenceValue(fPrefix, IJDIPreferencesConstants.PREF_SHOW_UNSIGNED));
-		return composite;
-	}
-	
-	/**
-	 * @see Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		IPreferenceStore store = JDIDebugUIPlugin.getDefault().getPreferenceStore();
-		store.setValue(fPrefix + "." + IJDIPreferencesConstants.PREF_SHOW_HEX, fHexButton.getSelection()); //$NON-NLS-1$
-		store.setValue(fPrefix + "." + IJDIPreferencesConstants.PREF_SHOW_CHAR, fCharButton.getSelection()); //$NON-NLS-1$
-		store.setValue(fPrefix + "." + IJDIPreferencesConstants.PREF_SHOW_UNSIGNED, fUnsignedButton.getSelection()); //$NON-NLS-1$
-		super.okPressed();
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ProjectSelectionDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ProjectSelectionDialog.java
deleted file mode 100644
index faa887f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ProjectSelectionDialog.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-
-/**
- * A dialog for selecting projects to add to a classpath or source
- * lookup path. Optionally specifies whether
- * exported entries and required projects should also be added.
- */
-public class ProjectSelectionDialog extends ListSelectionDialog {
-	
-	private boolean fAddExportedEntries = true;
-	private boolean fAddRequiredProjects = true;
-
-	/**
-	 * @see ListSelectionDialog
-	 */
-	public ProjectSelectionDialog(
-		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 addExported = new Button(composite, SWT.CHECK);
-		addExported.setText(ActionMessages.getString("ProjectSelectionDialog.Add_exported_entries_of_selected_projects._1")); //$NON-NLS-1$
-		addExported.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fAddExportedEntries = addExported.getSelection();
-			}
-		});
-		addExported.setSelection(fAddExportedEntries);
-		addExported.setFont(font);
-		
-		final Button addRequired = new Button(composite, SWT.CHECK);
-		addRequired.setText(ActionMessages.getString("ProjectSelectionDialog.Add_required_projects_of_selected_projects._2")); //$NON-NLS-1$
-		addRequired.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fAddRequiredProjects = addRequired.getSelection();
-			}
-		});
-		addRequired.setSelection(fAddRequiredProjects);
-		addRequired.setFont(font);		
-		
-		applyDialogFont(composite);
-		return composite;
-	}
-	
-	/**
-	 * Returns whether the user has selected to add exported entries.
-	 * 
-	 * @return whether the user has selected to add exported entries
-	 */
-	public boolean isAddExportedEntries() {
-		return fAddExportedEntries;
-	}
-	
-	/**
-	 * 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.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ReevaluateWatchExpressionAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ReevaluateWatchExpressionAction.java
deleted file mode 100644
index 79bb93b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ReevaluateWatchExpressionAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.JavaWatchExpression;
-import org.eclipse.jface.action.IAction;
-
-/**
- * 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) {
-		IJavaThread thread= getThreadContext();
-		for (Iterator iter= getCurrentSelection().iterator(); iter.hasNext();) {
-			((JavaWatchExpression) iter.next()).evaluateExpression(thread);
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RemoveAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RemoveAction.java
deleted file mode 100644
index f500c9e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RemoveAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.List;
-
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Removes selected enries in a runtime classpath viewer.
- */
-public class RemoveAction extends RuntimeClasspathAction {
-
-	public RemoveAction(RuntimeClasspathViewer viewer) {
-		super(ActionMessages.getString("RemoveAction.&Remove_1"), viewer); //$NON-NLS-1$
-	}
-	/**
-	 * Removes all selected entries.
-	 * 
-	 * @see IAction#run()
-	 */
-	public void run() {
-		List targets = getOrderedSelection();
-		List list = getEntiresAsList();
-		list.removeAll(targets);
-		setEntries(list);
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return getViewer().isEnabled() && !selection.isEmpty();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RunToLineActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RunToLineActionDelegate.java
deleted file mode 100644
index e694de0..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RunToLineActionDelegate.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-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.model.IBreakpoint;
-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.ui.DebugUITools;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.debug.ui.BreakpointUtils;
-import org.eclipse.jdt.internal.debug.ui.ExceptionHandler;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookLauncher;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Action to support run to line (i.e. where the cursor is in the active editor)
- */
-public class RunToLineActionDelegate extends ManageBreakpointActionDelegate implements IEditorActionDelegate {
-	
-	public RunToLineActionDelegate() {
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		try {
-			IThread thread= getContext();
-			if (thread == null) {
-				if (getTextEditor() != null) {
-					getTextEditor().getSite().getShell().getDisplay().beep();
-				}
-				return;
-			}
-			
-			ITextSelection selection= (ITextSelection)getTextEditor().getSelectionProvider().getSelection();
-			setLineNumber(selection.getStartLine() + 1);
-			IType type= getType(getTextEditor().getEditorInput());
-			if (type == null) {
-				return;
-			}
-	
-			IBreakpoint breakpoint= null;
-			try {
-				Map attributes = new HashMap(4);
-				BreakpointUtils.addJavaBreakpointAttributes(attributes, type);
-				BreakpointUtils.addRunToLineAttributes(attributes);
-				breakpoint= JDIDebugModel.createLineBreakpoint(BreakpointUtils.getBreakpointResource(type), type.getFullyQualifiedName(), getLineNumber(), -1, -1, 1, false, attributes);
-			} catch (CoreException ce) {
-				ExceptionHandler.handle(ce, ActionMessages.getString("RunToLine.error.title1"), ActionMessages.getString("RunToLine.error.message1")); //$NON-NLS-1$ //$NON-NLS-2$
-				return;
-			} 
-			thread.getDebugTarget().breakpointAdded(breakpoint);
-			try {
-				thread.resume();
-			} catch (DebugException de) {
-				JDIDebugUIPlugin.log(de);
-			}
-		} catch(DebugException de) {
-			ExceptionHandler.handle(de, ActionMessages.getString("RunToLine.error.title1"), ActionMessages.getString("RunToLine.error.message1")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	/**
-	 * Resolves the debug target context to set the run to line
-	 */
-	protected IThread getContext() throws DebugException{
-		IThread thread= getContextFromUI();
-		if (thread == null) {
-			thread= getContextFromModel();
-		}
-		if (thread != null && thread.getDebugTarget().getLaunch().getAttribute(ScrapbookLauncher.SCRAPBOOK_LAUNCH) != null) {
-			//can't set run to line in scrapbook context
-			return null;
-		}
-		return thread;
-	}
-	/**
-	 * Resolves a debug target context from the model
-	 */
-	protected IThread getContextFromModel() throws DebugException {
-		IDebugTarget[] dts= DebugPlugin.getDefault().getLaunchManager().getDebugTargets();
-		for (int i= 0; i < dts.length; i++) {
-			IThread thread= getContextFromDebugTarget(dts[i]);
-			if (thread != null) {
-				return thread;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Resolves a debug target context from the model
-	 */
-	protected IDebugTarget getContextFromThread(IThread thread) throws DebugException {
-		if (thread.isSuspended()) {
-			return thread.getDebugTarget();
-		}
-		return null;
-	}
-	/**
-	 * Resolves a stack frame context from the UI
-	 */
-	protected IThread getContextFromUI() throws DebugException {
-		IAdaptable de= DebugUITools.getDebugContext();
-		if (de != null) {
-			IThread thread= null;
-			if (de instanceof IThread) {
-				thread= (IThread) de;
-			} else if (de instanceof IStackFrame) {
-				thread= ((IStackFrame)de).getThread();
-			}
-			if (thread != null && thread.isSuspended()) {
-				return thread;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Updates the enabled state of this action and the plugin action
-	 * this action is the delegate for.
-	 */
-	protected void update() {
-		setEnabledState(getTextEditor());
-	}
-	
-	/**
-	 * Resolves a stack frame context from the model.
-	 */
-	protected IThread getContextFromDebugTarget(IDebugTarget dt) throws DebugException {
-		if (dt.isTerminated() || dt.isDisconnected()) {
-			return null;
-		}
-		IThread[] threads= dt.getThreads();
-		for (int i= 0; i < threads.length; i++) {
-			IThread thread= threads[i];
-			if (thread.isSuspended()) {
-				return thread;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * @see IEditorActionDelegate#setActiveEditor(IAction, IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		setAction(action);
-		if (targetEditor instanceof ITextEditor) {
-			setTextEditor((ITextEditor)targetEditor);
-		}
-		if (!action.isEnabled()) {
-			//the xml specified enabler has set the action to be disabled
-			return;
-		}
-		setEnabledState(getTextEditor());
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.ManageBreakpointActionDelegate#initialize(org.eclipse.jface.action.IAction)
-	 */
-	protected void initialize(IAction action) {
-		boolean enabled= action.isEnabled();
-		super.initialize(action);
-		//when rely on the xml specified enabler on intialize.
-		action.setEnabled(enabled);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RuntimeClasspathAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RuntimeClasspathAction.java
deleted file mode 100644
index 7c4ec95..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RuntimeClasspathAction.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
- 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.internal.debug.ui.launcher.RuntimeClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-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;
-
-/**
- * Action used with a runtime classpath viewer.
- */
-public abstract class RuntimeClasspathAction extends SelectionListenerAction {
-	
-	private RuntimeClasspathViewer fViewer;
-	private Button fButton;
-	private Shell fShell;
-	
-	public RuntimeClasspathAction(String label, RuntimeClasspathViewer viewer) {
-		super(label);
-		setViewer(viewer);
-	}
-
-	/**
-	 * Sets the viewer on which this action operates.
-	 * 
-	 * @param viewer the viewer on which this action operates
-	 */
-	public void setViewer(RuntimeClasspathViewer 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 RuntimeClasspathViewer 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();
-		IRuntimeClasspathEntry[] entries = getViewer().getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			IRuntimeClasspathEntry target = entries[i];
-			if (selection.contains(target)) {
-				targets.add(target);
-			}
-		}
-		return targets;		
-	}
-	
-	/**
-	 * Returns a list (copy) of the entries in the viewer
-	 */
-	protected List getEntiresAsList() {
-		IRuntimeClasspathEntry[] 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((IRuntimeClasspathEntry[])list.toArray(new IRuntimeClasspathEntry[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 = getEntiresAsList();
-		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.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowConstantsAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowConstantsAction.java
deleted file mode 100644
index ada22c6..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowConstantsAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.ui.IJDIPreferencesConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Shows static final variables (constants)
- */
-public class ShowConstantsAction extends VariableFilterAction {
-
-	public ShowConstantsAction() {
-		super();
-	}
-
-	/**
-	 * @see VariableFilterAction#getPreferenceKey()
-	 */
-	protected String getPreferenceKey() {
-		return IJDIPreferencesConstants.PREF_SHOW_CONSTANTS; 
-	}
-	
-	/**
-	 * @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 IJavaVariable) {
-			IJavaVariable variable = (IJavaVariable)element;
-			try {
-				if (!getValue()) {
-					// when not on, filter static finals
-					return !(variable.isStatic() && variable.isFinal());
-				}				
-			} catch (DebugException e) {
-				JDIDebugUIPlugin.log(e);
-			} 
-		}
-		return true;
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowQualifiedAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowQualifiedAction.java
deleted file mode 100644
index b0b0c15..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowQualifiedAction.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.debug.ui.IJDIPreferencesConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JDIModelPresentation;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * An action delegate that toggles the state of its viewer to
- * show/hide qualified names.
- */
-public class ShowQualifiedAction extends VariableFilterAction {
-	
-	/**
-	 * @see VariableFilterAction#getPreferenceKey()
-	 */
-	protected String getPreferenceKey() {
-		return IJDIPreferencesConstants.PREF_SHOW_QUALIFIED_NAMES; 
-	}	
-
-	/**
-	 * This method is not actually called - this action is not a filter. Instead
-	 * it sets an attribute on the viewer's model presentation.
-	 * 
-	 * @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 true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		setValue(action.isChecked());
-		
-		final StructuredViewer viewer = getStructuredViewer();
-		IDebugView view = (IDebugView)getView().getAdapter(IDebugView.class);
-		if (view != null) {
-			IDebugModelPresentation pres = view.getPresentation(JDIDebugModel.getPluginIdentifier());
-			if (pres != null) {
-				pres.setAttribute(JDIModelPresentation.DISPLAY_QUALIFIED_NAMES, (getValue() ? Boolean.TRUE : Boolean.FALSE));
-				BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
-					public void run() {
-						viewer.refresh();
-						IPreferenceStore store = getPreferenceStore();
-						String key = getView().getSite().getId() + "." + getPreferenceKey(); //$NON-NLS-1$
-						store.setValue(key, getValue());
-						JDIDebugUIPlugin.getDefault().savePluginPreferences();						
-					}
-				});
-			}
-		}		
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowStaticVariablesAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowStaticVariablesAction.java
deleted file mode 100644
index 9f70e29..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ShowStaticVariablesAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.ui.IJDIPreferencesConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Shows non-final static variables
- */
-public class ShowStaticVariablesAction extends VariableFilterAction {
-
-	public ShowStaticVariablesAction() {
-		super();
-	}
-
-	/**
-	 * @see VariableFilterAction#getPreferenceKey()
-	 */
-	protected String getPreferenceKey() {
-		return IJDIPreferencesConstants.PREF_SHOW_STATIC_VARIALBES; 
-	}
-	
-	/**
-	 * @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 IJavaVariable) {
-			IJavaVariable variable = (IJavaVariable)element;
-			try {
-				if (!getValue()) {
-					// when not on, filter non-static finals
-					return !(variable.isStatic() && !variable.isFinal());
-				}				
-			} catch (DebugException e) {
-				JDIDebugUIPlugin.log(e);
-			} 
-		}
-		return true;
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionActionDelegate.java
deleted file mode 100644
index bc348f6..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionActionDelegate.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICodeAssist;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;
-import org.eclipse.jdt.internal.debug.ui.EvaluationContextManager;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.texteditor.IEditorStatusLine;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Steps into the selected method.
- */
-public class StepIntoSelectionActionDelegate implements IEditorActionDelegate, IWorkbenchWindowActionDelegate {
-	
-	private IEditorPart fEditorPart = null;
-	private IWorkbenchWindow fWindow = null;
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (getActiveEditor() != null) {
-			ICodeAssist codeAssist = null;
-			ITextSelection textSelection = null;
-			IJavaStackFrame frame = getStackFrame();
-			if (frame != null && frame.isSuspended()) {
-				IEditorPart part = getActiveEditor();
-				if (part instanceof ITextEditor) { 
-					ITextEditor editor = (ITextEditor)part;
-					textSelection = (ITextSelection)editor.getSelectionProvider().getSelection();
-					try {
-						// ensure top stack frame
-						if (frame.getThread().getTopStackFrame().equals(frame)) {
-							int lineNumber = frame.getLineNumber();
-							// debug line numbers are 1 based, document line numbers are 0 based
-							if (textSelection.getStartLine() == (lineNumber - 1)) {
-								IEditorInput input = getActiveEditor().getEditorInput();
-								Object element = JavaUI.getWorkingCopyManager().getWorkingCopy(input);
-								if (element == null) {
-									element = input.getAdapter(IClassFile.class);
-								}
-								if (element instanceof ICodeAssist) {
-									codeAssist = ((ICodeAssist)element);
-								} else {
-									// editor does not support code assist
-									showErrorMessage(ActionMessages.getString("StepIntoSelectionActionDelegate.Step_into_selection_only_available_for_types_in_Java_projects._1")); //$NON-NLS-1$
-									return;
-								}
-							} else {
-								// not on current line
-								showErrorMessage(ActionMessages.getString("StepIntoSelectionActionDelegate.Step_into_selection_only_available_on_current_line_of_execution._2")); //$NON-NLS-1$
-								return;
-							}
-						} else {
-							showErrorMessage(ActionMessages.getString("StepIntoSelectionActionDelegate.Step_into_selection_only_available_in_top_stack_frame._3")); //$NON-NLS-1$
-							return;
-						}
-					} catch (CoreException e) {
-						showErrorMessage(e.getStatus().getMessage());
-						return;
-					}
-				} else {
-					showErrorMessage(ActionMessages.getString("StepIntoSelectionActionDelegate.Step_into_selection_only_available_in_Java_editor._4")); //$NON-NLS-1$
-					return;
-				}
-			} else {
-				// no longer suspended - unexpected
-				return;
-			}
-			
-			IMethod method = null;
-			try {
-				IJavaElement[] resolve = codeAssist.codeSelect(textSelection.getOffset(), textSelection.getLength());
-				for (int i = 0; i < resolve.length; i++) {
-					IJavaElement javaElement = resolve[i];
-					if (javaElement instanceof IMethod) {
-						method = (IMethod)javaElement;
-						break;
-					}
-				}
-			} catch (CoreException e) {
-				JDIDebugPlugin.log(e);
-			}
-		
-			if (method == null) {
-				// no resolved method
-				showErrorMessage(ActionMessages.getString("StepIntoSelectionActionDelegate.No_Method")); //$NON-NLS-1$
-			} else {
-				StepIntoSelectionHandler handler = new StepIntoSelectionHandler((IJavaThread)getStackFrame().getThread(), getStackFrame(), method);
-				handler.step();
-			}			
-		}
-	}
-	
-	/**
-	 * Displays an error message in the status area
-	 * 
-	 * @param message
-	 */
-	protected void showErrorMessage(String message) {	
-		if (getActiveEditor() != null) {
-			IEditorStatusLine statusLine= (IEditorStatusLine) getActiveEditor().getAdapter(IEditorStatusLine.class);
-			if (statusLine != null) {
-				statusLine.setMessage(true, message, null);
-			}
-		}		
-		JDIDebugUIPlugin.getStandardDisplay().beep();		
-	}
-
-
-	/**
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		fEditorPart = targetEditor;
-	}
-	
-	/**
-	 * Returns the active editor or <code>null</code>.
-	 * 
-	 * @return active editor or <code>null</code>
-	 */
-	protected IEditorPart getActiveEditor() {
-		if (fWindow != null) {
-			// global action
-			return fWindow.getActivePage().getActiveEditor();
-		} else {
-			// pop-up action
-			return fEditorPart;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	/**
-	 * Returns the current stack frame context, or <code>null</code> if none.
-	 * 
-	 * @return the current stack frame context, or <code>null</code> if none
-	 */
-	protected IJavaStackFrame getStackFrame() {
-		return EvaluationContextManager.getEvaluationContext(getActiveEditor());
-	}
-		
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		fWindow = window;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionHandler.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionHandler.java
deleted file mode 100644
index 3fb1202..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/StepIntoSelectionHandler.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-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.IDebugEventFilter;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.dialogs.ErrorDialog;
-
-/**
- * Handles stepping into a selected method, for a specific thread.
- */
-public class StepIntoSelectionHandler implements IDebugEventFilter {
-	
-	/**
-	 * The method to step into
-	 */
-	private IMethod fMethod;
-	
-	/**
-	 * Resolved signature of the method to step into
-	 */
-	private String fResolvedSignature;
-	
-	/**
-	 * The thread in which to step
-	 */
-	private IJavaThread fThread;
-
-	/**
-	 * The initial stack frame
-	 */
-	private String fOriginalName;
-	private String fOriginalSignature;
-	private String fOriginalTypeName;
-	private int fOriginalStackDepth;
-	
-	/**
-	 * Whether this is the first step into.
-	 */
-	private boolean fFirstStep = true;
-	
-	/**
-	 * The state of step filters before the step.
-	 */
-	private boolean fStepFilterEnabledState;
-	
-	/**
-	 * Empty event set.
-	 */
-	private static final DebugEvent[] fgEmptyEvents = new DebugEvent[0];
-
-	/**
-	 * Constructs a step handler to step into the given method in the given thread
-	 * starting from the given stack frame.
-	 */
-	public StepIntoSelectionHandler(IJavaThread thread, IJavaStackFrame frame, IMethod method) {
-		fMethod = method;
-		fThread = thread;
-		try {
-			fOriginalName = frame.getName();
-			fOriginalSignature = frame.getSignature();
-			fOriginalTypeName = frame.getDeclaringTypeName();
-			if (method.isBinary()) {
-				fResolvedSignature = method.getSignature();
-			} else {
-				fResolvedSignature = ManageMethodBreakpointActionDelegate.resolveMethodSignature(method.getDeclaringType(), method.getSignature());
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Returns the target thread for the step.
-	 * 
-	 * @return the target thread for the step
-	 */
-	protected IJavaThread getThread() {
-		return fThread;
-	}
-	
-	protected IJavaDebugTarget getDebugTarget() {
-		return (IJavaDebugTarget)getThread().getDebugTarget();
-	}
-	
-	/**
-	 * Returns the method to step into
-	 * 
-	 * @return the method to step into
-	 */
-	protected IMethod getMethod() {
-		return fMethod;
-	}
-	
-	/**
-	 * Returns the resolved signature of the method to step into
-	 * 
-	 * @return the resolved signature of the method to step into
-	 */
-	protected String getSignature() {
-		return fResolvedSignature;
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.core.IDebugEventFilter#filterDebugEvents(org.eclipse.debug.core.DebugEvent)
-	 */
-	public DebugEvent[] filterDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getSource() == getThread()) {
-				if (event.getKind() == DebugEvent.RESUME) {
-					if (event.isStepStart()) {
-						if (fFirstStep) {
-							fFirstStep = false;
-							return events;
-						} else {
-							// secondary step - filter the event
-							return fgEmptyEvents;
-						}
-					}
-				} else if (event.getKind() == DebugEvent.SUSPEND) {
-					// if not a step-end then abort (i.e. hit a breakpoint, etc)
-					if (event.getDetail() != DebugEvent.STEP_END) {
-						cleanup();
-						return events;
-					}
-					// if there is more than one suspend event, then abort:
-					//  -> this means that we have hit a suspend event at the same location
-					// that our step ended.
-					if (events.length > 1) {
-						for (int j = i + 1; j < events.length; j++) {
-							DebugEvent debugEvent = events[j];
-							if (debugEvent.getKind() == DebugEvent.SUSPEND) {
-								cleanup();
-								int filteredLength= events.length - j;
-								DebugEvent[] filtered = new DebugEvent[filteredLength];
-								System.arraycopy(events, j, filtered, 0, filteredLength);
-								return filtered;
-							}
-						}
-					}
-					// compare location to desired location
-					try {
-						final IJavaStackFrame frame = (IJavaStackFrame)getThread().getTopStackFrame();
-						int stackDepth = frame.getThread().getStackFrames().length;
-						String name = null;
-						if (frame.isConstructor()) {
-							name = frame.getDeclaringTypeName();
-							int index = name.lastIndexOf('.');
-							if (index >= 0) {
-								name = name.substring(index + 1);
-							}
-						} else {
-							name = frame.getName();
-						}
-						if (name.equals(getMethod().getElementName()) && frame.getSignature().equals(getSignature())) {
-							// hit
-							cleanup();
-							return events;
-						} else {
-							// step again
-							Runnable r = null;
-							if (stackDepth > fOriginalStackDepth) {
-								r = new Runnable() {
-									public void run() {
-										try {
-											frame.stepReturn();
-										} catch (DebugException e) {
-											JDIDebugUIPlugin.log(e);
-											cleanup();
-											DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]{new DebugEvent(getDebugTarget(), DebugEvent.CHANGE)});
-										}
-									}
-								};								
-							} else if (stackDepth == fOriginalStackDepth){
-								// we should be back in the original stack frame - if not, abort
-								if (!(frame.getSignature().equals(fOriginalSignature) && frame.getName().equals(fOriginalName) && frame.getDeclaringTypeName().equals(fOriginalTypeName))) {
-									missed();
-									return events;
-								}
-								r = new Runnable() {
-									public void run() {
-										try {
-											frame.stepInto();	
-										} catch (DebugException e) {
-											JDIDebugUIPlugin.log(e);
-											cleanup();
-											DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]{new DebugEvent(getDebugTarget(), DebugEvent.CHANGE)});
-										}
-									}
-								};																
-							} else {
-								// we returned from the original frame - never hit the desired method
-								missed();
-								return events;								
-							}
-							DebugPlugin.getDefault().asyncExec(r);
-							// filter the events
-							return fgEmptyEvents;
-						}
-					} catch (CoreException e) {
-						// abort
-						JDIDebugUIPlugin.log(e);
-						cleanup();
-						return events;
-					}
-				} else {
-					// abort
-					cleanup();
-					return events;
-				}
-			} else if (event.getSource() == getThread().getDebugTarget()) {
-				// abort
-				cleanup();
-				return events;
-			}
-		}
-		return events;
-	}
-	
-	/** 
-	 * Called when stepping returned from the original frame without entering the desired method.
-	 */
-	protected void missed() {
-		cleanup();
-		Runnable r = new Runnable() {
-			public void run() {
-				String methodName = null;
-				try {
-					methodName = Signature.toString(getMethod().getSignature(), getMethod().getElementName(), getMethod().getParameterNames(), false, false);
-				} catch (JavaModelException e) {
-					methodName = getMethod().getElementName();
-				}
-				IStatus status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), 0, MessageFormat.format(ActionMessages.getString("StepIntoSelectionHandler.Execution_did_not_enter___{0}___before_the_current_method_returned._1"), new String[]{methodName}), null); //$NON-NLS-1$
-				ErrorDialog.openError(JDIDebugUIPlugin.getActiveWorkbenchShell(), ActionMessages.getString("StepIntoSelectionHandler.Error_2"), null, status); //$NON-NLS-1$
-			}
-		};
-		JDIDebugUIPlugin.getStandardDisplay().asyncExec(r);		
-	}
-
-	/**
-	 * Performs the step.
-	 */
-	public void step() {
-		// add event filter and turn off step filters
-		DebugPlugin.getDefault().addDebugEventFilter(this);
-		fStepFilterEnabledState = getDebugTarget().isStepFiltersEnabled();
-		getDebugTarget().setStepFiltersEnabled(false);
-		try {
-			fOriginalStackDepth = getThread().getStackFrames().length;
-			getThread().stepInto();
-		} catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-			cleanup();
-			DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]{new DebugEvent(getDebugTarget(), DebugEvent.CHANGE)});			
-		}
-	}
-	
-	/**
-	 * Cleans up when the step is complete/aborted.
-	 */
-	protected void cleanup() {
-		DebugPlugin.getDefault().removeDebugEventFilter(this);
-		// restore step filter state
-		getDebugTarget().setStepFiltersEnabled(fStepFilterEnabledState);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/TerminateEvaluationAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/TerminateEvaluationAction.java
deleted file mode 100644
index f9e7d8f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/TerminateEvaluationAction.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-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.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Attempts to terminate an evaluation running in an IJavaThread.
- */
-public class TerminateEvaluationAction implements IObjectActionDelegate, IDebugEventSetListener {
-	
-	private IJavaThread fThread;
-	private boolean fTerminated;
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	public void run(IAction action) {
-		if (fThread == null) {
-			return;
-		}
-		DebugPlugin.getDefault().addDebugEventListener(this);
-		Thread timerThread= new Thread(new Runnable() {
-			public void run() {
-				fTerminated= false;
-				try {
-					Thread.sleep(3000);
-				} catch (InterruptedException e) {
-					return;
-				}
-				if (!fTerminated) {
-					fTerminated= true;
-					final Display display= JDIDebugUIPlugin.getStandardDisplay();
-						display.asyncExec(new Runnable() {
-							public void run() {
-								MessageDialog dialog = new MessageDialog(display.getActiveShell(), ActionMessages.getString("TerminateEvaluationActionTerminate_Evaluation_1"), null, //$NON-NLS-1$
-									ActionMessages.getString("TerminateEvaluationActionAttempts_to_terminate_an_evaluation_can_only_stop_a_series_of_statements._The_currently_executing_statement_(such_as_a_method_invocation)_cannot_be_interrupted._2"), MessageDialog.INFORMATION, new String[] { IDialogConstants.OK_LABEL }, 0); //$NON-NLS-1$
-								dialog.setBlockOnOpen(false);
-								dialog.open();
-							}
-					});
-				}
-			}
-		});
-		timerThread.start();
-		try {
-			fThread.terminateEvaluation();
-		} catch (DebugException exception) {
-			JDIDebugUIPlugin.errorDialog(ActionMessages.getString("TerminateEvaluationActionAn_exception_occurred_while_terminating_the_evaluation_3"), new Status(Status.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), Status.ERROR, exception.getMessage(), exception)); //$NON-NLS-1$
-		}
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss= (IStructuredSelection)selection;
-			if (ss.isEmpty() || ss.size() > 1) {
-				return;
-			}
-			Object element= ss.getFirstElement();
-			if (element instanceof IJavaThread) {
-				setThread((IJavaThread)element);
-			}
-		}
-	}
-	
-	public void setThread(IJavaThread thread) {
-		fThread= thread;
-	}
-
-	public void handleDebugEvents(DebugEvent[] events) {
-		DebugEvent event;
-		for (int i= 0, numEvents= events.length; i < numEvents; i++) {
-			event= events[i];
-			if ((event.getKind() & DebugEvent.SUSPEND)  != 0 && event.getSource() instanceof IJavaThread && event.isEvaluation()) {
-				fTerminated= true;
-			}
-		}
-		DebugPlugin.getDefault(). removeDebugEventListener(this);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ThreadFilterViewer.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ThreadFilterViewer.java
deleted file mode 100644
index 4e54c33..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ThreadFilterViewer.java
+++ /dev/null
@@ -1,431 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-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.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.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jdt.debug.core.IJavaBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A thread filter viewer is a field editor which
- * allows the user to configure thread filters for a given
- * breakpoint.
- */
-public class ThreadFilterViewer extends FieldEditor {
-	
-	private IJavaBreakpoint fBreakpoint;
-	private CheckboxTreeViewer fThreadViewer;
-	private Composite fOuter;
-	private ThreadFilterContentProvider fContentProvider;
-	private CheckHandler fCheckHandler;
-	
-	private static String MAIN= "main"; //$NON-NLS-1$
-	
-	public ThreadFilterViewer(Composite parent, IJavaBreakpoint breakpoint) {
-		fBreakpoint= breakpoint;
-		fContentProvider= new ThreadFilterContentProvider();
-		fCheckHandler= new CheckHandler();
-		init(JavaBreakpointPreferenceStore.THREAD_FILTER, ActionMessages.getString("ThreadFilterViewer.Thread_filtering_1")); //$NON-NLS-1$
-		createControl(parent);
-	}
-	
-	/**
-	 * Create and initialize the thread filter tree viewer.
-	 */
-	protected void createThreadViewer() {
-		GridData data= new GridData(GridData.FILL_BOTH);
-		data.heightHint= 100;
-
-		fThreadViewer= new CheckboxTreeViewer(fOuter, SWT.BORDER);
-		fThreadViewer.addCheckStateListener(fCheckHandler);
-		fThreadViewer.getTree().setLayoutData(data);
-		fThreadViewer.getTree().setFont(fOuter.getFont());
-		fThreadViewer.setContentProvider(fContentProvider);
-		fThreadViewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
-		fThreadViewer.setInput(DebugPlugin.getDefault().getLaunchManager());
-		
-		setInitialCheckedState();
-	}
-	
-	/**
-	 * Sets the initial checked state of the tree viewer.
-	 * The initial state should reflect the current state
-	 * of the breakpoint. If the breakpoint has a thread
-	 * filter in a given thread, that thread should be
-	 * checked.
-	 */
-	protected void setInitialCheckedState() {
-		try {
-			IDebugTarget[] targets= getDebugTargets();
-			for (int i= 0, numTargets= targets.length; i < numTargets; i++) {
-				IJavaDebugTarget target = (IJavaDebugTarget)targets[i].getAdapter(IJavaDebugTarget.class);
-				if (target != null) {
-					IJavaThread filteredThread= fBreakpoint.getThreadFilter(target);
-					if (filteredThread != null) {
-						fCheckHandler.checkThread(filteredThread, true);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-
-	/**
-	 * Returns the debug targets that appear in the tree
-	 */
-	protected IDebugTarget[] getDebugTargets() {
-		Object input= fThreadViewer.getInput();
-		if (!(input instanceof ILaunchManager)) {
-			return new IJavaDebugTarget[0];
-		}
-		ILaunchManager launchManager= (ILaunchManager)input;
-		return launchManager.getDebugTargets();
-	}
-
-	/**
-	 * @see FieldEditor#adjustForNumColumns(int)
-	 */
-	protected void adjustForNumColumns(int numColumns) {
-		((GridData) fOuter.getLayoutData()).horizontalSpan = numColumns;
-	}
-
-	/**
-	 * @see FieldEditor#doFillIntoGrid(Composite, int)
-	 */
-	protected void doFillIntoGrid(Composite parent, int numColumns) {
-		fOuter= new Composite(parent, SWT.NONE);
-
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = numColumns;
-		fOuter.setLayout(layout);
-		
-		GridData data= new GridData(GridData.FILL_BOTH);
-		fOuter.setLayoutData(data);
-		fOuter.setFont(parent.getFont());
-				
-		data = new GridData();
-		data.horizontalSpan = numColumns;
-		getLabelControl(fOuter).setLayoutData(data);
-		createThreadViewer();
-	}
-
-	/**
-	 * @see FieldEditor#doLoad()
-	 */
-	protected void doLoad() {
-	}
-
-	/**
-	 * @see FieldEditor#doLoadDefault()
-	 */
-	protected void doLoadDefault() {
-	}
-
-	/**
-	 * @see FieldEditor#doStore()
-	 */
-	protected void doStore() {
-		IDebugTarget[] targets= getDebugTargets();
-		IJavaDebugTarget target;
-		IThread[] threads;
-		IJavaThread thread;
-		for (int i= 0, numTargets= targets.length; i < numTargets; i++) {
-			target = (IJavaDebugTarget)targets[i].getAdapter(IJavaDebugTarget.class);
-			if (target != null) {
-				try {
-					if (fThreadViewer.getChecked(target)) {
-						threads= target.getThreads();
-						for (int j=0, numThreads= threads.length; j < numThreads; j++) {
-							thread= (IJavaThread)threads[j];
-							if (fThreadViewer.getChecked(thread)) {
-								// thread selected for filtering
-								fBreakpoint.setThreadFilter(thread);
-								break; // Can only set one filtered thread.
-							}
-						}
-					} else {
-						fBreakpoint.removeThreadFilter(target);
-					}
-				} catch (CoreException e) {
-					JDIDebugUIPlugin.log(e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see FieldEditor#getNumberOfControls()
-	 */
-	public int getNumberOfControls() {
-		return 1;
-	}
-	
-	class CheckHandler implements ICheckStateListener {	
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			Object element= event.getElement();
-			if (element instanceof IDebugTarget) {
-				checkTarget((IDebugTarget)element, event.getChecked());
-			} else if (element instanceof IThread) {
-				checkThread((IThread)element, event.getChecked());
-			}
-			verifyCheckedState();
-		}
-		
-		/**
-		 * Check or uncheck a debug target in the tree viewer.
-		 * When a debug target is checked, attempt to
-		 * check one of the target's threads by default.
-		 * When a debug target is unchecked, uncheck all
-		 * its threads.
-		 */
-		protected void checkTarget(IDebugTarget target, boolean checked) {
-			fThreadViewer.setChecked(target, checked);
-			if (checked) {
-				fThreadViewer.expandToLevel(target, TreeViewer.ALL_LEVELS);
-				IThread[] threads;
-				try {
-					threads= target.getThreads();
-				} catch (DebugException exception) {
-					JDIDebugUIPlugin.log(exception);
-					return;
-				}
-				IThread thread;
-				boolean checkedThread= false;
-				// Try to check the "main" thread by default
-				for (int i= 0, numThreads= threads.length; i < numThreads; i++) {
-					thread= threads[i];
-					String name= null;
-					try {
-						name= thread.getName();
-					} catch (DebugException exception) {
-						JDIDebugUIPlugin.log(exception);
-					}
-					if (MAIN.equals(name)) {
-						checkedThread= fThreadViewer.setChecked(thread, true);
-					}
-				}
-				// If the main thread couldn't be checked, check the first
-				// available thread
-				if (!checkedThread) {
-					for (int i= 0, numThreads= threads.length; i < numThreads; i++) {
-						if (fThreadViewer.setChecked(threads[i], true)) {
-							break;
-						}
-					}
-				}
-			} else { // Unchecked
-				IThread[] threads;
-				try {
-					threads= target.getThreads();
-				} catch (DebugException exception) {
-					JDIDebugUIPlugin.log(exception);
-					return;
-				}
-				for (int i= 0, numThreads= threads.length; i < numThreads; i++) {
-					fThreadViewer.setChecked(threads[i], false);
-				}
-			}
-		}
-	
-		/**
-		 * Check or uncheck a thread.
-		 * When a thread is checked, make sure its debug
-		 * target is also checked.
-		 * When a thread is unchecked, uncheck its debug
-		 * target.
-		 */
-		protected void checkThread(IThread thread, boolean checked) {	
-			fThreadViewer.setChecked(thread, checked);
-			IDebugTarget target= (thread).getDebugTarget();
-			if (checked) {
-				// When a thread is checked, make sure the target
-				// is checked and all other threads are
-				// unchecked (simulate radio button behavior)
-				if (!fThreadViewer.getChecked(target)) {					
-					fThreadViewer.setChecked(target, true);
-				}
-				IThread[] threads;
-				try {
-					threads= target.getThreads();
-				} catch (DebugException exception) {
-					JDIDebugUIPlugin.log(exception);
-					return;
-				}
-				for (int i= 0, numThreads= threads.length; i < numThreads; i++) {
-					if (threads[i] != thread) {
-						// Uncheck all threads other than the selected thread
-						fThreadViewer.setChecked(threads[i], false);
-					}
-				}
-			} else {
-				// When a thread is unchecked, uncheck the target
-				fThreadViewer.setChecked(target, false);
-			}
-		}
-	
-		/**
-		 * Verify the state of the tree viewer.
-		 * If the user selects a debug target, they must select
-		 * a thread.
-		 */
-		protected void verifyCheckedState() {
-			IDebugTarget[] targets= getDebugTargets();
-			IDebugTarget target;
-			IThread[] threads;
-			boolean checkedThread;
-			for (int i= 0, numTargets= targets.length; i < numTargets; i++) {
-				target= targets[i];
-				if (!fThreadViewer.getChecked(target)) {
-					continue;
-				}
-				try {
-					threads= target.getThreads();
-				} catch (DebugException exception) {
-					JDIDebugUIPlugin.log(exception);
-					continue;
-				}
-				checkedThread= false;
-				for (int j= 0, numThreads= threads.length; j < numThreads; j++) {
-					if (fThreadViewer.getChecked(threads[j])) {
-						checkedThread= true;
-						break;
-					}
-				}
-				if (checkedThread) {
-					clearErrorMessage();
-				} else {
-					showErrorMessage(ActionMessages.getString("ThreadFilterViewer.Must_select_a_thread_in_selected_targets_2")); //$NON-NLS-1$
-				}
-			}
-		}
-		
-	}
-	
-	class ThreadFilterContentProvider implements ITreeContentProvider {
-		
-		/**
-		 * @see ITreeContentProvider#getChildren(Object)
-		 */
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof IDebugTarget) {
-				IJavaDebugTarget target = (IJavaDebugTarget)((IDebugTarget)parent).getAdapter(IJavaDebugTarget.class);
-				if (target != null) {
-					try {
-						return ((IJavaDebugTarget)parent).getThreads();
-					} catch (DebugException e) {
-						JDIDebugUIPlugin.log(e);
-					}
-				}
-			}		
-			if (parent instanceof ILaunchManager) {
-				List children= new ArrayList();
-				ILaunch[] launches= ((ILaunchManager) parent).getLaunches();
-				IDebugTarget[] targets;
-				IJavaDebugTarget target;
-				for (int i= 0, numLaunches= launches.length; i < numLaunches; i++) {
-					targets= launches[i].getDebugTargets();
-					for (int j= 0, numTargets= targets.length; j < numTargets; j++) {
-						target= (IJavaDebugTarget)targets[j].getAdapter(IJavaDebugTarget.class);
-						if (target != null && !target.isDisconnected() && !target.isTerminated()) {
-							children.add(target);
-						}
-					}
-				}
-				return children.toArray();
-			}
-			return new Object[0];
-		}
-
-		/**
-		 * @see ITreeContentProvider#getParent(Object)
-		 */
-		public Object getParent(Object element) {
-			if (element instanceof IThread) {
-				return ((IThread)element).getDebugTarget();
-			}
-			if (element instanceof IDebugTarget) {
-				return ((IDebugElement)element).getLaunch();
-			}
-			if (element instanceof ILaunch) {
-				return DebugPlugin.getDefault().getLaunchManager();
-			}
-			return null;
-		}
-
-		/**
-		 * @see ITreeContentProvider#hasChildren(Object)
-		 */
-		public boolean hasChildren(Object element) {
-			if (element instanceof IStackFrame) {
-				return false;
-			}
-			if (element instanceof IDebugElement) {
-				return getChildren(element).length > 0;
-			} 
-			if (element instanceof ILaunch) {
-				return true;
-			}
-			if (element instanceof ILaunchManager) {
-				return ((ILaunchManager) element).getLaunches().length > 0;
-			}
-			return false;
-		}
-
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return getChildren(inputElement);
-		}
-
-		/**
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/**
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/VariableFilterAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/VariableFilterAction.java
deleted file mode 100644
index 877a373..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/VariableFilterAction.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-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.jface.viewers.ViewerFilter;
-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.texteditor.IUpdate;
-
-/**
- * 
- */
-public abstract class VariableFilterAction extends ViewerFilter implements IViewActionDelegate, IActionDelegate2, IUpdate {
-	
-	/**
-	 * Current value of this filter - on/off.
-	 */
-	private boolean fValue;
-	
-	private IViewPart fView;
-	private IAction fAction;
-
-	public VariableFilterAction() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView = view;
-		setValue(getPreferenceValue(view));
-		fAction.setChecked(getValue());
-		run(fAction);
-		IDebugView debugView = (IDebugView)view.getAdapter(IDebugView.class);
-		if (debugView != null) {
-			debugView.add(this);
-		}
-	}
-
-	/* (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) {
-		setValue(action.isChecked());
-		StructuredViewer viewer = getStructuredViewer();
-		ViewerFilter[] filters = viewer.getFilters();
-		ViewerFilter filter = null;
-		for (int i = 0; i < filters.length; i++) {
-			if (filters[i] == this) {
-				filter = filters[i];
-				break;
-			}
-		}
-		if (filter == null) {
-			viewer.addFilter(this);
-		}
-		viewer.refresh();
-		IPreferenceStore store = getPreferenceStore();
-		String key = getView().getSite().getId() + "." + getPreferenceKey(); //$NON-NLS-1$
-		store.setValue(key, getValue());
-		JDIDebugUIPlugin.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 JDIDebugUIPlugin.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 void setValue(boolean value) {
-		fValue = value;
-	}
-	
-	/**
-	 * Returns the current value of this toggle - on/off.
-	 * 
-	 * @return boolean
-	 */
-	protected boolean getValue() {
-		return fValue;
-	}
-	
-	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;
-	}
-	
-	/**
-	 * @see IUpdate#update()
-	 */
-	public void update() {
-		fAction.setChecked(getValue());
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/WatchAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/WatchAction.java
deleted file mode 100644
index 3014931..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/WatchAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaVariable;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaWatchExpression;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Create a watch item from a selected variable
- */
-public class WatchAction extends InspectAction {
-		
-	public void run() {
-		Object selectedObject= getSelectedObject();
-		if (selectedObject instanceof IStructuredSelection) {
-			IStructuredSelection selection = (IStructuredSelection)selectedObject;
-			Iterator elements = selection.iterator();
-			while (elements.hasNext()) {
-				try {
-					createWatchExpression(((IJavaVariable)elements.next()).getName());
-				} catch (DebugException e) {
-					JDIDebugUIPlugin.log(e);
-					return;
-				}
-			}
-			showExpressionView();
-		} else if (selectedObject instanceof String) {
-			createWatchExpression((String) selectedObject);
-			showExpressionView();
-		}
-	}
-
-	private void createWatchExpression(String snippet) {
-		JavaWatchExpression expression = new JavaWatchExpression(snippet);
-		IJavaStackFrame stackFrame= getStackFrameContext();
-		if (stackFrame != null) {
-			IThread thread = stackFrame.getThread();
-			if (thread instanceof IJavaThread) {
-				expression.evaluateExpression((IJavaThread)thread);
-			}
-		}
-		DebugPlugin.getDefault().getExpressionManager().addExpression(expression);				
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/WatchExpressionAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/WatchExpressionAction.java
deleted file mode 100644
index e41f4af..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/WatchExpressionAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.actions;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookLauncher;
-
-/**
- * Generic abstract class for the actions associated to the java watch
- * expressions.
- */
-public abstract class WatchExpressionAction extends ObjectActionDelegate {
-
-	/**
-	 * Finds the currently selected stack frame in the UI.
-	 * Stack frames from a scrapbook launch are ignored.
-	 */
-	protected IJavaThread getThreadContext() {
-		IAdaptable context = DebugUITools.getDebugContext();
-		if (context instanceof IJavaThread) {
-			return (IJavaThread)context;
-		}
-		if (context != null) {
-			IJavaStackFrame frame = (IJavaStackFrame) context.getAdapter(IJavaStackFrame.class);
-			if (frame != null) {
-				if (frame.getLaunch().getAttribute(ScrapbookLauncher.SCRAPBOOK_LAUNCH) == null) {
-					return (IJavaThread)frame.getThread();
-				}
-			}
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/ConsoleMessages.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/ConsoleMessages.java
deleted file mode 100644
index d23d0fa..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/ConsoleMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.console;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ConsoleMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.jdt.internal.debug.ui.console.ConsoleMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ConsoleMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/ConsoleMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/ConsoleMessages.properties
deleted file mode 100644
index cbfa299..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/ConsoleMessages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-JavaStackTraceHyperlink.Information_1=Information
-JavaStackTraceHyperlink.Source_not_found_for_{0}_2=Source not found for {0}
-JavaStackTraceHyperlink.An_exception_occurred_while_following_link._3=An exception occurred while following link.
-JavaStackTraceHyperlink.Unable_to_retrieve_workspace_source._4=Unable to retrieve workspace source.
-JavaStackTraceHyperlink.Unable_to_parse_type_name_from_hyperlink._5=Unable to parse type name from hyperlink.
-JavaStackTraceHyperlink.Unable_to_parse_line_number_from_hyperlink._6=Unable to parse line number from hyperlink.
-JavaStackTraceHyperlink.Unable_to_parse_line_number_from_hyperlink._7=Unable to parse line number from hyperlink.
-JavaStackTraceHyperlink.Unable_to_retrieve_hyperlink_text._8=Unable to retrieve hyperlink text.
-
-J9StackTraceHyperlink.Unable_to_parse_type_name_from_hyperlink._1=Unable to parse type name from hyperlink.
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/J9ConsoleTracker.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/J9ConsoleTracker.java
deleted file mode 100644
index cfa876f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/J9ConsoleTracker.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.console;
-
-
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleHyperlink;
-import org.eclipse.debug.ui.console.IConsoleLineTracker;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-
-/**
- * Provides links for stack traces in J9 output
- */
-public class J9ConsoleTracker implements IConsoleLineTracker {
-	
-	/**
-	 * The console associated with this line tracker 
-	 */
-	private IConsole fConsole;
-	
-	private StringMatcher fJ9Matcher;
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#init(org.eclipse.debug.ui.console.IConsole)
-	 */
-	public void init(IConsole console) {
-		fConsole = console;
-		fJ9Matcher = new StringMatcher("*.*(*)*", false, false); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#lineAppended(org.eclipse.jface.text.IRegion)
-	 */
-	public void lineAppended(IRegion line) {
-		try {
-			int offset = line.getOffset();
-			int length = line.getLength();
-			String text = fConsole.getDocument().get(offset, length);
-			int index = -1;
-			if (fJ9Matcher.match(text)) {
-				// find the last space in the line
-				index = text.lastIndexOf(' ');
-				if (index >= 0) {
-					int linkOffset = offset + index + 1;
-					int linkLength = length - index - 1;
-					IConsoleHyperlink link = null;
-					link = new J9StackTraceHyperlink(fConsole);
-					fConsole.addLink(link, linkOffset, linkLength);
-				}				
-			}
-		} catch (BadLocationException e) {
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#dispose()
-	 */
-	public void dispose() {
-		fConsole = null;
-		fJ9Matcher = null;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/J9StackTraceHyperlink.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/J9StackTraceHyperlink.java
deleted file mode 100644
index 119a01a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/J9StackTraceHyperlink.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.console;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-
-/**
- * A hyperlink from a J9 stack trace line of the form "*.*(*)*"
- */
-public class J9StackTraceHyperlink extends JavaStackTraceHyperlink {
-
-	/**
-     * @see JavaStackTraceHyperlink#JavaStackTraceHyperlink(IConsole, int, int)
-	 */
-	public J9StackTraceHyperlink(IConsole console) {
-		super(console);
-	}
-
-	/**
-	 * @see JavaStackTraceHyperlink#getTypeName()
-	 */
-	protected String getTypeName() throws CoreException {
-		String linkText = getLinkText();
-		int index = linkText.lastIndexOf('(');
-		if (index >= 0) {
-			String typeName = linkText.substring(0, index);
-			// remove the method name
-			index = typeName.lastIndexOf('.');
-			if (index >= 0) {
-				typeName = typeName.substring(0, index);
-			}
-			// replace slashes with dots
-			return typeName.replace('/', '.');
-		} else {
-			IStatus status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), 0, ConsoleMessages.getString("J9StackTraceHyperlink.Unable_to_parse_type_name_from_hyperlink._1"), null); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.console.JavaStackTraceHyperlink#getLineNumber()
-	 */
-	protected int getLineNumber() throws CoreException {
-		return -1;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaConsoleTracker.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaConsoleTracker.java
deleted file mode 100644
index b726f9c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaConsoleTracker.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.console;
-
-
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleHyperlink;
-import org.eclipse.debug.ui.console.IConsoleLineTracker;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-
-/**
- * Provides links for stack traces
- */
-public class JavaConsoleTracker implements IConsoleLineTracker {
-	
-	/**
-	 * The console associated with this line tracker 
-	 */
-	private IConsole fConsole;
-	
-	private StringMatcher fJavaMatcher;
-	private StringMatcher fNativeMatcher;
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#init(org.eclipse.debug.ui.console.IConsole)
-	 */
-	public void init(IConsole console) {
-		fConsole = console;
-		fJavaMatcher = new StringMatcher("*(*.java:*)", false, false); //$NON-NLS-1$
-		fNativeMatcher = new StringMatcher("*(Native Method)", false, false); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#lineAppended(org.eclipse.jface.text.IRegion)
-	 */
-	public void lineAppended(IRegion line) {
-		try {
-			int offset = line.getOffset();
-			int length = line.getLength();
-			String text = fConsole.getDocument().get(offset, length);
-			boolean standardMatch = false;
-			int index = -1;
-			if (fJavaMatcher.match(text)) {
-				standardMatch = true;
-				// find the last space in the line
-				index = text.lastIndexOf(' ');
-			} else if (fNativeMatcher.match(text)) {
-				// find the second last space in the line
-				index = text.lastIndexOf(' ', text.length() - 15);
-			}
-			if (index >= 0) {
-				int linkOffset = offset + index + 1;
-				int linkLength = length - index - 1;
-				IConsoleHyperlink link = null;
-				if (standardMatch) {
-					link = new JavaStackTraceHyperlink(fConsole);
-				} else {
-					link = new JavaNativeStackTraceHyperlink(fConsole);
-				}	
-				fConsole.addLink(link, linkOffset, linkLength);			
-			}
-		} catch (BadLocationException e) {
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#dispose()
-	 */
-	public void dispose() {
-		fConsole = null;
-		fJavaMatcher = null;
-		fNativeMatcher = null;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaNativeStackTraceHyperlink.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaNativeStackTraceHyperlink.java
deleted file mode 100644
index c746721..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaNativeStackTraceHyperlink.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.console;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.console.IConsole;
-
-/**
- * A hyperlink from a stack trace line of the form "*(Native Method)"
- */
-public class JavaNativeStackTraceHyperlink extends JavaStackTraceHyperlink {
-
-	/**
-     * @see JavaStackTraceHyperlink#JavaStackTraceHyperlink(IConsole, int, int)
-	 */
-	public JavaNativeStackTraceHyperlink(IConsole console) {
-		super(console);
-	}
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.console.JavaStackTraceHyperlink#getLineNumber()
-	 */
-	protected int getLineNumber() throws CoreException {
-		return -1;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaStackTraceHyperlink.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaStackTraceHyperlink.java
deleted file mode 100644
index 6ac4f55..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/JavaStackTraceHyperlink.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.console;
-
-
-import java.text.MessageFormat;
-
-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.ILaunch;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleHyperlink;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.ui.JavaUISourceLocator;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation;
-import org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * A hyperlink from a stack trace line of the form "*(*.java:*)"
- */
-public class JavaStackTraceHyperlink implements IConsoleHyperlink {
-	
-	private IConsole fConsole;
-
-	/**
-	 * Constructor for JavaStackTraceHyperlink.
-	 */
-	public JavaStackTraceHyperlink(IConsole console) {
-		fConsole = console;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkEntered()
-	 */
-	public void linkEntered() {
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkExited()
-	 */
-	public void linkExited() {
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkActivated()
-	 */
-	public void linkActivated() {
-		try {
-			String typeName = getTypeName();
-			int lineNumber = getLineNumber();
-			// documents start at 0
-			if (lineNumber > 0) {
-				lineNumber--;
-			}
-			IJavaSourceLocation[] sourceLocations = getSourceLocations();
-		
-			for (int i = 0; i < sourceLocations.length; i++) {
-				IJavaSourceLocation location = sourceLocations[i];
-				Object sourceElement = location.findSourceElement(typeName);
-				if (sourceElement != null) {
-					IDebugModelPresentation presentation = JDIDebugUIPlugin.getDefault().getModelPresentation();
-					IEditorInput editorInput = presentation.getEditorInput(sourceElement);
-					if (editorInput != null) {
-						String editorId = presentation.getEditorId(editorInput, sourceElement);
-						if (editorId != null) {
-							IEditorPart editorPart = JDIDebugUIPlugin.getActivePage().openEditor(editorInput, editorId);
-							if (editorPart instanceof ITextEditor && lineNumber >= 0) {
-								ITextEditor textEditor = (ITextEditor)editorPart;
-								IDocumentProvider provider = textEditor.getDocumentProvider();
-								provider.connect(editorInput);
-								IDocument document = provider.getDocument(editorInput);
-								try {
-									IRegion line = document.getLineInformation(lineNumber);
-									textEditor.selectAndReveal(line.getOffset(), line.getLength());
-								} catch (BadLocationException e) {
-								}
-								provider.disconnect(editorInput);
-							}
-							return;
-						}
-					}
-				}
-			}
-			// did not find source
-			MessageDialog.openInformation(JDIDebugUIPlugin.getActiveWorkbenchShell(), ConsoleMessages.getString("JavaStackTraceHyperlink.Information_1"), MessageFormat.format(ConsoleMessages.getString("JavaStackTraceHyperlink.Source_not_found_for_{0}_2"), new String[] {typeName})); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(ConsoleMessages.getString("JavaStackTraceHyperlink.An_exception_occurred_while_following_link._3"), e); //$NON-NLS-1$
-			return;
-		}
-	}
-	
-	/**
-	 * Returns the locations in which to look for source associatd with the
-	 * stack trace, or <code>null</code> if none.
-	 *  
-	 * @return IJavaSourceLocation[]
-	 */
-	protected IJavaSourceLocation[] getSourceLocations() {
-		ISourceLocator sourceLocator = null;
-		ILaunch launch = getConsole().getProcess().getLaunch();
-		if (launch != null) {
-			sourceLocator = launch.getSourceLocator();
-		}
-		IJavaSourceLocation[] sourceLocations = null;
-		if (sourceLocator instanceof JavaSourceLocator) {
-			sourceLocations = ((JavaSourceLocator)sourceLocator).getSourceLocations();
-		} else if (sourceLocator instanceof JavaUISourceLocator) {
-			sourceLocations = ((JavaUISourceLocator)sourceLocator).getSourceLocations();
-		}
-		if (sourceLocations == null) {
-			// create a source locator using all projects in the workspace
-			IJavaModel javaModel = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
-			if (javaModel == null) {
-				return null;
-			}
-			try {
-				sourceLocator = new JavaUISourceLocator(javaModel.getJavaProjects(), false);
-			} catch (JavaModelException e) {
-				JDIDebugUIPlugin.errorDialog(ConsoleMessages.getString("JavaStackTraceHyperlink.Unable_to_retrieve_workspace_source._4"), e); //$NON-NLS-1$
-				return null;
-			}
-			sourceLocations = ((JavaUISourceLocator)sourceLocator).getSourceLocations();
-		}
-		return sourceLocations;
-	}
-	
-	/**
-	 * Returns the fully qualified name of the type to open
-	 *  
-	 * @return fully qualified type name
-	 * @exception CoreException if unable to parse the type name
-	 */
-	protected String getTypeName() throws CoreException {
-		String linkText = getLinkText();		
-		int index = linkText.lastIndexOf('(');
-		if (index >= 0) {
-			String typeName = linkText.substring(0, index);
-			// remove the method name
-			index = typeName.lastIndexOf('.');
-			if (index >= 0) {
-				typeName = typeName.substring(0, index);
-			}
-			return typeName;
-		} else {
-			IStatus status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), 0, ConsoleMessages.getString("JavaStackTraceHyperlink.Unable_to_parse_type_name_from_hyperlink._5"), null); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-	}	
-	
-	/**
-	 * Returns the line number associated with the stack trace or -1 if none.
-	 * 
-	 * @exception CoreException if unable to parse the number
-	 */
-	protected int getLineNumber() throws CoreException {
-		String linkText = getLinkText();
-		int index = linkText.lastIndexOf(':');
-		if (index >= 0) {
-			String numText = linkText.substring(index + 1, linkText.length() - 1);
-			try {
-				return Integer.parseInt(numText);
-			} catch (NumberFormatException e) {
-				IStatus status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), 0, ConsoleMessages.getString("JavaStackTraceHyperlink.Unable_to_parse_line_number_from_hyperlink._6"), e); //$NON-NLS-1$
-				throw new CoreException(status);
-			}		
-		} else {
-			IStatus status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), 0, ConsoleMessages.getString("JavaStackTraceHyperlink.Unable_to_parse_line_number_from_hyperlink._7"), null); //$NON-NLS-1$
-			throw new CoreException(status);			
-		}
-	}
-	
-	/**
-	 * Returns the console this link is contained in.
-	 *  
-	 * @return console
-	 */
-	protected IConsole getConsole() {
-		return fConsole;
-	}
-	
-	/**
-	 * Returns this link's text
-	 * 
-	 * @exception CoreException if unable to retrieve the text
-	 */
-	protected String getLinkText() throws CoreException {
-		try {
-			IRegion region = getConsole().getRegion(this);
-			return getConsole().getDocument().get(region.getOffset(), region.getLength());
-		} catch (BadLocationException e) {
-			IStatus status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), 0, ConsoleMessages.getString("JavaStackTraceHyperlink.Unable_to_retrieve_hyperlink_text._8"), e); //$NON-NLS-1$
-			throw new CoreException(status);
-		}		
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/StringMatcher.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/StringMatcher.java
deleted file mode 100644
index 827b747..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/console/StringMatcher.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.console;
-
- 
-import java.util.*;
-
-/**
- * A string pattern matcher, suppporting * and ? wildcards.
- */
-public class StringMatcher {
-	protected String fPattern;
-	protected int fLength; // pattern length
-	protected boolean fIgnoreWildCards;
-	protected boolean fIgnoreCase;
-	protected boolean fHasLeadingStar;
-	protected boolean fHasTrailingStar;
-	protected String fSegments[]; //the given pattern is split into * separated segments
-
-	/* boundary value beyond which we don't need to search in the text */
-	protected int fBound= 0;
-	
-
-	protected static final char fSingleWildCard= '\u0000';
-	
-	public static class Position {
-		int start; //inclusive
-		int end; //exclusive
-		public Position(int start, int end) {
-			this.start= start;
-			this.end= end;
-		}
-		public int getStart() {
-			return start;
-		}
-		public int getEnd() {
-			return end;
-		}
-	}
-	/**
-	 * StringMatcher constructor takes in a String object that is a simple 
-	 * pattern which may contain ‘*’ for 0 and many characters and
-	 * ‘?’ for exactly one character.  
-	 *
-	 * Literal '*' and '?' characters must be escaped in the pattern 
-	 * e.g., "\*" means literal "*", etc.
-	 *
-	 * Escaping any other character (including the escape character itself), 
-	 * just results in that character in the pattern.
-	 * e.g., "\a" means "a" and "\\" means "\"
-	 *
-	 * If invoking the StringMatcher with string literals in Java, don't forget
-	 * escape characters are represented by "\\".
-	 *
-	 * @param pattern the pattern to match text against
-	 * @param ignoreCase if true, case is ignored
-	 * @param ignoreWildCards if true, wild cards and their escape sequences are ignored
-	 * 		  (everything is taken literally).
-	 */
-	public StringMatcher(String pattern, boolean ignoreCase, boolean ignoreWildCards) {
-		if (pattern == null)
-			throw new IllegalArgumentException();
-		fIgnoreCase= ignoreCase;
-		fIgnoreWildCards= ignoreWildCards;
-		fPattern= pattern;
-		fLength= pattern.length();
-		
-		if (fIgnoreWildCards) {
-			parseNoWildCards();
-		} else {
-			parseWildCards();
-		}
-	}
-	/**
-	 * Find the first occurrence of the pattern between <code>start</code)(inclusive) 
-	 * and <code>end</code>(exclusive).  
-	 * @param <code>text</code>, the String object to search in 
-	 * @param <code>start</code>, the starting index of the search range, inclusive
-	 * @param <code>end</code>, the ending index of the search range, exclusive
-	 * @return an <code>StringMatcher.Position</code> object that keeps the starting 
-	 * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-	 * pattern in the specified range of the text; return null if not found or subtext
-	 * is empty (start==end). A pair of zeros is returned if pattern is empty string
-	 * Note that for pattern like "*abc*" with leading and trailing stars, position of "abc"
-	 * is returned. For a pattern like"*??*" in text "abcdf", (1,3) is returned
-	 */
-	public StringMatcher.Position find(String text, int start, int end) {
-		if (text == null)
-			throw new IllegalArgumentException();
-			
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-		if (end < 0 ||start >= end )
-			return null;
-		if (fLength == 0)
-			return new Position(start, start);
-		if (fIgnoreWildCards) {
-			int x= posIn(text, start, end);
-			if (x < 0)
-				return null;
-			return new Position(x, x+fLength);
-		}
-
-		int segCount= fSegments.length;
-		if (segCount == 0)//pattern contains only '*'(s)
-			return new Position (start, end);
-					
-		int curPos= start;
-		int matchStart= -1;
-		int i;
-		for (i= 0; i < segCount && curPos < end; ++i) {
-			String current= fSegments[i];
-			int nextMatch= regExpPosIn(text, curPos, end, current);
-			if (nextMatch < 0 )
-				return null;
-			if(i == 0)
-				matchStart= nextMatch;
-			curPos= nextMatch + current.length();
-		}
-		if (i < segCount)
-			return null;
-		return new Position(matchStart, curPos);
-	}
-	/**
-	 * match the given <code>text</code> with the pattern 
-	 * @return true if matched eitherwise false
-	 * @param <code>text</code>, a String object 
-	 */
-	public boolean match(String text) {
-		return match(text, 0, text.length());
-	}
-	/**
-	 * Given the starting (inclusive) and the ending (exclusive) positions in the   
-	 * <code>text</code>, determine if the given substring matches with aPattern  
-	 * @return true if the specified portion of the text matches the pattern
-	 * @param String <code>text</code>, a String object that contains the substring to match 
-	 * @param int <code>start<code> marks the starting position (inclusive) of the substring
-	 * @param int <code>end<code> marks the ending index (exclusive) of the substring 
-	 */
-	public boolean match(String text, int start, int end) {
-		if (null == text)
-			throw new IllegalArgumentException();
-
-		if (start > end)
-			return false;
-
-		if (fIgnoreWildCards)
-			return (end - start == fLength) && fPattern.regionMatches(fIgnoreCase, 0, text, start, fLength);
-		int segCount= fSegments.length;
-		if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar))  // pattern contains only '*'(s)
-			return true;
-		if (start == end)
-			return fLength == 0;
-		if (fLength == 0)
-			return start == end;
-
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-
-		int tCurPos= start;
-		int bound= end - fBound;
-		if ( bound < 0)
-			return false;
-		int i=0;
-		String current= fSegments[i];
-		int segLength= current.length();
-
-		/* process first segment */
-		if (!fHasLeadingStar){
-			if(!regExpRegionMatches(text, start, current, 0, segLength)) {
-				return false;
-			} else {
-				++i;
-				tCurPos= tCurPos + segLength;
-			}
-		}
-		if ((fSegments.length == 1) && (!fHasLeadingStar) && (!fHasTrailingStar)) {
-			// only one segment to match, no wildcards specified
-			return tCurPos == end;
-		}
-		/* process middle segments */
-		while (i < segCount) {
-			current= fSegments[i];
-			int currentMatch;
-			int k= current.indexOf(fSingleWildCard);
-			if (k < 0) {
-				currentMatch= textPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			} else {
-				currentMatch= regExpPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			}
-			tCurPos= currentMatch + current.length();
-			i++;
-		}
-
-		/* process final segment */
-		if (!fHasTrailingStar && tCurPos != end) {
-			int clen= current.length();
-			return regExpRegionMatches(text, end - clen, current, 0, clen);
-		}
-		return i == segCount ;
-	}
-
-	/**
-	 * This method parses the given pattern into segments seperated by wildcard '*' characters.
-	 * Since wildcards are not being used in this case, the pattern consists of a single segment.
-	 */
-	private void parseNoWildCards() {
-		fSegments= new String[1];
-		fSegments[0]= fPattern;
-		fBound= fLength;
-	}
-	/**
-	 * Parses the given pattern into segments seperated by wildcard '*' characters.
-	 * @param p, a String object that is a simple regular expression with ‘*’ and/or ‘?’
-	 */
-	private void parseWildCards() {
-		if(fPattern.startsWith("*"))//$NON-NLS-1$
-			fHasLeadingStar= true;
-		if(fPattern.endsWith("*")) {//$NON-NLS-1$
-			/* make sure it's not an escaped wildcard */
-			if (fLength > 1 && fPattern.charAt(fLength - 2) != '\\') {
-				fHasTrailingStar= true;
-			}
-		}
-
-		Vector temp= new Vector();
-
-		int pos= 0;
-		StringBuffer buf= new StringBuffer();
-		while (pos < fLength) {
-			char c= fPattern.charAt(pos++);
-			switch (c) {
-				case '\\':
-					if (pos >= fLength) {
-						buf.append(c);
-					} else {
-						char next= fPattern.charAt(pos++);
-						/* if it's an escape sequence */
-						if (next == '*' || next == '?' || next == '\\') {
-							buf.append(next);
-						} else {
-							/* not an escape sequence, just insert literally */
-							buf.append(c);
-							buf.append(next);
-						}
-					}
-				break;
-				case '*':
-					if (buf.length() > 0) {
-						/* new segment */
-						temp.addElement(buf.toString());
-						fBound += buf.length();
-						buf.setLength(0);
-					}
-				break;
-				case '?':
-					/* append special character representing single match wildcard */
-					buf.append(fSingleWildCard);
-				break;
-				default:
-					buf.append(c);
-			}
-		}
-
-		/* add last buffer to segment list */
-		if (buf.length() > 0) {
-			temp.addElement(buf.toString());
-			fBound += buf.length();
-		}
-			
-		fSegments= new String[temp.size()];
-		temp.copyInto(fSegments);
-	}
-	/** 
-	 * @param <code>text</code>, a string which contains no wildcard
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int posIn(String text, int start, int end) {//no wild card in pattern
-		int max= end - fLength;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(fPattern, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, fPattern, 0, fLength))
-				return i;
-		}
-		
-		return -1;
-	}
-	/** 
-	 * @param <code>text</code>, a simple regular expression that may only contain '?'(s)
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @param <code>p</code>, a simple regular expression that may contains '?'
-	 * @param <code>caseIgnored</code>, wether the pattern is not casesensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int regExpPosIn(String text, int start, int end, String p) {
-		int plen= p.length();
-		
-		int max= end - plen;
-		for (int i= start; i <= max; ++i) {
-			if (regExpRegionMatches(text, i, p, 0, plen))
-				return i;
-		}
-		return -1;
-	}
-	/**
-	 * 
-	 * @return boolean
-	 * @param <code>text</code>, a String to match
-	 * @param <code>start</code>, int that indicates the starting index of match, inclusive
-	 * @param <code>end</code> int that indicates the ending index of match, exclusive
-	 * @param <code>p</code>, String,  String, a simple regular expression that may contain '?'
-	 * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-	 */
-	protected boolean regExpRegionMatches(String text, int tStart, String p, int pStart, int plen) {
-		while (plen-- > 0) {
-			char tchar= text.charAt(tStart++);
-			char pchar= p.charAt(pStart++);
-
-			/* process wild cards */
-			if (!fIgnoreWildCards) {
-				/* skip single wild cards */
-				if (pchar == fSingleWildCard) {
-					continue;
-				}
-			}
-			if (pchar == tchar)
-				continue;
-			if (fIgnoreCase) {
-				if (Character.toUpperCase(tchar) == Character.toUpperCase(pchar))
-					continue;
-				// comparing after converting to upper case doesn't handle all cases;
-				// also compare after converting to lower case
-				if (Character.toLowerCase(tchar) == Character.toLowerCase(pchar))
-					continue;
-			}
-			return false;
-		}
-		return true;
-	}
-	/** 
-	 * @param <code>text</code>, the string to match
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @param code>p</code>, a string that has no wildcard
-	 * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int textPosIn(String text, int start, int end, String p) { 
-		
-		int plen= p.length();
-		int max= end - plen;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(p, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, p, 0, plen))
-				return i;
-		}
-		
-		return -1;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/ClearDisplayAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/ClearDisplayAction.java
deleted file mode 100644
index 5ad468a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/ClearDisplayAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugImages;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Clears the display.
- */
-public class ClearDisplayAction extends Action {
-	
-	private IWorkbenchPart fWorkbenchPart;
-
-	public ClearDisplayAction(IWorkbenchPart workbenchPart) {
-		fWorkbenchPart= workbenchPart;
-		
-		setText(DisplayMessages.getString("ClearDisplay.label")); //$NON-NLS-1$
-		setToolTipText(DisplayMessages.getString("ClearDisplay.tooltip")); //$NON-NLS-1$
-		setDescription(DisplayMessages.getString("ClearDisplay.description")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IJavaDebugHelpContextIds.CLEAR_DISPLAY_VIEW_ACTION);
-		
-		JavaDebugImages.setLocalImageDescriptors(this, "clear_co.gif"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see Action#run
-	 */
-	public void run() {
-		Object value= fWorkbenchPart.getAdapter(IDataDisplay.class);
-		if (value instanceof IDataDisplay) {
-			IDataDisplay dataDisplay= (IDataDisplay) value;
-			dataDisplay.clear();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DataDisplay.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DataDisplay.java
deleted file mode 100644
index 69c7d86..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DataDisplay.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-
-/**
- * An implementation of a data display for a text viewer
- */
-public class DataDisplay implements IDataDisplay {
-	
-	/**
-	 * The text viewer this data display works on
-	 */
-	private ITextViewer fTextViewer;
-	
-	/**
-	 * Constructs a data display for the given text viewer.
-	 * 
-	 * @param viewer text viewer
-	 */
-	public DataDisplay(ITextViewer viewer) {
-		setTextViewer(viewer);
-	}
-
-	/**
-	 * @see IDataDisplay#clear()
-	 */
-	public void clear() {
-		IDocument document= getTextViewer().getDocument();
-		if (document != null) {
-			document.set(""); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * @see IDataDisplay#displayExpression(String)
-	 */
-	public void displayExpression(String expression) {
-		IDocument document= fTextViewer.getDocument();
-		int offset= document.getLength();
-		try {
-			// add a cariage return if needed.
-			if (offset != document.getLineInformationOfOffset(offset).getOffset()) {
-				expression= System.getProperty("line.separator") + expression.trim(); //$NON-NLS-1$
-			}
-			document.replace(offset, 0, expression);	
-			fTextViewer.setSelectedRange(offset + expression.length(), 0);	
-			fTextViewer.revealRange(offset, expression.length());
-		} catch (BadLocationException ble) {
-			JDIDebugUIPlugin.log(ble);
-		}
-	}		
-	
-	/**
-	 * @see IDataDisplay#displayExpressionValue(String)
-	 */
-	public void displayExpressionValue(String value) {
-		value= System.getProperty("line.separator") + '\t' + value; //$NON-NLS-1$
-		ITextSelection selection= (ITextSelection)fTextViewer.getSelectionProvider().getSelection();
-	
-		int offset= selection.getOffset() + selection.getLength();
-		int length= value.length();
-		try {
-			fTextViewer.getDocument().replace(offset, 0, value);	
-		} catch (BadLocationException ble) {
-			JDIDebugUIPlugin.log(ble);
-		}
-		fTextViewer.setSelectedRange(offset + length, 0);	
-		fTextViewer.revealRange(offset, length);
-	}
-
-	/**
-	 * Sets the text viewer for this data display
-	 * 
-	 * @param viewer text viewer
-	 */
-	private void setTextViewer(ITextViewer viewer) {
-		fTextViewer = viewer;
-	}
-	
-	/**
-	 * Returns the text viewer for this data display
-	 * 
-	 * @return text viewer
-	 */
-	protected ITextViewer getTextViewer() {
-		return fTextViewer;
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DetailsCompletionProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DetailsCompletionProcessor.java
deleted file mode 100644
index 57e51b6..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DetailsCompletionProcessor.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.DebugException;
-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.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.core.IJavaArray;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
- 
-public class DetailsCompletionProcessor extends DisplayCompletionProcessor {
-
-	/**
-	 * @see IContentAssistProcessor#computeCompletionProposals(ITextViewer, int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-		IAdaptable context = DebugUITools.getDebugContext();
-		if (context == null) {
-			return new ICompletionProposal[0];
-		}
-		IJavaStackFrame stackFrame= (IJavaStackFrame)context.getAdapter(IJavaStackFrame.class);
-		if (stackFrame == null) {
-			return new ICompletionProposal[0];
-		}
-		
-		IWorkbenchWindow window= JDIDebugUIPlugin.getActiveWorkbenchWindow();
-		if (window == null) {
-			return new ICompletionProposal[0];
-		}
-		IWorkbenchPage page= window.getActivePage();
-		if (page == null) {
-			return new ICompletionProposal[0];
-		}
-		IDebugView view= (IDebugView)page.getActivePart();
-		if (view == null) {
-			return new ICompletionProposal[0];
-		}
-		ISelection selection= view.getViewer().getSelection();
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
-			return super.computeCompletionProposals(stackFrame, viewer, documentOffset);
-		}
-		
-		IStructuredSelection viewerSelection= (IStructuredSelection)selection;
-		if (viewerSelection.size() > 1) {
-			return new ICompletionProposal[0];
-		}
-		Object element= viewerSelection.getFirstElement();	
-		IJavaProject project= getJavaProject(stackFrame);
-		if (project != null) {
-			try {
-				ITextSelection textSelection= (ITextSelection)viewer.getSelectionProvider().getSelection();			
-				IType receivingType= getReceivingType(project, element);
-					
-				if (receivingType == null) {
-					return new ICompletionProposal[0];
-				}
-		
-				configureResultCollector(project, textSelection);	
-				int insertionPosition= computeInsertionPosition(receivingType, stackFrame);
-				receivingType.codeComplete(viewer.getDocument().get().toCharArray(), insertionPosition, documentOffset,
-					 new char[0][], new char[0][],
-					 new int[0], false, getCollector());
-					 
-				 //Order here and not in result collector to make sure that the order
-				 //applies to all proposals and not just those of the compilation unit. 
-				return order(getCollector().getResults());	
-			} catch (JavaModelException x) {
-				handle(viewer, x);
-			} catch (DebugException de) {
-				handle(viewer, de);
-			}
-		}
-		return null;
-	}
-	
-	private IType getReceivingType(IJavaProject project, Object element) throws DebugException {
-		String originalTypeName= getReceivingTypeName(element);
-		if (originalTypeName == null) {
-			return null;
-		}
-		String typeName= originalTypeName;
-		int dollarIndex= typeName.indexOf('$');
-		if (dollarIndex >= 0) {
-			typeName= typeName.substring(0, dollarIndex);
-		}
-		int index = typeName.lastIndexOf('.');
-		if (index >= 0) {
-			typeName = typeName.replace('.', IPath.SEPARATOR);
-		} 
-		typeName+=".java"; //$NON-NLS-1$
-		
-		return getType(project, originalTypeName, typeName);
-	}
-
-	private String getReceivingTypeName(Object element) {
-		
-		IValue value= null;
-		try {
-			if (element instanceof IVariable) {
-				value= ((IVariable)element).getValue();
-				if (value instanceof IJavaArray) {
-					return null;
-				}
-			} else if (element instanceof IExpression) {
-				value= ((IExpression)element).getValue();	
-			}
-			if (value != null) {
-				return value.getReferenceTypeName();
-			}
-		} catch (DebugException de) {
-			JDIDebugUIPlugin.log(de);
-		}
-				
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DetailsViewerConfiguration.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DetailsViewerConfiguration.java
deleted file mode 100644
index 5de936b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DetailsViewerConfiguration.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-
-public class DetailsViewerConfiguration extends DisplayViewerConfiguration {
-
-	/**
-	 * @see JDIViewerConfiguration#getContentAssistantProcessor()
-	 */
-	public IContentAssistProcessor getContentAssistantProcessor() {
-		return new DetailsCompletionProcessor();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayCompletionProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayCompletionProcessor.java
deleted file mode 100644
index 3cc4856..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayCompletionProcessor.java
+++ /dev/null
@@ -1,448 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.internal.corext.template.ContextType;
-import org.eclipse.jdt.internal.corext.template.ContextTypeRegistry;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComparator;
-import org.eclipse.jdt.internal.ui.text.java.JavaParameterListValidator;
-import org.eclipse.jdt.internal.ui.text.java.ResultCollector;
-import org.eclipse.jdt.internal.ui.text.template.TemplateEngine;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Display snippet completion processor.
- */
-public class DisplayCompletionProcessor implements IContentAssistProcessor {
-		
-	private ResultCollector fCollector;
-	private IContextInformationValidator fValidator;
-	private TemplateEngine fTemplateEngine;
-	
-	private char[] fProposalAutoActivationSet;
-	private JavaCompletionProposalComparator fComparator;
-		
-	public DisplayCompletionProcessor() {
-		fCollector= new ResultCollector();
-		ContextType contextType= ContextTypeRegistry.getInstance().getContextType("java"); //$NON-NLS-1$
-		if (contextType != null) {
-			fTemplateEngine= new TemplateEngine(contextType);
-		}
-		fComparator= new JavaCompletionProposalComparator();
-	}
-	
-	/**
-	 * @see IContentAssistProcessor#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return fCollector.getErrorMessage();
-	}
-
-	/**
-	 * @see IContentAssistProcessor#getContextInformationValidator()
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		if (fValidator == null) {
-			fValidator= new JavaParameterListValidator();
-		}
-		return fValidator;
-	}
-
-	/**
-	 * @see IContentAssistProcessor#getContextInformationAutoActivationCharacters()
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return null;
-	}
-
-	/**
-	 * @see IContentAssistProcessor#computeContextInformation(ITextViewer, int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int offset) {
-		return null;
-	}
-	
-	/**
-	 * @see IContentAssistProcessor#computeProposals(ITextViewer, int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
-		IAdaptable context = DebugUITools.getDebugContext();
-		if (context == null) {
-			return new ICompletionProposal[0];
-		}
-		
-		IJavaStackFrame stackFrame= (IJavaStackFrame)context.getAdapter(IJavaStackFrame.class);
-		if (stackFrame == null) {
-			return new ICompletionProposal[0];
-		}
-			
-		return computeCompletionProposals(stackFrame, viewer, documentOffset);
-	}
-
-	protected ICompletionProposal[] computeCompletionProposals(IJavaStackFrame stackFrame, ITextViewer viewer, int documentOffset) {
-		try {
-			IJavaProject project= getJavaProject(stackFrame);
-			if (project != null) {
-				IType receivingType= getReceivingType(project, stackFrame);
-				
-				if (receivingType == null) {
-					return new ICompletionProposal[0];
-				}
-				IVariable[] variables= stackFrame.getLocalVariables();
-				char[][] localVariableNames= new char[variables.length][];
-				char[][] localVariableTypeNames= new char[variables.length][];
-				resolveLocalVariables(variables, localVariableNames, localVariableTypeNames);
-				
-				ITextSelection selection= (ITextSelection)viewer.getSelectionProvider().getSelection();
-				configureResultCollector(project, selection);	
-				
-				int[] localModifiers= new int[localVariableNames.length];
-				Arrays.fill(localModifiers, 0);
-				
-				int insertionPosition = computeInsertionPosition(receivingType, stackFrame);
-				
-				receivingType.codeComplete(viewer.getDocument().get().toCharArray(), insertionPosition, documentOffset,
-					 localVariableTypeNames, localVariableNames,
-					 localModifiers, stackFrame.isStatic(), fCollector);
-				
-				IJavaCompletionProposal[] results= fCollector.getResults();
-				
-				if (fTemplateEngine != null) {
-					try {
-						fTemplateEngine.reset();
-						fTemplateEngine.complete(viewer, documentOffset, null);
-						IJavaCompletionProposal[] templateResults= fTemplateEngine.getResults();
-
-						// concatenate arrays
-						IJavaCompletionProposal[] total= new IJavaCompletionProposal[results.length + templateResults.length];
-						System.arraycopy(templateResults, 0, total, 0, templateResults.length);
-						System.arraycopy(results, 0, total, templateResults.length, results.length);
-						results= total;
-					} catch (JavaModelException x) {
-						JDIDebugUIPlugin.log(x);
-					}					
-				}	 
-				 //Order here and not in result collector to make sure that the order
-				 //applies to all proposals and not just those of the compilation unit. 
-				return order(results);	
-			}
-		} catch (JavaModelException x) {
-			handle(viewer, x);
-		} catch (DebugException de) {
-			handle(viewer, de);
-		}
-		
-		return null;
-	}
-
-	protected int computeInsertionPosition(IType receivingType, IJavaStackFrame stackFrame) throws JavaModelException, DebugException {
-		int insertion = -1;
-		if (!receivingType.isBinary() && receivingType.getDeclaringType() == null) {
-			ICompilationUnit stackCU= getCompilationUnit(stackFrame);
-			ICompilationUnit typeCU= receivingType.getCompilationUnit();
-			if (typeCU != null && typeCU.equals(stackCU)) {
-				if (stackCU != null) {
-					IDocument doc = new Document(stackCU.getSource());
-					try {
-						insertion = doc.getLineOffset(stackFrame.getLineNumber() - 1);
-					} catch(BadLocationException e) {
-						JDIDebugUIPlugin.log(e);
-					}	
-				}
-			}
-		}
-		return insertion;
-	}
-	
-	/**
-	 * Returns the compliation unit associated with this
-	 * Java stack frame.  Returns <code>null</code> for a binary stack
-	 * frame.
-	 */
-	protected ICompilationUnit getCompilationUnit(IJavaStackFrame stackFrame) {
-		// Get the corresponding element.
-		ILaunch launch = stackFrame.getLaunch();
-		if (launch == null) {
-			return null;
-		}
-		ISourceLocator locator= launch.getSourceLocator();
-		if (locator == null) {
-			return null;
-		}
-		Object sourceElement= locator.getSourceElement(stackFrame);
-		if (sourceElement instanceof IType) {
-			return (ICompilationUnit)((IType)sourceElement).getCompilationUnit();
-		}
-		if (sourceElement instanceof ICompilationUnit) {
-			return (ICompilationUnit)sourceElement;
-		}
-		return null;
-	}
-	
-	protected void handle(ITextViewer viewer, CoreException x) {
-		Shell shell= viewer.getTextWidget().getShell();
-		ErrorDialog.openError(shell,
-			DisplayMessages.getString("DisplayCompletionProcessor.Problems_during_completion_1"), //$NON-NLS-1$
-			DisplayMessages.getString("DisplayCompletionProcessor.An_exception_occurred_during_code_completion_2"), //$NON-NLS-1$ 
-			x.getStatus());  
-		JDIDebugUIPlugin.log(x);
-	}
-	
-	protected void resolveLocalVariables(IVariable[] variables, char[][] localVariableNames, char[][] localVariableTypeNames) throws DebugException {
-		for (int i = 0; i < variables.length; i++) {
-			IVariable variable = variables[i];
-			localVariableNames[i]= variable.getName().toCharArray();
-			localVariableTypeNames[i]= getTranslatedTypeName(variable.getReferenceTypeName()).toCharArray();
-		}
-	}
-	
-	/**
-	 * Returns the Java project associated with the given stack
-	 * frame, or <code>null</code> if none.
-	 */
-	protected IJavaProject getJavaProject(IStackFrame stackFrame) {
-		
-		// Get the corresponding element.
-		ILaunch launch = stackFrame.getLaunch();
-		if (launch == null) {
-			return null;
-		}
-		ISourceLocator locator= launch.getSourceLocator();
-		if (locator == null)
-			return null;
-		
-		Object sourceElement = locator.getSourceElement(stackFrame);
-		if (sourceElement instanceof IJavaElement) {
-			return ((IJavaElement) sourceElement).getJavaProject();
-		}			
-		return null;
-	}	
-	
-	/**
-	 * Order the given proposals.
-	 */
-	protected IJavaCompletionProposal[] order(IJavaCompletionProposal[] proposals) {
-		Arrays.sort(proposals, fComparator);
-		return proposals;	
-	}	
-	
-	/**
-	 * Configures the display result collection for the current code assist session
-	 */
-	protected void configureResultCollector(IJavaProject project, ITextSelection selection) {
-		fCollector.reset(selection.getOffset(), project, null);
-		if (selection.getLength() != 0) {
-			fCollector.setReplacementLength(selection.getLength());
-		} 
-	}
-	
-	/**
-	 * Returns an array of simple type names that are
-	 * part of the given type's qualified name. For
-	 * example, if the given name is <code>x.y.A$B</code>,
-	 * an array with <code>["A", "B"]</code> is returned.
-	 * 
-	 * @param typeName fully qualified type name
-	 * @return array of nested type names
-	 */
-	protected String[] getNestedTypeNames(String typeName) {
-		int index = typeName.lastIndexOf('.');
-		if (index >= 0) {
-			typeName= typeName.substring(index + 1);
-		}
-		index = typeName.indexOf('$');
-		List list = new ArrayList(1);
-		while (index >= 0) {
-			list.add(typeName.substring(0, index));
-			typeName = typeName.substring(index + 1);
-			index = typeName.indexOf('$');
-		}
-		list.add(typeName);
-		return (String[])list.toArray(new String[list.size()]);	
-	}
-	
-	/**
-	 * Returns a copy of the type name with '$' replaced by
-	 * '.', or returns <code>null</code> if the given type
-	 * name refers to an anonymous inner class. 
-	 * 
-	 * @param typeName a fully qualified type name
-	 * @return a copy of the type name with '$' replaced by
-	 * '.', or returns <code>null</code> if the given type
-	 * name refers to an anonymous inner class.
-	 */
-	protected String getTranslatedTypeName(String typeName) {
-		int index = typeName.lastIndexOf('$');
-		if (index == -1) {
-			return typeName;
-		}
-		if (index + 1 > typeName.length()) {
-			// invalid name
-			return typeName;
-		}
-		String last = typeName.substring(index + 1);
-		try {
-			Integer.parseInt(last);
-			return null;
-		} catch (NumberFormatException e) {
-			return typeName.replace('$', '.');
-		}
-	}
-
-
-	/**
-	 * Returns the receiving type of the the given stack frame.
-	 * 
-	 * @return receiving type
-	 * @exception DebugException if:<ul>
-	 * <li>A failure occurs while accessing attributes of 
-	 *  the stack frame</li>
-	 * <li>the resolved type is an inner type</li>
-	 * <li>unable to resolve a type</li>
-	 * </ul>
-	 */
-	private IType getReceivingType(IJavaProject project, IJavaStackFrame frame) throws DebugException {
-		String typeName= frame.getReceivingTypeName();
-		String sourceName= frame.getSourceName();
-		if (sourceName == null || !typeName.equals(frame.getDeclaringTypeName())) {
-			// if there is no debug attribute or the declaring type is not the
-			// same as the receiving type, we must guess at the receiver's source
-			// file
-			int dollarIndex= typeName.indexOf('$');
-			if (dollarIndex >= 0) {
-				typeName= typeName.substring(0, dollarIndex);
-			}
-			typeName = typeName.replace('.', IPath.SEPARATOR);
-			typeName+= ".java";			 //$NON-NLS-1$
-		} else {
-			int index = typeName.lastIndexOf('.');
-			if (index >= 0) {
-				typeName = typeName.substring(0, index + 1);
-				typeName = typeName.replace('.', IPath.SEPARATOR);
-			} else {
-				typeName = ""; //$NON-NLS-1$
-			}
-			typeName+=sourceName;
-		}
-		return getType(project, frame.getReceivingTypeName(), typeName);
-	}
-	
-	/**
-	 * Tells this processor to order the proposals alphabetically.
-	 * 
-	 * @param order <code>true</code> if proposals should be ordered.
-	 */
-	public void orderProposalsAlphabetically(boolean order) {
-		fComparator.setOrderAlphabetically(order);
-	}
-	
-	/**
-	 * @see IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return fProposalAutoActivationSet;
-	}
-	
-	/**
-	 * Sets this processor's set of characters triggering the activation of the
-	 * completion proposal computation.
-	 * 
-	 * @param activationSet the activation set
-	 */
-	public void setCompletionProposalAutoActivationCharacters(char[] activationSet) {
-		fProposalAutoActivationSet= activationSet;
-	}
-	
-	protected ResultCollector getCollector() {
-		return fCollector;
-	}
-
-	protected void setCollector(ResultCollector collector) {
-		fCollector = collector;
-	}
-
-	protected IType getType(IJavaProject project, String originalTypeName, String typeName) throws DebugException {
-		
-		int dollarIndex= typeName.indexOf('$');
-		if (dollarIndex > 0) {
-			typeName= typeName.substring(0, dollarIndex);
-		}
-		IPath sourcePath =  new Path(typeName);
-		IType type = null;
-		try {
-			IJavaElement result= project.findElement(sourcePath);
-			String[] typeNames = getNestedTypeNames(originalTypeName);
-			if (result != null) {
-				if (result instanceof IClassFile) {
-					type = ((IClassFile)result).getType();
-				} else if (result instanceof ICompilationUnit) {
-					type = ((ICompilationUnit)result).getType(typeNames[0]);
-				} else if (result instanceof IType) {
-					type = (IType)result;
-				}
-			}
-			for (int i = 1; i < typeNames.length; i++) {
-				String innerTypeName= typeNames[i];
-				try {
-					Integer.parseInt(innerTypeName);
-					return type;
-				} catch (NumberFormatException e) {
-				}
-				type = type.getType(innerTypeName);
-			}
-		} catch (JavaModelException e) {
-			throw new DebugException(e.getStatus());
-		}
-		
-		return type;	
-	}
-	/**
-	 * Returns the templateEngine.
-	 * @return TemplateEngine
-	 */
-	public TemplateEngine getTemplateEngine() {
-		return fTemplateEngine;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayMessages.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayMessages.java
deleted file mode 100644
index 55442a3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-
-class DisplayMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.jdt.internal.debug.ui.display.DisplayMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private DisplayMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayMessages.properties
deleted file mode 100644
index 0fb2c3e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayMessages.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ClearDisplay.description=Clear the Display
-ClearDisplay.label=Clea&r
-ClearDisplay.tooltip=Clear Display
-
-DisplayCompletionProcessor.An_exception_occurred_during_code_completion_2=An exception occurred during code completion
-DisplayCompletionProcessor.Problems_during_completion_1=Problems during completion
-
-DisplayView.Co&ntent_Assist@Ctrl+Space_1=Co&ntent Assist@Ctrl+Space
-DisplayView.Content_Assist_2=Content Assist
-DisplayView.Copy.description=Copy
-DisplayView.Copy.label=&Copy@Ctrl+C
-DisplayView.Copy.tooltip=Copy
-DisplayView.Cut.description=Cut
-DisplayView.Cut.label=Cu&t@Ctrl+X
-DisplayView.Cut.tooltip=Cut
-DisplayView.Paste.Description=Paste
-DisplayView.Paste.label=&Paste@Ctrl+V
-DisplayView.Paste.tooltip=Paste
-DisplayView.SelectAll.description=Select All
-DisplayView.SelectAll.label=Select &All@Ctrl+A
-DisplayView.SelectAll.tooltip=Select 
-
-find_replace_action.label=&Find/Replace...@Ctrl+F
-find_replace_action.tooltip=Find/Replace
-find_replace_action.image=
-find_replace_action.description=Find/Replace
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayView.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayView.java
deleted file mode 100644
index 2a22837..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayView.java
+++ /dev/null
@@ -1,621 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIContentAssistPreference;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JDISourceViewer;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-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.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextInputListener;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.source.ISourceViewer;
-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.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.custom.VerifyKeyListener;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.texteditor.AbstractTextEditor;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.IUpdate;
-
-public class DisplayView extends ViewPart implements IPropertyChangeListener, ITextInputListener {
-		
-	class DataDisplay implements IDataDisplay {
-		/**
-		 * @see IDataDisplay#clear()
-		 */
-		public void clear() {
-			IDocument document= fSourceViewer.getDocument();
-			if (document != null) {
-				document.set(""); //$NON-NLS-1$
-			}
-		}
-		
-		/**
-		 * @see IDataDisplay#displayExpression(String)
-		 */
-		public void displayExpression(String expression) {
-			IDocument document= fSourceViewer.getDocument();
-			int offset= document.getLength();
-			try {
-				// add a cariage return if needed.
-				if (offset != document.getLineInformationOfOffset(offset).getOffset()) {
-					expression= System.getProperty("line.separator") + expression.trim(); //$NON-NLS-1$
-				}
-				fSourceViewer.getDocument().replace(offset, 0, expression);	
-				fSourceViewer.setSelectedRange(offset + expression.length(), 0);	
-				fSourceViewer.revealRange(offset, expression.length());
-			} catch (BadLocationException ble) {
-				JDIDebugUIPlugin.log(ble);
-			}
-		}		
-		
-		/**
-		 * @see IDataDisplay#displayExpressionValue(String)
-		 */
-		public void displayExpressionValue(String value) {
-			value= System.getProperty("line.separator") + '\t' + value; //$NON-NLS-1$
-			ITextSelection selection= (ITextSelection)fSourceViewer.getSelection();
-
-			int offset= selection.getOffset() + selection.getLength();
-			int length= value.length();
-			try {
-				fSourceViewer.getDocument().replace(offset, 0, value);	
-			} catch (BadLocationException ble) {
-				JDIDebugUIPlugin.log(ble);
-			}
-			fSourceViewer.setSelectedRange(offset + length, 0);	
-			fSourceViewer.revealRange(offset, length);
-		}
-	}	
-		
-	protected IDataDisplay fDataDisplay= new DataDisplay();
-	protected IDocumentListener fDocumentListener= null;
-	
-	protected JDISourceViewer fSourceViewer;
-	protected IAction fClearDisplayAction;
-	protected DisplayViewAction fContentAssistAction;
-
-	protected Map fGlobalActions= new HashMap(4);
-	protected List fSelectionActions= new ArrayList(3);
-
-	protected String fRestoredContents= null;
-	
-	private Font fFont= null;
-	private Color fForegroundColor= null;
-	private Color fBackgroundColor= null;
-	
-	/**
-	 * @see ViewPart#createChild(IWorkbenchPartContainer)
-	 */
-	public void createPartControl(Composite parent) {
-		
-		int styles= SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION;
-		fSourceViewer= new JDISourceViewer(parent, null, styles);
-		fSourceViewer.configure(new DisplayViewerConfiguration());
-		fSourceViewer.getSelectionProvider().addSelectionChangedListener(getSelectionChangedListener());
-		getPreferenceStore().addPropertyChangeListener(this);
-		IDocument doc= getRestoredDocument();
-		setViewerFont(fSourceViewer);
-		setViewerColors(fSourceViewer);
-		fSourceViewer.setDocument(doc);
-		fSourceViewer.addTextInputListener(this);
-		fRestoredContents= null;
-		createActions();
-		initializeToolBar();
-
-		// create context menu
-		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(fSourceViewer.getTextWidget());
-		fSourceViewer.getTextWidget().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, fSourceViewer.getSelectionProvider());
-		
-		getSite().setSelectionProvider(fSourceViewer.getSelectionProvider());
-		WorkbenchHelp.setHelp(fSourceViewer.getTextWidget(), IJavaDebugHelpContextIds.DISPLAY_VIEW);		
-	}
-
-	protected IDocument getRestoredDocument() {
-		IDocument doc= null;
-		if (fRestoredContents != null) {
-			doc= new Document(fRestoredContents);
-		} else {
-			doc= new Document();
-		}
-		JavaTextTools tools= JavaPlugin.getDefault().getJavaTextTools();
-		IDocumentPartitioner partitioner= tools.createDocumentPartitioner();
-		partitioner.connect(doc);
-		doc.setDocumentPartitioner(partitioner);
-		fDocumentListener= new IDocumentListener() {
-			/**
-			 * @see IDocumentListener#documentAboutToBeChanged(DocumentEvent)
-			 */
-			public void documentAboutToBeChanged(DocumentEvent event) {
-			}
-			/**
-			 * @see IDocumentListener#documentChanged(DocumentEvent)
-			 */
-			public void documentChanged(DocumentEvent event) {
-				updateAction(ITextEditorActionConstants.FIND);
-			}
-		};
-		doc.addDocumentListener(fDocumentListener);
-		
-		return doc;
-	}
-	
-	/**
-	 * @see IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (fSourceViewer != null) {
-			fSourceViewer.getControl().setFocus();
-		}
-	}
-	
-	/**
-	 * Initialize the actions of this view
-	 */
-	protected void createActions() {
-				
-		fClearDisplayAction= new ClearDisplayAction(this);
-
-		IActionBars actionBars = getViewSite().getActionBars();		
-		
-		IAction action= new DisplayViewAction(this, ITextOperationTarget.CUT);
-		action.setText(DisplayMessages.getString("DisplayView.Cut.label")); //$NON-NLS-1$
-		action.setToolTipText(DisplayMessages.getString("DisplayView.Cut.tooltip")); //$NON-NLS-1$
-		action.setDescription(DisplayMessages.getString("DisplayView.Cut.description")); //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.CUT, action);
-		
-		action= new DisplayViewAction(this, ITextOperationTarget.COPY);
-		action.setText(DisplayMessages.getString("DisplayView.Copy.label")); //$NON-NLS-1$
-		action.setToolTipText(DisplayMessages.getString("DisplayView.Copy.tooltip")); //$NON-NLS-1$
-		action.setDescription(DisplayMessages.getString("DisplayView.Copy.description")); //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.COPY, action);
-		
-		action= new DisplayViewAction(this, ITextOperationTarget.PASTE);
-		action.setText(DisplayMessages.getString("DisplayView.Paste.label")); //$NON-NLS-1$
-		action.setToolTipText(DisplayMessages.getString("DisplayView.Paste.tooltip")); //$NON-NLS-1$
-		action.setDescription(DisplayMessages.getString("DisplayView.Paste.Description")); //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.PASTE, action);
-		
-		action= new DisplayViewAction(this, ITextOperationTarget.SELECT_ALL);
-		action.setText(DisplayMessages.getString("DisplayView.SelectAll.label")); //$NON-NLS-1$
-		action.setToolTipText(DisplayMessages.getString("DisplayView.SelectAll.tooltip")); //$NON-NLS-1$
-		action.setDescription(DisplayMessages.getString("DisplayView.SelectAll.description")); //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.SELECT_ALL, action);
-		
-		//XXX Still using "old" resource access
-		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.jdt.internal.debug.ui.display.DisplayMessages"); //$NON-NLS-1$
-		setGlobalAction(actionBars, ITextEditorActionConstants.FIND, new FindReplaceAction(bundle, "find_replace_action.", this)); //$NON-NLS-1$
-		
-		fSelectionActions.add(ITextEditorActionConstants.CUT);
-		fSelectionActions.add(ITextEditorActionConstants.COPY);
-		fSelectionActions.add(ITextEditorActionConstants.PASTE);
-		
-		fContentAssistAction= new DisplayViewAction(this, ISourceViewer.CONTENTASSIST_PROPOSALS);
-		fContentAssistAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		fContentAssistAction.setText(DisplayMessages.getString("DisplayView.Co&ntent_Assist@Ctrl+Space_1")); //$NON-NLS-1$
-		fContentAssistAction.setDescription(DisplayMessages.getString("DisplayView.Content_Assist_2")); //$NON-NLS-1$
-		fContentAssistAction.setToolTipText(DisplayMessages.getString("DisplayView.Content_Assist_2")); //$NON-NLS-1$
-		fContentAssistAction.setImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_ELCL_CONTENT_ASSIST));
-		fContentAssistAction.setHoverImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_LCL_CONTENT_ASSIST));
-		fContentAssistAction.setDisabledImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_DLCL_CONTENT_ASSIST));
-		actionBars.updateActionBars();
-		
-		// hook CRTL-Space, and use the retargetable content assist action for code assist.
-		// This ensures code assist works even if a java editor is not present
-		addVerifyKeyListener();
-		getSite().getKeyBindingService().registerAction(fContentAssistAction);
-	}
-	
-	protected void addVerifyKeyListener() {
-		fSourceViewer.getTextWidget().addVerifyKeyListener(new VerifyKeyListener() {
-			public void verifyKey(VerifyEvent event) {
-				//do code assist for CTRL-SPACE
-				if (event.stateMask == SWT.CTRL && event.keyCode == 0) {
-					if (event.character == 0x20) {
-						if(fContentAssistAction.isEnabled()) {
-							fContentAssistAction.run();
-							event.doit= false;
-						}
-					}
-				}
-			}
-		});
-	}	
-	
-	protected void setGlobalAction(IActionBars actionBars, String actionID, IAction action) {
-		fGlobalActions.put(actionID, action);
-		actionBars.setGlobalActionHandler(actionID, action);
-	}
-
-	/**
-	 * Configures the toolBar.
-	 */
-	protected void initializeToolBar() {
-		IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager();
-		tbm.add(new Separator(IJavaDebugUIConstants.EVALUATION_GROUP));
-		tbm.add(fClearDisplayAction);
-		getViewSite().getActionBars().updateActionBars();
-	}
-
-	/**
-	 * Adds the context menu actions for the display view.
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		
-		if (fSourceViewer.getDocument() == null) {
-			return;
-		} 
-		menu.add(new Separator(IJavaDebugUIConstants.EVALUATION_GROUP));
-		if (DebugUITools.getDebugContext() != null) {
-			menu.add(fContentAssistAction);
-		}
-		menu.add(new Separator());		
-		menu.add((IAction) fGlobalActions.get(ITextEditorActionConstants.CUT));
-		menu.add((IAction) fGlobalActions.get(ITextEditorActionConstants.COPY));
-		menu.add((IAction) fGlobalActions.get(ITextEditorActionConstants.PASTE));
-		menu.add((IAction) fGlobalActions.get(ITextEditorActionConstants.SELECT_ALL));
-		menu.add(new Separator());
-		menu.add((IAction) fGlobalActions.get(ITextEditorActionConstants.FIND));
-		menu.add(fClearDisplayAction);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	/**
-	 * @see WorkbenchPart#getAdapter(Class)
-	 */
-	public Object getAdapter(Class required) {
-			
-		if (ITextOperationTarget.class.equals(required)) {
-			return fSourceViewer.getTextOperationTarget();
-		}
-		
-		if (IFindReplaceTarget.class.equals(required)) {
-			return fSourceViewer.getFindReplaceTarget();
-		}
-			
-		if (IDataDisplay.class.equals(required)) {
-			return fDataDisplay;
-		}
-		
-		return super.getAdapter(required);
-	}
-	
-	protected void updateActions() {
-		Iterator iterator = fSelectionActions.iterator();
-		while (iterator.hasNext()) {
-			IAction action = (IAction) fGlobalActions.get((String)iterator.next());
-			if (action instanceof IUpdate) {
-				 ((IUpdate) action).update();
-			}
-		}
-	}		
-	
-	/**
-	 * Saves the contents of the display view and the formatting.
-	 * 
-	 * @see IViewPart#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		if (fSourceViewer != null) {
-			IDocument doc= fSourceViewer.getDocument();
-			String contents= doc.get().trim();
-			memento.putTextData(contents);
-		} else if (fRestoredContents != null) {
-			memento.putTextData(fRestoredContents);
-		}
-	}
-	
-	/**
-	 * Restores the contents of the display view and the formatting.
-	 * 
-	 * @see IViewPart#init(IViewSite, IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		init(site);
-		if (memento != null) {
-			fRestoredContents= memento.getTextData();
-		}
-	}
-	
-	/**
-	 * Returns the entire contents of the current document.
-	 */
-	protected String getContents() {
-		return fSourceViewer.getDocument().get();
-	}	
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		IContentAssistant assistant= fSourceViewer.getContentAssistant();
-		if (assistant instanceof ContentAssistant) {
-			JDIContentAssistPreference.changeConfiguration((ContentAssistant) assistant, event);
-		}
-		String property= event.getProperty();
-		
-		if (JFaceResources.TEXT_FONT.equals(property)) {
-			setViewerFont(fSourceViewer);
-		}
-		if (AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND.equals(property) || AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT.equals(property) ||
-			AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND.equals(property) ||	AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT.equals(property)) {
-			setViewerColors(fSourceViewer);
-		}
-		if (affectsTextPresentation(event)) {
-			fSourceViewer.invalidateTextPresentation();
-		}
-	}
-
-	/**
-	 * @see WorkbenchPart#dispose()
-	 */	
-	public void dispose() {
-		if (getFont() != null) {
-			getFont().dispose();
-			setFont(null);
-		}
-		if (getBackgroundColor() != null) {
-			getBackgroundColor().dispose();
-			setBackgroundColor(null);
-		}
-		if (getForegroundColor() != null) {
-			getForegroundColor().dispose();
-			setForegroundColor(null);
-		}
-		getPreferenceStore().removePropertyChangeListener(this);
-		super.dispose();
-	}
-	
-	protected IPreferenceStore getPreferenceStore() {
-		AbstractUIPlugin p= (AbstractUIPlugin)Platform.getPlugin(JavaUI.ID_PLUGIN);
-		return p.getPreferenceStore();
-	}
-	
-	private void setViewerFont(ISourceViewer viewer) {
-		IPreferenceStore store= getPreferenceStore();
-		if (store != null) {
-			FontData data= null;
-			
-			if (store.contains(JFaceResources.TEXT_FONT) && !store.isDefault(JFaceResources.TEXT_FONT)) {
-				data= PreferenceConverter.getFontData(store, JFaceResources.TEXT_FONT);
-			} else {
-				data= PreferenceConverter.getDefaultFontData(store, JFaceResources.TEXT_FONT);
-			}
-			
-			if (data != null) {
-				
-				Font font= new Font(viewer.getTextWidget().getDisplay(), data);
-				setFont(viewer, font);
-				
-				if (getFont() != null) {
-					getFont().dispose();
-				}
-				setFont(font);
-				return;
-			}
-		}
-		
-		// if all the preferences failed
-		setFont(viewer, JFaceResources.getTextFont());
-	}
-	
-	/**
-	 * Initializes the given viewer's colors.
-	 * 
-	 * @param viewer the viewer to be initialized
-	 */
-	private void setViewerColors(ISourceViewer viewer) {
-		IPreferenceStore store= getPreferenceStore();
-		if (store != null) {
-			
-			StyledText styledText= viewer.getTextWidget();
-			Color color= store.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT)
-				? null
-				: createColor(store, AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND, styledText.getDisplay());
-			styledText.setForeground(color);
-				
-			if (getForegroundColor() != null) {
-				getForegroundColor().dispose();
-			}
-			
-			setForegroundColor(color);
-			
-			color= store.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT)
-				? null
-				: createColor(store, AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND, styledText.getDisplay());
-			styledText.setBackground(color);
-				
-			if (getBackgroundColor() != null) {
-				getBackgroundColor().dispose();
-			}
-				
-			setBackgroundColor(color);
-		}
-	}
-	
-	/**
-	 * Creates a color from the information stored in the given preference store.
-	 * Returns <code>null</code> if there is no such information available.
-	 */
-	private Color createColor(IPreferenceStore store, String key, Display display) {
-	
-		RGB rgb= null;		
-		
-		if (store.contains(key)) {
-			
-			if (store.isDefault(key)) {
-				rgb= PreferenceConverter.getDefaultColor(store, key);
-			} else {
-				rgb= PreferenceConverter.getColor(store, key);
-			}
-			if (rgb != null) {
-				return new Color(display, rgb);
-			}
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * Sets the font for the given viewer sustaining selection and scroll position.
-	 * 
-	 * @param sourceViewer the source viewer
-	 * @param font the font
-	 */
-	private void setFont(ISourceViewer sourceViewer, Font font) {
-		IDocument doc= sourceViewer.getDocument();
-		if (doc != null && doc.getLength() > 0) {
-			Point selection= sourceViewer.getSelectedRange();
-			int topIndex= sourceViewer.getTopIndex();
-			
-			StyledText styledText= sourceViewer.getTextWidget();
-			styledText.setRedraw(false);
-			
-			styledText.setFont(font);
-			sourceViewer.setSelectedRange(selection.x , selection.y);
-			sourceViewer.setTopIndex(topIndex);
-			
-			styledText.setRedraw(true);
-		} else {
-			sourceViewer.getTextWidget().setFont(font);
-		}	
-	}
-	
-	protected Font getFont() {
-		return fFont;
-	}
-	
-	protected void setFont(Font font) {
-		fFont = font;
-	}
-	
-	/**
-	 * @see AbstractTextEditor#affectsTextPresentation(PropertyChangeEvent)
-	 */
-	protected boolean affectsTextPresentation(PropertyChangeEvent event) {
-		JavaTextTools textTools= JavaPlugin.getDefault().getJavaTextTools();
-		return textTools.affectsBehavior(event);
-	}
-	
-	protected final ISelectionChangedListener getSelectionChangedListener() {
-		return new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					updateSelectionDependentActions();
-				}
-			};
-	}
-	
-	protected void updateSelectionDependentActions() {
-		Iterator iterator= fSelectionActions.iterator();
-		while (iterator.hasNext())
-			updateAction((String)iterator.next());		
-	}
-
-
-	protected void updateAction(String actionId) {
-		IAction action= (IAction)fGlobalActions.get(actionId);
-		if (action instanceof IUpdate) {
-			((IUpdate) action).update();
-		}
-	}
-	protected Color getBackgroundColor() {
-		return fBackgroundColor;
-	}
-
-	protected void setBackgroundColor(Color backgroundColor) {
-		fBackgroundColor = backgroundColor;
-	}
-
-	protected Color getForegroundColor() {
-		return fForegroundColor;
-	}
-
-	protected void setForegroundColor(Color foregroundColor) {
-		fForegroundColor = foregroundColor;
-	}
-	/**
-	 * @see ITextInputListener#inputDocumentAboutToBeChanged(IDocument, IDocument)
-	 */
-	public void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput) {
-	}
-
-	/**
-	 * @see ITextInputListener#inputDocumentChanged(IDocument, IDocument)
-	 */
-	public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-		oldInput.removeDocumentListener(fDocumentListener);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayViewAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayViewAction.java
deleted file mode 100644
index f470f31..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayViewAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.ui.texteditor.IUpdate;
-
-
-public class DisplayViewAction extends Action implements IUpdate {
-	
-	/** The text operation code */
-	private int fOperationCode= -1;
-	/** The text operation target */
-	private ITextOperationTarget fOperationTarget;
-	/** The text operation target provider */
-	private IAdaptable fTargetProvider;
-	
-	
-	public DisplayViewAction(ITextOperationTarget target, int operationCode) {
-		super();
-		fOperationTarget= target;
-		fOperationCode= operationCode;
-		update();
-	}
-		
-	public DisplayViewAction(IAdaptable targetProvider, int operationCode) {
-		super();
-		fTargetProvider= targetProvider;
-		fOperationCode= operationCode;
-		update();
-	}
-	
-	/**
-	 * The <code>TextOperationAction</code> implementation of this 
-	 * <code>IAction</code> method runs the operation with the current
-	 * operation code.
-	 */
-	public void run() {
-		if (fOperationCode != -1 && fOperationTarget != null)
-			fOperationTarget.doOperation(fOperationCode);
-	}
-	
-	/**
-	 * The <code>TextOperationAction</code> implementation of this 
-	 * <code>IUpdate</code> method discovers the operation through the current
-	 * editor's <code>ITextOperationTarget</code> adapter, and sets the
-	 * enabled state accordingly.
-	 */
-	public void update() {
-		if (fOperationTarget == null && fTargetProvider != null && fOperationCode != -1){
-			fOperationTarget= (ITextOperationTarget) fTargetProvider.getAdapter(ITextOperationTarget.class);
-		}
-	
-		boolean isEnabled= (fOperationTarget != null && fOperationTarget.canDoOperation(fOperationCode));
-		setEnabled(isEnabled);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayViewerConfiguration.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayViewerConfiguration.java
deleted file mode 100644
index ee2fb49..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/DisplayViewerConfiguration.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-import org.eclipse.jdt.internal.debug.ui.JDIContentAssistPreference;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.source.ISourceViewer;
-
-/**
- *  The source viewer configuration for the Display view
- */
-public class DisplayViewerConfiguration extends JavaSourceViewerConfiguration {
-		
-	public DisplayViewerConfiguration() {
-		super(JavaPlugin.getDefault().getJavaTextTools(), null);
-	}
-
-	/**
-	 * @see JDIViewerConfiguration#getContentAssistantProcessor()
-	 */
-	public IContentAssistProcessor getContentAssistantProcessor() {
-		return new DisplayCompletionProcessor();
-	}
-	
-	/**
-	 * @see SourceViewerConfiguration#getContentAssistant(ISourceViewer)
-	 */
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-
-		ContentAssistant assistant = new ContentAssistant();
-		assistant.setContentAssistProcessor(
-			getContentAssistantProcessor(),
-			IDocument.DEFAULT_CONTENT_TYPE);
-
-		JDIContentAssistPreference.configure(assistant, getColorManager());
-
-		assistant.setContextInformationPopupOrientation(ContentAssistant.CONTEXT_INFO_ABOVE);
-		assistant.setInformationControlCreator(
-			getInformationControlCreator(sourceViewer));
-
-		return assistant;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/IDataDisplay.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/IDataDisplay.java
deleted file mode 100644
index 9ccf207..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/IDataDisplay.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.internal.debug.ui.display;
-
-
-public interface IDataDisplay {
-	
-	/**
-	 * Clears the content of this data display.
-	 */
-	public void clear();
-	
-	/**
-	 * Displays the expression in the content of this data
-	 * display.
-	 */
-	public void displayExpression(String expression);
-	
-	/**
-	 * Displays the expression valur in the content of this data
-	 * display.
-	 */
-	public void displayExpressionValue(String value);
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/JavaInspectExpression.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/JavaInspectExpression.java
deleted file mode 100644
index e1bc25a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/display/JavaInspectExpression.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.display;
-
- 
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.jdt.debug.core.IJavaValue;
-
-/**
- * An implementation of an expression produced from the
- * inspect action. An inspect expression removes
- * itself from the expression manager when its debug
- * target terminates.
- */
-public class JavaInspectExpression extends PlatformObject implements IExpression, IDebugEventSetListener {
-	
-	/**
-	 * The value of this expression
-	 */
-	private IJavaValue fValue;
-	
-	/**
-	 * The code snippet for this expression.
-	 */
-	private String fExpression;
-
-	/**
-	 * Constucts a new inspect result for the given
-	 * expression and resulting value. Starts listening
-	 * to debug events such that this element will remove
-	 * itself from the expression manager when its debug
-	 * target terminates.
-	 * 
-	 * @param expression code snippet
-	 * @param value value of the expression
-	 */
-	public JavaInspectExpression(String expression, IJavaValue value) {
-		fValue = value;
-		fExpression = expression;
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/**
-	 * @see IExpression#getExpressionText()
-	 */
-	public String getExpressionText() {
-		return fExpression;
-	}
-
-	/**
-	 * @see IExpression#getValue()
-	 */
-	public IValue getValue() {
-		return fValue;
-	}
-
-	/**
-	 * @see IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return getValue().getDebugTarget();
-	}
-
-	/**
-	 * @see IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		return getValue().getModelIdentifier();
-	}
-
-	/**
-	 * @see IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return getValue().getLaunch();
-	}
-
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.TERMINATE && event.getSource().equals(getDebugTarget())) {
-				DebugPlugin.getDefault().getExpressionManager().removeExpression(this);
-			}
-		}
-	}
-
-	/**
-	 * @see IExpression#dispose()
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().removeDebugEventListener(this);		
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AddVMDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AddVMDialog.java
deleted file mode 100644
index eee6642..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AddVMDialog.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ComboDialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.StringButtonDialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField;
-import org.eclipse.jdt.launching.AbstractVMInstallType;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.VMStandin;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class AddVMDialog extends StatusDialog {
-
-	private IAddVMDialogRequestor fRequestor;
-	
-	private IVMInstall fEditedVM;
-
-	private IVMInstallType[] fVMTypes;
-	private IVMInstallType fSelectedVMType;
-	
-	private ComboDialogField fVMTypeCombo;
-	private VMLibraryBlock fLibraryBlock;
-	
-	private StringButtonDialogField fJRERoot;
-	private StringDialogField fVMName;
-
-	private StringButtonDialogField fJavadocURL;
-	private boolean fAutoDetectJavadocLocation = false;
-	
-	private IDialogSettings fDialogSettings;
-	
-	private IStatus[] fStati;
-		
-	public AddVMDialog(IAddVMDialogRequestor requestor, Shell shell, IVMInstallType[] vmInstallTypes, IVMInstall editedVM) {
-		super(shell);
-		fRequestor= requestor;
-		fStati= new IStatus[5];
-		for (int i= 0; i < fStati.length; i++) {
-			fStati[i]= new StatusInfo();
-		}
-		
-		fVMTypes= vmInstallTypes;
-		fSelectedVMType= editedVM != null ? editedVM.getVMInstallType() : vmInstallTypes[0];
-		
-		fEditedVM= editedVM;
-		
-		fDialogSettings= JDIDebugUIPlugin.getDefault().getDialogSettings();
-		
-		//only detect the javadoc location if not already set
-		fAutoDetectJavadocLocation = fEditedVM == null || fEditedVM.getJavadocLocation() == null;
-	}
-	
-	/**
-	 * @see Windows#configureShell
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		WorkbenchHelp.setHelp(newShell, IJavaDebugHelpContextIds.EDIT_JRE_DIALOG);
-	}		
-	
-	protected void createDialogFields() {
-		fVMTypeCombo= new ComboDialogField(SWT.READ_ONLY);
-		fVMTypeCombo.setLabelText(LauncherMessages.getString("addVMDialog.jreType")); //$NON-NLS-1$
-		fVMTypeCombo.setItems(getVMTypeNames());
-		fVMTypeCombo.setDialogFieldListener(new IDialogFieldListener() {
-			public void dialogFieldChanged(DialogField field) {
-				updateVMType();
-			}
-		});
-		
-		fVMName= new StringDialogField();
-		fVMName.setLabelText(LauncherMessages.getString("addVMDialog.jreName")); //$NON-NLS-1$
-		fVMName.setDialogFieldListener(new IDialogFieldListener() {
-			public void dialogFieldChanged(DialogField field) {
-				setVMNameStatus(validateVMName());
-				updateStatusLine();
-			}
-		});
-		
-		fJRERoot= new StringButtonDialogField(new IStringButtonAdapter() {
-			public void changeControlPressed(DialogField field) {
-				browseForInstallDir();
-			}
-		});
-		fJRERoot.setLabelText(LauncherMessages.getString("addVMDialog.jreHome")); //$NON-NLS-1$
-		fJRERoot.setButtonLabel(LauncherMessages.getString("addVMDialog.browse1")); //$NON-NLS-1$
-		fJRERoot.setDialogFieldListener(new IDialogFieldListener() {
-			public void dialogFieldChanged(DialogField field) {
-				setJRELocationStatus(validateJRELocation());
-				updateStatusLine();
-			}
-		});
-	
-		fJavadocURL = new StringButtonDialogField(new IStringButtonAdapter() {
-			public void changeControlPressed(DialogField field) {
-				browseForJavadocURL();
-			}
-		});
-		fJavadocURL.setLabelText(LauncherMessages.getString("AddVMDialog.Java&doc_URL__1")); //$NON-NLS-1$
-		fJavadocURL.setButtonLabel(LauncherMessages.getString("AddVMDialog.Bro&wse..._2")); //$NON-NLS-1$
-		fJavadocURL.setDialogFieldListener(new IDialogFieldListener() {
-			public void dialogFieldChanged(DialogField field) {
-				setJavadocURLStatus(validateJavadocURL());
-				updateStatusLine();
-			}
-		});
-	}
-	
-	protected String getVMName() {
-		return fVMName.getText();
-	}
-		
-	protected File getInstallLocation() {
-		return new File(fJRERoot.getText());
-	}
-		
-	protected Control createDialogArea(Composite ancestor) {
-		Font font = ancestor.getFont();
-		initializeDialogUnits(ancestor);
-		createDialogFields();
-		Composite parent= new Composite(ancestor, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 3;
-		parent.setLayout(layout);
-		parent.setFont(font);
-		
-		fVMTypeCombo.doFillIntoGrid(parent, 3);
-		((GridData)fVMTypeCombo.getComboControl(null).getLayoutData()).widthHint= convertWidthInCharsToPixels(50);
-
-		fVMName.doFillIntoGrid(parent, 3);
-	
-		fJRERoot.doFillIntoGrid(parent, 3);
-		
-		fJavadocURL.doFillIntoGrid(parent, 3);
-		
-		Label l = new Label(parent, SWT.NONE);
-		l.setText(LauncherMessages.getString("AddVMDialog.JRE_system_libraries__1")); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 3;
-		l.setLayoutData(gd);
-		l.setFont(font);		
-		
-		fLibraryBlock = new VMLibraryBlock(this);
-		Control block = fLibraryBlock.createControl(parent);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 3;
-		block.setLayoutData(gd);
-		
-		Text t= fJRERoot.getTextControl(parent);
-		gd= (GridData)t.getLayoutData();
-		gd.grabExcessHorizontalSpace=true;
-		gd.widthHint= convertWidthInCharsToPixels(50);
-		
-		t= fJavadocURL.getTextControl(parent);
-		gd= (GridData)t.getLayoutData();
-		gd.grabExcessHorizontalSpace=true;
-		gd.widthHint= convertWidthInCharsToPixels(50);
-		
-		initializeFields();
-		
-		return parent;
-	}
-	
-	private void updateVMType() {
-		int selIndex= fVMTypeCombo.getSelectionIndex();
-		if (selIndex >= 0 && selIndex < fVMTypes.length) {
-			fSelectedVMType= fVMTypes[selIndex];
-		}
-		setJRELocationStatus(validateJRELocation());
-		fLibraryBlock.initializeFrom(fEditedVM, fSelectedVMType);
-		updateStatusLine();
-	}	
-	
-	public void create() {
-		super.create();
-		fVMName.setFocus();
-		selectVMType();  
-	}
-	
-	private String[] getVMTypeNames() {
-		String[] names=  new String[fVMTypes.length];
-		for (int i= 0; i < fVMTypes.length; i++) {
-			names[i]= fVMTypes[i].getName();
-		}
-		return names;
-	}
-	
-	private void selectVMType() {
-		for (int i= 0; i < fVMTypes.length; i++) {
-			if (fSelectedVMType == fVMTypes[i]) {
-				fVMTypeCombo.selectItem(i);
-				return;
-			}
-		}
-	}
-	
-	private void initializeFields() {
-		fVMTypeCombo.setItems(getVMTypeNames());
-		if (fEditedVM == null) {
-			fVMName.setText(""); //$NON-NLS-1$
-			fJRERoot.setText(""); //$NON-NLS-1$
-			fJavadocURL.setText(""); //$NON-NLS-1$
-			fLibraryBlock.initializeFrom(null, fSelectedVMType);
-		} else {
-			fVMTypeCombo.setEnabled(false);
-			fVMName.setText(fEditedVM.getName());
-			fJRERoot.setText(fEditedVM.getInstallLocation().getAbsolutePath());
-			URL url = fEditedVM.getJavadocLocation();
-			if (url == null) {
-				fJavadocURL.setText(""); //$NON-NLS-1$
-			} else {
-				fJavadocURL.setText(url.toExternalForm());
-			}
-			fLibraryBlock.initializeFrom(fEditedVM, fSelectedVMType);
-		}
-	}
-	
-	private IVMInstallType getVMType() {
-		return fSelectedVMType;
-	}
-	
-	private IStatus validateJRELocation() {
-		String locationName= fJRERoot.getText();
-		IStatus s = null;
-		File file = null;
-		if (locationName.length() == 0) {//$NON-NLS-1$
-			s = new StatusInfo(IStatus.INFO, LauncherMessages.getString("addVMDialog.enterLocation")); //$NON-NLS-1$
-		} else {
-			file= new File(locationName);
-			if (!file.exists()) {
-				s = new StatusInfo(IStatus.ERROR, LauncherMessages.getString("addVMDialog.locationNotExists")); //$NON-NLS-1$
-			} else {
-				final IStatus[] temp = new IStatus[1];
-				final File tempFile = file; 
-				Runnable r = new Runnable() {
-					/**
-					 * @see java.lang.Runnable#run()
-					 */
-					public void run() {
-						temp[0] = getVMType().validateInstallLocation(tempFile);
-					}
-				};
-				BusyIndicator.showWhile(getShell().getDisplay(), r);
-				s = temp[0];
-			}
-		}
-		if (s.isOK()) {
-			fLibraryBlock.setHomeDirectory(file);
-		} else {
-			fLibraryBlock.setHomeDirectory(null);
-		}
-		fLibraryBlock.update();
-		detectJavadocLocation();
-		return s;
-	}
-	
-	private IStatus validateJavadocURL() {
-		String text = fJavadocURL.getText();
-		if (text != null && text.length() > 0) {
-			try {
-				new URL(text);
-			} catch (MalformedURLException e) {
-				return new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, LauncherMessages.getString("AddVMDialog.Invalid_URL_syntax_specified_for_Javadoc_location._1"), e); //$NON-NLS-1$
-			}
-		}
-		return new StatusInfo();
-	}
-	
-	/**
-	 * Auto-detects the default javadoc location
-	 */
-	private void detectJavadocLocation() {
-		if (fAutoDetectJavadocLocation) {
-			if (getVMType() instanceof AbstractVMInstallType) {
-				AbstractVMInstallType type = (AbstractVMInstallType)getVMType();
-				URL url = type.getDefaultJavadocLocation(getInstallLocation());
-				if (url == null) { 
-					fJavadocURL.setText(""); //$NON-NLS-1$
-				} else {
-					fJavadocURL.setText(url.toExternalForm());
-				}
-			}
-		}
-	}
-
-	private IStatus validateVMName() {
-		StatusInfo status= new StatusInfo();
-		String name= fVMName.getText();
-		if (name == null || name.trim().length() == 0) {
-			status.setInfo(LauncherMessages.getString("addVMDialog.enterName")); //$NON-NLS-1$
-		} else {
-			if (fRequestor.isDuplicateName(name) && (fEditedVM == null || !name.equals(fEditedVM.getName()))) {
-				status.setError(LauncherMessages.getString("addVMDialog.duplicateName")); //$NON-NLS-1$
-			} else {
-				IStatus s = ResourcesPlugin.getWorkspace().validateName(name, IResource.FILE);
-				if (!s.isOK()) {
-					status.setError(MessageFormat.format(LauncherMessages.getString("AddVMDialog.JRE_name_must_be_a_valid_file_name__{0}_1"), new String[]{s.getMessage()})); //$NON-NLS-1$
-				}
-			}
-		}
-		return status;
-	}
-	
-	protected void updateStatusLine() {
-		IStatus max= null;
-		for (int i= 0; i < fStati.length; i++) {
-			IStatus curr= fStati[i];
-			if (curr.matches(IStatus.ERROR)) {
-				updateStatus(curr);
-				return;
-			}
-			if (max == null || curr.getSeverity() > max.getSeverity()) {
-				max= curr;
-			}
-		}
-		updateStatus(max);
-	}
-			
-	private void browseForInstallDir() {
-		DirectoryDialog dialog= new DirectoryDialog(getShell());
-		dialog.setFilterPath(fJRERoot.getText());
-		dialog.setMessage(LauncherMessages.getString("addVMDialog.pickJRERootDialog.message")); //$NON-NLS-1$
-		String newPath= dialog.open();
-		if (newPath != null) {
-			fJRERoot.setText(newPath);
-		}
-	}
-	
-	private void browseForJavadocURL() {
-		DirectoryDialog dialog= new DirectoryDialog(getShell());
-		
-		String initPath= ""; //$NON-NLS-1$
-		URL url = getURL();
-		if (url != null && "file".equals(url.getProtocol())) { //$NON-NLS-1$
-			initPath= (new File(url.getFile())).getPath();
-		}
-
-		dialog.setFilterPath(initPath);
-		dialog.setMessage(LauncherMessages.getString("AddVMDialog.Select_Javadoc_location__3")); //$NON-NLS-1$
-		String res = dialog.open();
-		if (res != null) {
-			try {
-				url = (new File(res)).toURL();
-				fJavadocURL.setText(url.toExternalForm());
-			} catch (MalformedURLException e) {
-				// should not happen
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-	}	
-	
-	protected URL getURL() {
-		try {
-			return new URL(fJavadocURL.getText());
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-	
-	protected void okPressed() {
-		doOkPressed();
-		super.okPressed();
-	}
-	
-	private void doOkPressed() {
-		if (fEditedVM == null) {
-			IVMInstall vm= new VMStandin(fSelectedVMType, createUniqueId(fSelectedVMType));
-			setFieldValuesToVM(vm);
-			fRequestor.vmAdded(vm);
-		} else {
-			setFieldValuesToVM(fEditedVM);
-		}
-	}
-	
-	private String createUniqueId(IVMInstallType vmType) {
-		String id= null;
-		do {
-			id= String.valueOf(System.currentTimeMillis());
-		} while (vmType.findVMInstall(id) != null);
-		return id;
-	}
-	
-	protected void setFieldValuesToVM(IVMInstall vm) {
-		vm.setInstallLocation(new File(fJRERoot.getText()).getAbsoluteFile());
-		vm.setName(fVMName.getText());
-		vm.setJavadocLocation(getURL());
-		fLibraryBlock.performApply(vm);
-	}
-	
-	protected File getAbsoluteFileOrEmpty(String path) {
-		if (path == null || path.length() == 0) {
-			return new File(""); //$NON-NLS-1$
-		}
-		return new File(path).getAbsoluteFile();
-	}
-	
-	private void setVMNameStatus(IStatus status) {
-		fStati[0]= status;
-	}
-	
-	private void setJRELocationStatus(IStatus status) {
-		fStati[1]= status;
-	}
-	
-	private void setJavadocURLStatus(IStatus status) {
-		fStati[2] = status;
-	}
-	
-	protected IStatus getSystemLibraryStatus() {
-		return fStati[3];
-	}
-	
-	protected void setSystemLibraryStatus(IStatus status) {
-		fStati[3]= status;
-	}
-	
-	/**
-	 * Updates the status of the ok button to reflect the given status.
-	 * Subclasses may override this method to update additional buttons.
-	 * @param status the status.
-	 */
-	protected void updateButtonsEnableState(IStatus status) {
-		Button ok = getButton(IDialogConstants.OK_ID);
-		if (ok != null && !ok.isDisposed())
-			ok.setEnabled(status.getSeverity() == IStatus.OK);
-	}	
-	
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#setButtonLayoutData(org.eclipse.swt.widgets.Button)
-	 */
-	protected void setButtonLayoutData(Button button) {
-		super.setButtonLayoutData(button);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletLaunchConfigurationUtils.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletLaunchConfigurationUtils.java
deleted file mode 100644
index de465df..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletLaunchConfigurationUtils.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.ISourceReference;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.IFileEditorInput;
-
-public class AppletLaunchConfigurationUtils {
-	
-	/**
-	 * 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
-	 */
-	public static void abort(String message, Throwable exception, int code)
-		throws CoreException {
-		throw new CoreException(
-			new Status(
-				IStatus.ERROR,
-				JDIDebugUIPlugin.getUniqueIdentifier(),
-				code,
-				message,
-				exception));
-	}
-
-	/**
-	 * Return the <code>IType</code> referenced by the specified name and contained in 
-	 * the specified project or throw a <code>CoreException</code> whose message explains why 
-	 * this couldn't be done.
-	 */
-	public static IType getMainType(String mainTypeName, IJavaProject javaProject) throws CoreException {
-		if ((mainTypeName == null) || (mainTypeName.trim().length() < 1)) {
-			abort(LauncherMessages.getString("appletlauncher.utils.error.main_type_not_specified"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE); //$NON-NLS-1$
-		}
-		IType mainType = null;
-		try {
-			mainType = findType(javaProject, mainTypeName);
-		} catch (JavaModelException jme) {
-		}
-		if (mainType == null) {
-			abort(MessageFormat.format(LauncherMessages.getString("appletlauncher.utils.error.main_type_does_not_exist"), new String[] {mainTypeName, javaProject.getElementName()}), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE); //$NON-NLS-1$
-		}
-		return mainType;
-	}		
-	
-
-	/**
-	 * Find the specified (fully-qualified) type name in the specified java project.
-	 */
-	public static IType findType(IJavaProject javaProject, String mainTypeName) throws JavaModelException {
-		String pathStr= mainTypeName.replace('.', '/') + ".java"; //$NON-NLS-1$
-		IJavaElement javaElement= javaProject.findElement(new Path(pathStr));
-		if (javaElement == null) {
-			return null;
-		} else if (javaElement instanceof IType) {
-			return (IType)javaElement;
-		} else if (javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
-			String simpleName= Signature.getSimpleName(mainTypeName);
-			return ((ICompilationUnit) javaElement).getType(simpleName);
-		} else if (javaElement.getElementType() == IJavaElement.CLASS_FILE) {
-			return ((IClassFile) javaElement).getType();
-		}
-		return null; 
-	}
-
-	/**
-	 * 
-	 */
-	public static Set collectAppletTypesInProject(IProgressMonitor monitor, IJavaProject project) {
-		IType[] types;
-		HashSet result = null;
-		try {
-			IType javaLangApplet = AppletLaunchConfigurationUtils.getMainType("java.applet.Applet", project); //$NON-NLS-1$
-			ITypeHierarchy hierarchy = javaLangApplet.newTypeHierarchy(project, new SubProgressMonitor(monitor, 1));
-			types = hierarchy.getAllSubtypes(javaLangApplet);
-			int length = types.length;
-			if (length != 0) {
-				result = new HashSet(length);
-				for (int i = 0; i < length; i++) {
-					if (!types[i].isBinary()) {
-						result.add(types[i]);
-					}
-				}
-			}
-		} catch(JavaModelException jme) {
-		} catch(CoreException e) {
-		}
-		monitor.done();
-		return result;
-	}
-	
-	private static void collectTypes(Object element, IProgressMonitor monitor, Set result) throws JavaModelException/*, InvocationTargetException*/ {
-		element= computeScope(element);
-		while((element instanceof IJavaElement) && !(element instanceof ICompilationUnit) && (element instanceof ISourceReference)) {
-			if(element instanceof IType) {
-				if (isSubclassOfApplet(monitor, (IType)element)) {
-					result.add(element);
-					monitor.done();
-					return;
-				}
-			}
-			element= ((IJavaElement)element).getParent();
-		}
-		if (element instanceof ICompilationUnit) {
-			ICompilationUnit cu= (ICompilationUnit)element;
-			IType[] types= cu.getAllTypes();
-			for (int i= 0; i < types.length; i++) {
-				if (isSubclassOfApplet(monitor, types[i])) {
-					result.add(types[i]);
-				}
-			}
-			monitor.done();
-			return;
-		} else if (element instanceof IJavaElement) {
-			List found= searchSubclassesOfApplet(monitor, (IJavaElement)element);
-			result.addAll(found);
-			monitor.done();
-		}
-	}
-
-	private static List searchSubclassesOfApplet(IProgressMonitor pm, IJavaElement javaElement) throws JavaModelException {
-		return new ArrayList(collectAppletTypesInProject(pm, javaElement.getJavaProject()));
-	}
-	
-	private static boolean isSubclassOfApplet(IProgressMonitor pm, IType type) {
-		return collectAppletTypesInProject(pm, type.getJavaProject()).contains(type);
-	}
-	
-	private static Object computeScope(Object element) throws JavaModelException {
-		if (element instanceof IFileEditorInput) {
-			element= ((IFileEditorInput)element).getFile();
-		}
-		if (element instanceof IResource) {
-			element= JavaCore.create((IResource)element);
-		}
-		return element;
-	}
-
-	public static IType[] findApplets(IRunnableContext context, final Object[] elements) throws InvocationTargetException, InterruptedException {
-		final Set result= new HashSet();
-	
-		if (elements.length > 0) {
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor pm) throws InterruptedException {
-					int nElements= elements.length;
-					pm.beginTask(LauncherMessages.getString("appletlauncher.search.task.inprogress"), nElements); //$NON-NLS-1$
-					try {
-						for (int i= 0; i < nElements; i++) {
-							try {
-								collectTypes(elements[i], new SubProgressMonitor(pm, 1), result);
-							} catch (JavaModelException jme) {
-								JDIDebugUIPlugin.log(jme.getStatus());
-							}
-							if (pm.isCanceled()) {
-								throw new InterruptedException();
-							}
-						}
-					} finally {
-						pm.done();
-					}
-				}
-			};
-			context.run(true, true, runnable);			
-		}
-		return (IType[]) result.toArray(new IType[result.size()]) ;
-	}
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletSelectionDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletSelectionDialog.java
deleted file mode 100644
index 1763e3c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletSelectionDialog.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.TwoPaneElementSelector;
-
-/**
- * A dialog to select a type that extends <code>java.applet.Applet</code>.
- */
-public class AppletSelectionDialog extends TwoPaneElementSelector {
-
-	private IRunnableContext fRunnableContext;
-	private IJavaProject fProject;
-	private static final IType[] EMPTY_TYPE_ARRAY = new IType[] {};
-
-	private static class PackageRenderer extends JavaElementLabelProvider {
-		public PackageRenderer() {
-			super(JavaElementLabelProvider.SHOW_PARAMETERS | JavaElementLabelProvider.SHOW_POST_QUALIFIED | JavaElementLabelProvider.SHOW_ROOT);
-		}
-
-		public Image getImage(Object element) {
-			return super.getImage(((IType) element).getPackageFragment());
-		}
-
-		public String getText(Object element) {
-			return super.getText(((IType) element).getPackageFragment());
-		}
-	}
-
-	public AppletSelectionDialog(Shell shell, IRunnableContext context, IJavaProject project) {
-		super(shell, new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_BASICS | JavaElementLabelProvider.SHOW_OVERLAY_ICONS), new PackageRenderer());
-
-		Assert.isNotNull(context);
-
-		fRunnableContext = context;
-		fProject = project;
-	}
-
-	/**
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-	}
-
-	/**
-	 * @see org.eclipse.jface.window.Window#open()
-	 */
-	public int open() {
-		IType[] types = getAppletTypes();
-		if (types == null) {
-			return CANCEL;
-		}
-		setElements(types);
-		return super.open();
-	}
-	
-	/**
-	 * Return all types extending <code>java.lang.Applet</code> in the project, or
-	 * all types extending Applet in the workspace if the project is <code>null</code>.
-	 * If the search is canceled, return <code>null</code>.
-	 */
-	private IType[] getAppletTypes() {
-		// Populate an array of java projects with either the project specified in
-		// the constructor, or ALL projects in the workspace if no project was specified
-		final IJavaProject[] javaProjects;
-		if (fProject == null) {
-			try {
-				javaProjects = getJavaModel().getJavaProjects();
-			} catch (JavaModelException jme) {
-				return EMPTY_TYPE_ARRAY;
-			}
-		} else {
-			javaProjects = new IJavaProject[] {fProject};
-		}
-		
-		// For each java project, calculate the Applet types it contains and add 
-		// them to the results
-		final int projectCount = javaProjects.length;
-		final Set results = new HashSet(projectCount);
-		boolean canceled = false;
-		try {
-			fRunnableContext.run(true, true, new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) {	
-					monitor.beginTask(LauncherMessages.getString("AppletSelectionDialog.Searching..._1"), projectCount); //$NON-NLS-1$
-					for (int i = 0; i < projectCount; i++) {
-						IJavaProject javaProject = javaProjects[i];
-						SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1); 
-						results.addAll(AppletLaunchConfigurationUtils.collectAppletTypesInProject(subMonitor, javaProject));
-						monitor.worked(1);
-					}					
-					monitor.done();
-				}
-			});
-		} catch (InvocationTargetException ite) {
-		} catch (InterruptedException ie) {
-			canceled = true;
-		}
-
-		// Convert the results to an array and return it
-		if (canceled) {
-			return null;
-		} else {
-			IType[] types = null;
-			types = (IType[]) results.toArray(new IType[results.size()]);		
-			return types;
-		} 
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createDialogArea(Composite parent) {
-		Control control = super.createDialogArea(parent);
-		applyDialogFont(control);
-		return control;
-	}
-
-	/**
-	 * Convenience method to get access to the java model.
-	 */
-	private IJavaModel getJavaModel() {
-		return JavaCore.create(getWorkspaceRoot());
-	}
-
-	/**
-	 * Convenience method to get the workspace root.
-	 */
-	private IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletWorkingDirectoryBlock.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletWorkingDirectoryBlock.java
deleted file mode 100644
index 6caaa15..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/AppletWorkingDirectoryBlock.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-import org.eclipse.jdt.launching.JavaRuntime;
-
- 
-public class AppletWorkingDirectoryBlock extends WorkingDirectoryBlock {
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.launcher.WorkingDirectoryBlock#setDefaultWorkingDir()
-	 */
-	protected void setDefaultWorkingDir() {
-		String outputDir = JavaRuntime.getProjectOutputDirectory(getLaunchConfiguration());
-		if (outputDir != null) {
-			fWorkspaceDirText.setText(outputDir);
-			fLocalDirButton.setSelection(false);
-			fWorkspaceDirButton.setSelection(true);
-		} else {
-			super.setDefaultWorkingDir();
-		}		
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ArchiveFileFilter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ArchiveFileFilter.java
deleted file mode 100644
index bdfde07..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ArchiveFileFilter.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * Viewer filter for archive selection dialogs.
- * Archives are files with file extension 'jar' and 'zip'.
- * The filter is not case sensitive.
- */
-public class ArchiveFileFilter extends ViewerFilter {
-
-	private static final String[] fgArchiveExtensions= { "jar", "zip" }; //$NON-NLS-1$ //$NON-NLS-2$
-
-	private List fExcludes;
-	
-	/**
-	 * @param excludedFiles Excluded files will not pass the filter.
-	 * <code>null</code> is allowed if no files should be excluded. 
-	 */
-	public ArchiveFileFilter(IFile[] excludedFiles) {
-		if (excludedFiles != null) {
-			fExcludes= Arrays.asList(excludedFiles);
-		} else {
-			fExcludes= null;
-		}
-	}
-	
-	/*
-	 * @see ViewerFilter#select
-	 */
-	public boolean select(Viewer viewer, Object parent, Object element) {
-		if (element instanceof IFile) {
-			if (fExcludes != null && fExcludes.contains(element)) {
-				return false;
-			}
-			return isArchivePath(((IFile)element).getFullPath());
-		} else if (element instanceof IContainer) { // IProject, IFolder
-			try {
-				IResource[] resources= ((IContainer)element).members();
-				for (int i= 0; i < resources.length; i++) {
-					// recursive! Only show containers that contain an archive
-					if (select(viewer, parent, resources[i])) {
-						return true;
-					}
-				}
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.log(e.getStatus());
-			}				
-		}
-		return false;
-	}
-	
-	public static boolean isArchivePath(IPath path) {
-		String ext= path.getFileExtension();
-		if (ext != null && ext.length() != 0) {
-			for (int i= 0; i < fgArchiveExtensions.length; i++) {
-				if (ext.equalsIgnoreCase(fgArchiveExtensions[i])) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}		
-	
-			
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ComboFieldEditor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ComboFieldEditor.java
deleted file mode 100644
index b3fc259..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ComboFieldEditor.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.util.Assert;
-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.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * A field editor for a combo box that allows the drop-down selection of one of a list of items.
- */
-public class ComboFieldEditor extends FieldEditor {
-
-	/**
-	 * The <code>Combo</code> widget.
-	 */
-	private Combo fCombo;
-	
-	/**
-	 * The value (not the name) of the currently selected item in the Combo widget.
-	 */
-	private String fValue;
-	
-	/**
-	 * The names (labels) and underlying values to populate the combo widget.  These should be
-	 * arranged as: { {name1, value1}, {name2, value2}, ...}
-	 */
-	private String[][] fEntryNamesAndValues;
-
-	public ComboFieldEditor(String name, String labelText, String[][] entryNamesAndValues, Composite parent) {
-		init(name, labelText);
-		Assert.isTrue(checkArray(entryNamesAndValues));
-		fEntryNamesAndValues = entryNamesAndValues;
-		createControl(parent);		
-	}
-
-	/**
-	 * Checks whether given <code>String[][]</code> is of "type" 
-	 * <code>String[][2]</code>.
-	 *
-	 * @return <code>true</code> if it is ok, and <code>false</code> otherwise
-	 */
-	private boolean checkArray(String[][] table) {
-		if (table == null) {
-			return false;
-		}
-		for (int i = 0; i < table.length; i++) {
-			String[] array = table[i];
-			if (array == null || array.length != 2) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * @see FieldEditor#adjustForNumColumns(int)
-	 */
-	protected void adjustForNumColumns(int numColumns) {
-		if (numColumns > 1) {
-			Control control = getLabelControl();
-			int left = numColumns;
-			if (control != null) {
-				((GridData)control.getLayoutData()).horizontalSpan = 1;
-				left = left - 1;
-			}
-			((GridData)fCombo.getLayoutData()).horizontalSpan = left;
-		} else {
-			Control control = getLabelControl();
-			if (control != null) {
-				((GridData)control.getLayoutData()).horizontalSpan = 1;
-			}
-			((GridData)fCombo.getLayoutData()).horizontalSpan = 1;			
-		}
-	}
-
-	/**
-	 * @see FieldEditor#doFillIntoGrid(Composite, int)
-	 */
-	protected void doFillIntoGrid(Composite parent, int numColumns) {
-		int comboC = 1;
-		if (numColumns > 1) {
-			comboC = numColumns - 1;
-		}
-		Control control = getLabelControl(parent);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 1;
-		control.setLayoutData(gd);
-		control = getComboBoxControl(parent);
-		gd = new GridData();
-		gd.horizontalSpan = comboC;
-		gd.horizontalAlignment = GridData.FILL;
-		control.setLayoutData(gd);
-		control.setFont(parent.getFont());
-	}
-
-	/**
-	 * @see FieldEditor#doLoad()
-	 */
-	protected void doLoad() {
-		updateComboForValue(getPreferenceStore().getString(getPreferenceName()));
-	}
-
-	/**
-	 * @see FieldEditor#doLoadDefault()
-	 */
-	protected void doLoadDefault() {
-		updateComboForValue(getPreferenceStore().getDefaultString(getPreferenceName()));
-	}
-
-	/**
-	 * @see FieldEditor#doStore()
-	 */
-	protected void doStore() {
-		if (fValue == null) {
-			getPreferenceStore().setToDefault(getPreferenceName());
-			return;
-		}
-	
-		getPreferenceStore().setValue(getPreferenceName(), fValue);
-	}
-
-	/**
-	 * @see FieldEditor#getNumberOfControls()
-	 */
-	public int getNumberOfControls() {
-		return 1;
-	}
-
-	/**
-	 * Lazily create and return the Combo control.
-	 */
-	public Combo getComboBoxControl(Composite parent) {
-		if (fCombo == null) {
-			fCombo = new Combo(parent, SWT.READ_ONLY);
-			fCombo.setFont(parent.getFont());
-			for (int i = 0; i < fEntryNamesAndValues.length; i++) {
-				fCombo.add(fEntryNamesAndValues[i][0], i);
-			}
-			
-			fCombo.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent evt) {
-					String oldValue = fValue;
-					String name = fCombo.getText();
-					fValue = getValueForName(name);
-					setPresentsDefaultValue(false);
-					fireValueChanged(VALUE, oldValue, fValue);					
-				}
-			});
-		}
-		return fCombo;
-	}
-	
-	/**
-	 * Given the name (label) of an entry, return the corresponding value.
-	 */
-	protected String getValueForName(String name) {
-		for (int i = 0; i < fEntryNamesAndValues.length; i++) {
-			String[] entry = fEntryNamesAndValues[i];
-			if (name.equals(entry[0])) {
-				return entry[1];
-			}
-		}
-		return fEntryNamesAndValues[0][0];
-	}
-	
-	/**
-	 * Set the name in the combo widget to match the specified value.
-	 */
-	protected void updateComboForValue(String value) {
-		fValue = value;
-		for (int i = 0; i < fEntryNamesAndValues.length; i++) {
-			if (value.equals(fEntryNamesAndValues[i][1])) {
-				fCombo.setText(fEntryNamesAndValues[i][0]);
-				return;
-			}
-		}
-		if (fEntryNamesAndValues.length > 0) {
-			fValue = fEntryNamesAndValues[0][1];
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/DefineSystemLibraryQuickFix.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/DefineSystemLibraryQuickFix.java
deleted file mode 100644
index e3fea50..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/DefineSystemLibraryQuickFix.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-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.swt.custom.BusyIndicator;
-import org.eclipse.ui.IMarkerResolution;
-
-/**
- * Quick fix to define a new system library (none were found). 
- */
-public class DefineSystemLibraryQuickFix implements IMarkerResolution {
-	
-	public DefineSystemLibraryQuickFix() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IMarkerResolution#run(org.eclipse.core.resources.IMarker)
-	 */
-	public void run(IMarker marker) {
-		IPreferencePage page = new VMPreferencePage();
-		showPreferencePage("org.eclipse.jdt.debug.ui.preferences.VMPreferencePage", page);	 //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IMarkerResolution#getLabel()
-	 */
-	public String getLabel() {
-		return LauncherMessages.getString("DefineSystemLibraryQuickFix.Create_a_system_library_definition_2"); //$NON-NLS-1$
-	}
-
-	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(JDIDebugUIPlugin.getActiveWorkbenchShell(), manager);
-		final boolean [] result = new boolean[] { false };
-		BusyIndicator.showWhile(JDIDebugUIPlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				dialog.setMessage(targetNode.getLabelText());
-				result[0]= (dialog.open() == PreferenceDialog.OK);
-			}
-		});		
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/IAddVMDialogRequestor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/IAddVMDialogRequestor.java
deleted file mode 100644
index 376a20b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/IAddVMDialogRequestor.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.jdt.launching.IVMInstall;
-
-/**
- * This interface is implemented by clients of the <code>AddVMDialog</code>.
- */
-public interface IAddVMDialogRequestor {
-
-	/**
-	 * Reply whether or not a new VM of the specified name would
-	 * constitute a duplicate.
-	 * 
-	 * @param name the name of a potential new VM
-	 * @return whether a new VM with the specified name would be a duplicate VM
-	 */
-	public boolean isDuplicateName(String name);
-	
-	/**
-	 * Notification that a VM has been added from the <code>AddVMDialog</code>.
-	 * 
-	 * @param vm the added vm
-	 */
-	public void vmAdded(IVMInstall vm);
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/IEntriesChangedListener.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/IEntriesChangedListener.java
deleted file mode 100644
index ccce5de..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/IEntriesChangedListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-/**
- * Listener interface to receive notification when entries in a runtime
- * classpath entry viewer change in some way.
- */
-public interface IEntriesChangedListener {
-
-	/**
-	 * Notification entries have changed in the viewer
-	 */
-	public void entriesChanged(RuntimeClasspathViewer viewer);
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JREContainerWizardPage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JREContainerWizardPage.java
deleted file mode 100644
index 54b85d2..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JREContainerWizardPage.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugImages;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.ui.wizards.IClasspathContainerPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Extension to allow a user to associate a JRE with a Java project.
- */
-public class JREContainerWizardPage extends WizardPage implements IClasspathContainerPage {
-	
-	/**
-	 * The classpath entry to be created.
-	 */
-	private IClasspathEntry fSelection;
-	
-	/**
-	 * JRE control
-	 */
-	private JavaJRETab fJRETab;
-	
-	/**
-	 * Fake launch config used with the control.
-	 */
-	private ILaunchConfigurationWorkingCopy fConfig;
-	
-	/**
-	 * Image
-	 */
-	private Image fImage;
-	
-	/**
-	 * Constructs a new page.
-	 */
-	public JREContainerWizardPage() {
-		super(LauncherMessages.getString("JREContainerWizardPage.JRE_System_Library_1")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see IClasspathContainerPage#finish()
-	 */
-	public boolean finish() {
-		// retrieve selected JRE
-		fJRETab.performApply(fConfig);
-		String typeId = null;
-		String name = null;
-		try {
-			typeId = fConfig.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-			name = fConfig.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("JREContainerWizardPage.Unable_to_set_JRE_for_project._2"), e); //$NON-NLS-1$
-			return false;
-		}
-		
-		IPath path = new Path(JavaRuntime.JRE_CONTAINER);
-		if (typeId != null) {
-			path = path.append(typeId);
-			path = path.append(name);
-		}
-		
-		fSelection = JavaCore.newContainerEntry(path);
-		
-		return true;
-	}
-
-	/**
-	 * @see IClasspathContainerPage#getSelection()
-	 */
-	public IClasspathEntry getSelection() {
-		return fSelection;
-	}
-
-	/**
-	 * @see IClasspathContainerPage#setSelection(IClasspathEntry)
-	 */
-	public void setSelection(IClasspathEntry containerEntry) {
-		fSelection = containerEntry;
-		initializeFromSelection();
-	}
-
-	/**
-	 * Initlaizes the JRE selection
-	 */
-	protected void initializeFromSelection() {
-		if (getControl() != null) {
-			String typeId = null;
-			String name = null;		
-			if (fSelection != null) {
-				IPath path = fSelection.getPath();
-				if (path.segmentCount() > 1) {
-					typeId = path.segment(1);
-					name = path.segment(2);
-				}
-			}
-			fConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, typeId);
-			fConfig.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, name);
-			fJRETab.initializeFrom(fConfig);
-		}
-	}
-	
-	/**
-	 * @see IDialogPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		fJRETab = new JavaJRETab();
-		fJRETab.setVMSpecificArgumentsVisible(false);
-		fJRETab.createControl(parent);
-		setControl(fJRETab.getControl());
-		setTitle(LauncherMessages.getString("JREContainerWizardPage.JRE_System_Library_1")); //$NON-NLS-1$
-		setMessage(LauncherMessages.getString("JREContainerWizardPage.Select_the_JRE_used_to_build_this_project._4")); //$NON-NLS-1$
-		
-		ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
-		try {
-			fConfig = type.newInstance(null, "TEMP_CONFIG"); //$NON-NLS-1$
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("JREContainerWizardPage.Unable_to_retrieve_existing_JREs_6"), e); //$NON-NLS-1$
-			return;
-		}
-		
-		initializeFromSelection();
-	}
-
-	/**
-	 * @see IDialogPage#getImage()
-	 */
-	public Image getImage() {
-		if (fImage == null) {
-			fImage = JavaDebugImages.DESC_WIZBAN_LIBRARY.createImage();
-		}
-		return fImage;
-	}
-
-
-	/**
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fImage != null) {
-			fImage.dispose();
-		}
-	}
-
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JREResolution.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JREResolution.java
deleted file mode 100644
index 4cd22ba..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JREResolution.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-/**
- * Superclass of for JRE resolution errors.
- */
-public abstract class JREResolution implements IMarkerResolution {
-	
-	class JRELabelProvider extends LabelProvider {
-		
-		/**
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-		 */
-		public Image getImage(Object element) {
-			return JavaPluginImages.get(JavaPluginImages.IMG_OBJS_LIBRARY);
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-		 */
-		public String getText(Object element) {
-			return ((IVMInstall)element).getName();
-		}
-
-	}
-	
-	/**
-	 * Prompts the user to choose a JRE for the given project.
-	 * Returns the selected VM or <code>null</code>.
-	 * 
-	 * @param title the title for the dialog
-	 * @param message the message for the dialog
-	 * @return selected VM or <code>null</code>
-	 */
-	protected IVMInstall chooseVMInstall(String title, String message) {
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(JDIDebugUIPlugin.getActiveWorkbenchShell(), new JRELabelProvider());
-		dialog.setElements(getAllVMs());
-		dialog.setTitle(title);
-		dialog.setMessage(message);
-		dialog.setMultipleSelection(false);
-		dialog.open();
-		return (IVMInstall)dialog.getFirstResult();
-	}
-	
-	/**
-	 * Returns all defined VMs
-	 * 
-	 * @return IVMInstall[]
-	 */
-	protected static IVMInstall[] getAllVMs() {
-		IVMInstallType[] types = JavaRuntime.getVMInstallTypes();
-		List vms = new ArrayList();
-		for (int i = 0; i < types.length; i++) {
-			IVMInstallType type = types[i];
-			IVMInstall[] installs = type.getVMInstalls();
-			for (int j = 0; j < installs.length; j++) {
-				vms.add(installs[j]);
-			}
-		}
-		return (IVMInstall[])vms.toArray(new IVMInstall[vms.size()]);		
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaAppletLaunchShortcut.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaAppletLaunchShortcut.java
deleted file mode 100644
index 0bdd12e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaAppletLaunchShortcut.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-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.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchShortcut;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.ui.JavaUISourceLocator;
-import org.eclipse.jdt.debug.ui.launchConfigurations.AppletParametersTab;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-public class JavaAppletLaunchShortcut implements ILaunchShortcut {
-
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
-	protected void searchAndLaunch(Object[] search, String mode) {
-		IType[] types= null;
-
-		if (search != null) {
-			try {
-				types = AppletLaunchConfigurationUtils.findApplets(new ProgressMonitorDialog(getShell()), search);
-			} catch (InterruptedException e) {
-				JDIDebugUIPlugin.log(e);
-				return;
-			} catch (InvocationTargetException e) {
-				JDIDebugUIPlugin.log(e);
-				return;
-			}
-			IType type = null;
-			if (types.length == 0) {
-				MessageDialog.openInformation(getShell(), LauncherMessages.getString("appletlauncher.search.dialog.title"), LauncherMessages.getString("appletlauncher.search.dialog.error.noapplets"));   //$NON-NLS-1$ //$NON-NLS-2$
-			} else if (types.length > 1) {
-				type = chooseType(types, mode);
-			} else {
-				type = types[0];
-			}
-			if (type != null) {
-				launch(type, mode);
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunchShortcut#launch(IEditorPart, String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		IEditorInput input = editor.getEditorInput();
-		IJavaElement javaElement = (IJavaElement) input.getAdapter(IJavaElement.class);
-		if (javaElement != null) {
-			searchAndLaunch(new Object[] {javaElement}, mode);
-		} 
-	}
-
-	/**
-	 * @see ILaunchShortcut#launch(ISelection, String)
-	 */
-	public void launch(ISelection selection, String mode) {
-		if (selection instanceof IStructuredSelection) {
-			searchAndLaunch(((IStructuredSelection)selection).toArray(), mode);
-		} 
-	}
-	
-	/**
-	 * Prompts the user to select a type
-	 * 
-	 * @return the selected type or <code>null</code> if none.
-	 */
-	protected IType chooseType(IType[] types, String mode) {
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), new JavaElementLabelProvider());
-		dialog.setElements(types);
-		dialog.setTitle(LauncherMessages.getString("appletlauncher.selection.type.dialog.title")); //$NON-NLS-1$
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			dialog.setMessage(LauncherMessages.getString("appletlauncher.selection.type.dialog.message.debug"));   //$NON-NLS-1$
-		} else {
-			dialog.setMessage(LauncherMessages.getString("appletlauncher.selection.type.dialog.message.run"));  //$NON-NLS-1$
-		}
-		dialog.setMultipleSelection(false);
-		if (dialog.open() == ElementListSelectionDialog.OK) {
-			return (IType)dialog.getFirstResult();
-		}
-		return null;
-	}
-	
-	/**
-	 * Launches a configuration for the given type
-	 */
-	protected void launch(IType type, String mode) {
-		try { 
-			ILaunchConfiguration config = findLaunchConfiguration(type, mode);
-			if (config != null) {
-				config.launch(mode, null);
-			}			
-		} catch (CoreException e) {
-			ErrorDialog.openError(getShell(), LauncherMessages.getString("appletlauncher.launching.error.failure"), e.getMessage(), e.getStatus());   //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Locate a configuration to relaunch for the given type.  If one cannot be found, create one.
-	 * 
-	 * @return a re-useable config or <code>null</code> if none
-	 */
-	protected ILaunchConfiguration findLaunchConfiguration(IType type, String mode) {
-		ILaunchConfigurationType configType= getAppletLaunchConfigType();
-		List candidateConfigs= Collections.EMPTY_LIST;
-		try {
-			ILaunchConfiguration[] configs= DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations(configType);
-			candidateConfigs= new ArrayList(configs.length);
-			for (int i= 0; i < configs.length; i++) {
-				ILaunchConfiguration config= configs[i];
-				if (config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "").equals(type.getFullyQualifiedName())) {  //$NON-NLS-1$
-					if (config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "").equals(type.getJavaProject().getElementName())) {  //$NON-NLS-1$
-						candidateConfigs.add(config);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		
-		// If there are no existing configs associated with the IType, create one.
-		// If there is exactly one config associated with the IType, return it.
-		// Otherwise, if there is more than one config associated with the IType, prompt the
-		// user to choose one.
-		int candidateCount= candidateConfigs.size();
-		if (candidateCount < 1) {
-			return createConfiguration(type);
-		} else if (candidateCount == 1) {
-			return (ILaunchConfiguration) candidateConfigs.get(0);
-		} else {
-			// Prompt the user to choose a config.  A null result means the user
-			// cancelled the dialog, in which case this method returns null,
-			// since cancelling the dialog should also cancel launching anything.
-			ILaunchConfiguration config= chooseConfiguration(candidateConfigs, mode);
-			if (config != null) {
-				return config;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Create & return a new configuration based on the specified <code>IType</code>.
-	 */
-	protected ILaunchConfiguration createConfiguration(IType type) {
-		ILaunchConfiguration config = null;
-		try {
-			ILaunchConfigurationType configType = getAppletLaunchConfigType();
-			ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(type.getElementName())); 
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, type.getFullyQualifiedName());
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, type.getJavaProject().getElementName());
-			wc.setAttribute(IDebugUIConstants.ATTR_TARGET_DEBUG_PERSPECTIVE, IDebugUIConstants.PERSPECTIVE_DEFAULT);
-			wc.setAttribute(IDebugUIConstants.ATTR_TARGET_RUN_PERSPECTIVE, IDebugUIConstants.PERSPECTIVE_DEFAULT);
-			wc.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, JavaUISourceLocator.ID_PROMPTING_JAVA_SOURCE_LOCATOR);
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_WIDTH, AppletParametersTab.DEFAULT_APPLET_WIDTH);
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_HEIGHT, AppletParametersTab.DEFAULT_APPLET_HEIGHT);
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_NAME, EMPTY_STRING);
-			config = wc.doSave();		
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);			
-		}
-		return config;
-	}
-		
-	/**
-	 * Show a selection dialog that allows the user to choose one of the specified
-	 * launch configurations.  Return the chosen config, or <code>null</code> if the
-	 * user cancelled the dialog.
-	 */
-	protected ILaunchConfiguration chooseConfiguration(List configList, String mode) {
-		IDebugModelPresentation labelProvider = DebugUITools.newDebugModelPresentation();
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setElements(configList.toArray());
-		dialog.setTitle(LauncherMessages.getString("appletlauncher.selection.configuration.dialog.title"));  //$NON-NLS-1$
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			dialog.setMessage(LauncherMessages.getString("appletlauncher.selection.configuration.dialog.message.debug"));  //$NON-NLS-1$
-		} else {
-			dialog.setMessage(LauncherMessages.getString("appletlauncher.selection.configuration.dialog.message.run"));  //$NON-NLS-1$
-		}
-		dialog.setMultipleSelection(false);
-		int result= dialog.open();
-		labelProvider.dispose();
-		if (result == ElementListSelectionDialog.OK) {
-			return (ILaunchConfiguration)dialog.getFirstResult();
-		}
-		return null;		
-	}
-	
-	/**
-	 * Returns the local java launch config type
-	 */
-	protected ILaunchConfigurationType getAppletLaunchConfigType() {
-		ILaunchManager lm= DebugPlugin.getDefault().getLaunchManager();
-		return lm.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLET);		
-	}	
-	
-	/**
-	 * Convenience method to get the window that owns this action's Shell.
-	 */
-	protected Shell getShell() {
-		return JDIDebugUIPlugin.getActiveWorkbenchShell();
-	}
-	
-	/**
-	 * Determines and returns the selection that provides context for the launch,
-	 * or <code>null</code> if there is no selection.
-	 */
-	protected IStructuredSelection resolveSelection(IWorkbenchWindow window) {
-		if (window == null) {
-			return null;
-		}
-		ISelection selection= window.getSelectionService().getSelection();
-		if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
-			// there is no obvious selection - go fishing
-			selection = null;
-			IWorkbenchPage page = window.getActivePage();
-			if (page == null) {
-				//workspace is closed
-				return null;
-			}
-
-			// first, see if there is an active editor, and try its input element
-			IEditorPart editor= page.getActiveEditor();
-			Object element = null;
-			if (editor != null) {
-				element = editor.getEditorInput();
-			}
-
-			if (selection == null && element != null) {
-				selection = new StructuredSelection(element);
-			}
-		}
-		return (IStructuredSelection)selection;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaAppletTabGroup.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaAppletTabGroup.java
deleted file mode 100644
index dcc06e5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaAppletTabGroup.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.AppletArgumentsTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.AppletMainTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.AppletParametersTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaSourceLookupTab;
-
-public class JavaAppletTabGroup extends AbstractLaunchConfigurationTabGroup {
-	
-	/**
-	 * Constructs a new Java applet tab group.
-	 */
-	public JavaAppletTabGroup() {
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new AppletMainTab(),
-			new AppletParametersTab(),
-			new AppletArgumentsTab(),
-			new JavaJRETab(),
-			new JavaClasspathTab(),
-			new JavaSourceLookupTab(),	
-			new CommonTab()
-		};
-		setTabs(tabs);
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaApplicationLaunchShortcut.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaApplicationLaunchShortcut.java
deleted file mode 100644
index 5e33ed2..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaApplicationLaunchShortcut.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
- 
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-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.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchShortcut;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.ui.JavaUISourceLocator;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-/**
- * Performs single click launching for local Java applications.
- */
-public class JavaApplicationLaunchShortcut implements ILaunchShortcut {
-	
-	/**
-	 * @param search the java elements to search for a main type
-	 * @param mode the mode to launch in
-	 * @param whether activated on an editor (or from a selection in a viewer)
-	 */
-	public void searchAndLaunch(Object[] search, String mode, boolean editor) {
-		IType[] types = null;
-		if (search != null) {
-			try {
-				ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell());
-				types = MainMethodFinder.findTargets(dialog, search);
-			} catch (InterruptedException e) {
-				return;
-			} catch (InvocationTargetException e) {
-				MessageDialog.openError(getShell(), LauncherMessages.getString("JavaApplicationAction.Launch_failed_7"), e.getMessage()); //$NON-NLS-1$
-				return;
-			}
-			IType type = null;
-			if (types.length == 0) {
-				String message = null;
-				if (editor) {
-					message = LauncherMessages.getString("JavaApplicationLaunchShortcut.The_active_editor_does_not_contain_a_main_type._1"); //$NON-NLS-1$
-				} else {
-					message = LauncherMessages.getString("JavaApplicationLaunchShortcut.The_selection_does_not_contain_a_main_type._2"); //$NON-NLS-1$
-				}
-				MessageDialog.openError(getShell(), LauncherMessages.getString("JavaApplicationAction.Launch_failed_7"), message); //$NON-NLS-1$
-			} else if (types.length > 1) {
-				type = chooseType(types, mode);
-			} else {
-				type = types[0];
-			}
-			if (type != null) {
-				launch(type, mode);
-			}
-		}
-
-	}	
-
-	/**
-	 * Prompts the user to select a type
-	 * 
-	 * @return the selected type or <code>null</code> if none.
-	 */
-	protected IType chooseType(IType[] types, String mode) {
-		MainTypeSelectionDialog dialog= new MainTypeSelectionDialog(getShell(), types);		
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			dialog.setTitle(LauncherMessages.getString("JavaApplicationAction.Type_Selection_Debug")); //$NON-NLS-1$
-		} else {
-			dialog.setTitle(LauncherMessages.getString("JavaApplicationAction.Type_Selection_Run")); //$NON-NLS-1$
-		}
-		dialog.setMultipleSelection(false);
-		if (dialog.open() == MainTypeSelectionDialog.OK) {
-			return (IType)dialog.getFirstResult();
-		}
-		return null;
-	}
-	
-	/**
-	 * Launches a configuration for the given type
-	 */
-	protected void launch(IType type, String mode) {
-		ILaunchConfiguration config = findLaunchConfiguration(type, mode);
-		if (config != null) {
-			DebugUITools.launch(config, mode);
-		}			
-	}
-	
-	/**
-	 * Locate a configuration to relaunch for the given type.  If one cannot be found, create one.
-	 * 
-	 * @return a re-useable config or <code>null</code> if none
-	 */
-	protected ILaunchConfiguration findLaunchConfiguration(IType type, String mode) {
-		ILaunchConfigurationType configType = getJavaLaunchConfigType();
-		List candidateConfigs = Collections.EMPTY_LIST;
-		try {
-			ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations(configType);
-			candidateConfigs = new ArrayList(configs.length);
-			for (int i = 0; i < configs.length; i++) {
-				ILaunchConfiguration config = configs[i];
-				if (config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "").equals(type.getFullyQualifiedName())) { //$NON-NLS-1$
-					if (config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "").equals(type.getJavaProject().getElementName())) { //$NON-NLS-1$
-						candidateConfigs.add(config);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		
-		// If there are no existing configs associated with the IType, create one.
-		// If there is exactly one config associated with the IType, return it.
-		// Otherwise, if there is more than one config associated with the IType, prompt the
-		// user to choose one.
-		int candidateCount = candidateConfigs.size();
-		if (candidateCount < 1) {
-			return createConfiguration(type);
-		} else if (candidateCount == 1) {
-			return (ILaunchConfiguration) candidateConfigs.get(0);
-		} else {
-			// Prompt the user to choose a config.  A null result means the user
-			// cancelled the dialog, in which case this method returns null,
-			// since cancelling the dialog should also cancel launching anything.
-			ILaunchConfiguration config = chooseConfiguration(candidateConfigs, mode);
-			if (config != null) {
-				return config;
-			}
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * Show a selection dialog that allows the user to choose one of the specified
-	 * launch configurations.  Return the chosen config, or <code>null</code> if the
-	 * user cancelled the dialog.
-	 */
-	protected ILaunchConfiguration chooseConfiguration(List configList, String mode) {
-		IDebugModelPresentation labelProvider = DebugUITools.newDebugModelPresentation();
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setElements(configList.toArray());
-		dialog.setTitle(LauncherMessages.getString("JavaApplicationAction.Launch_Configuration_Selection_1"));  //$NON-NLS-1$
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			dialog.setMessage(LauncherMessages.getString("JavaApplicationAction.Choose_a_launch_configuration_to_debug_2"));  //$NON-NLS-1$
-		} else {
-			dialog.setMessage(LauncherMessages.getString("JavaApplicationAction.Choose_a_launch_configuration_to_run_3")); //$NON-NLS-1$
-		}
-		dialog.setMultipleSelection(false);
-		int result = dialog.open();
-		labelProvider.dispose();
-		if (result == MainTypeSelectionDialog.OK) {
-			return (ILaunchConfiguration) dialog.getFirstResult();
-		}
-		return null;		
-	}
-	
-	/**
-	 * Create & return a new configuration based on the specified <code>IType</code>.
-	 */
-	protected ILaunchConfiguration createConfiguration(IType type) {
-		ILaunchConfiguration config = null;
-		ILaunchConfigurationWorkingCopy wc = null;
-		try {
-			ILaunchConfigurationType configType = getJavaLaunchConfigType();
-			wc = configType.newInstance(null, getLaunchManager().generateUniqueLaunchConfigurationNameFrom(type.getElementName()));
-		} catch (CoreException exception) {
-			reportCreatingConfiguration(exception);
-			return null;		
-		} 
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, type.getFullyQualifiedName());
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, type.getJavaProject().getElementName());
-		wc.setAttribute(IDebugUIConstants.ATTR_TARGET_DEBUG_PERSPECTIVE, IDebugUIConstants.PERSPECTIVE_DEFAULT);
-		wc.setAttribute(IDebugUIConstants.ATTR_TARGET_RUN_PERSPECTIVE, IDebugUIConstants.PERSPECTIVE_DEFAULT);
-		wc.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, JavaUISourceLocator.ID_PROMPTING_JAVA_SOURCE_LOCATOR);
-		try {
-			config = wc.doSave();		
-		} catch (CoreException exception) {
-			reportCreatingConfiguration(exception);			
-		}
-		return config;
-	}
-	
-	protected void reportCreatingConfiguration(final CoreException exception) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				ErrorDialog.openError(getShell(), LauncherMessages.getString("JavaApplicationLaunchShortcut.Error_Launching_1"), LauncherMessages.getString("JavaApplicationLaunchShortcut.Exception"), exception.getStatus()); //new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), IStatus.ERROR, exception.getMessage(), exception)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		});
-	}
-	
-	/**
-	 * Returns the local java launch config type
-	 */
-	protected ILaunchConfigurationType getJavaLaunchConfigType() {
-		return getLaunchManager().getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);		
-	}
-	
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	/**
-	 * Convenience method to get the window that owns this action's Shell.
-	 */
-	protected Shell getShell() {
-		return JDIDebugUIPlugin.getActiveWorkbenchShell();
-	}
-	
-	/**
-	 * @see ILaunchShortcut#launch(IEditorPart, String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		IEditorInput input = editor.getEditorInput();
-		IJavaElement je = (IJavaElement) input.getAdapter(IJavaElement.class);
-		if (je != null) {
-			searchAndLaunch(new Object[] {je}, mode, true);
-		} else {
-			MessageDialog.openError(getShell(), LauncherMessages.getString("JavaApplicationAction.Launch_failed_7"), LauncherMessages.getString("JavaApplicationLaunchShortcut.The_active_editor_does_not_contain_a_main_type._1")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		
-	}
-
-	/**
-	 * @see ILaunchShortcut#launch(ISelection, String)
-	 */
-	public void launch(ISelection selection, String mode) {
-		if (selection instanceof IStructuredSelection) {
-			searchAndLaunch(((IStructuredSelection)selection).toArray(), mode, false);
-		} else {
-			MessageDialog.openError(getShell(), LauncherMessages.getString("JavaApplicationAction.Launch_failed_7"), LauncherMessages.getString("JavaApplicationLaunchShortcut.The_selection_does_not_contain_a_main_type._2")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaLaunchConfigurationTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaLaunchConfigurationTab.java
deleted file mode 100644
index b5244a7..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JavaLaunchConfigurationTab.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
- 
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-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.IWorkbenchPage;
-
-/**
- * Common function for Java launch configuration tabs.
- */
-public abstract class JavaLaunchConfigurationTab extends AbstractLaunchConfigurationTab implements IEntriesChangedListener {
-		
-	/**
-	 * Returns the current Java element context from which to initialize
-	 * default settings, or <code>null</code> if none.
-	 * 
-	 * @return Java element context.
-	 */
-	protected IJavaElement getContext() {
-		IWorkbenchPage page = JDIDebugUIPlugin.getActivePage();
-		if (page != null) {
-			ISelection selection = page.getSelection();
-			if (selection instanceof IStructuredSelection) {
-				IStructuredSelection ss = (IStructuredSelection)selection;
-				if (!ss.isEmpty()) {
-					Object obj = ss.getFirstElement();
-					if (obj instanceof IJavaElement) {
-						return (IJavaElement)obj;
-					}
-					if (obj instanceof IResource) {
-						IJavaElement je = JavaCore.create((IResource)obj);
-						if (je == null) {
-							IProject pro = ((IResource)obj).getProject();
-							je = JavaCore.create(pro);
-						}
-						if (je != null) {
-							return je;
-						}
-					}
-				}
-			}
-			IEditorPart part = page.getActiveEditor();
-			if (part != null) {
-				IEditorInput input = part.getEditorInput();
-				return (IJavaElement) input.getAdapter(IJavaElement.class);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Set the java project attribute based on the IJavaElement.
-	 */
-	protected void initializeJavaProject(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		IJavaProject javaProject = javaElement.getJavaProject();
-		String name = null;
-		if (javaProject != null && javaProject.exists()) {
-			name = javaProject.getElementName();
-		}
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, name);
-	}	
-	
-	/**
-	 * @see IEntriesChangedListener#entriesChanged(RuntimeClasspathViewer)
-	 */
-	public void entriesChanged(RuntimeClasspathViewer viewer) {
-		setDirty(true);
-		updateLaunchConfigurationDialog();
-	}
-
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JreResolutionGenerator.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JreResolutionGenerator.java
deleted file mode 100644
index 2ea9d93..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/JreResolutionGenerator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.CorrectionEngine;
-import org.eclipse.jdt.core.IJavaModelMarker;
-import org.eclipse.jdt.core.IJavaModelStatusConstants;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-
-/**
- * Generates quick fixes for unbound JREs.
- */
-public class JreResolutionGenerator implements IMarkerResolutionGenerator {
-	
-	private final static IMarkerResolution[] NO_RESOLUTION = new IMarkerResolution[0];
-
-	/**
-	 * @see org.eclipse.ui.IMarkerResolutionGenerator#getResolutions(org.eclipse.core.resources.IMarker)
-	 */
-	public IMarkerResolution[] getResolutions(IMarker marker) {
-		int id = marker.getAttribute(IJavaModelMarker.ID, -1);
-		switch (id) {
-			// unbound classpath container
-			case IJavaModelStatusConstants.CP_CONTAINER_PATH_UNBOUND :
-				String[] arguments = CorrectionEngine.getProblemArguments(marker);
-				IPath path = new Path(arguments[0]);
-				if (path.segment(0).equals(JavaRuntime.JRE_CONTAINER)) {
-					// unbound JRE_CONTAINER
-					if (JREResolution.getAllVMs().length > 0) {
-						IJavaProject project = getJavaProject(marker);
-						return new IMarkerResolution[]{new SelectSystemLibraryQuickFix(path, project)};
-					} else {
-						// define a new JRE
-						return new IMarkerResolution[]{new DefineSystemLibraryQuickFix()};
-					}
-				}
-				break;
-
-			// unbound classpath variabe
-			case IJavaModelStatusConstants.CP_VARIABLE_PATH_UNBOUND :
-				arguments = CorrectionEngine.getProblemArguments(marker);
-				path = new Path(arguments[0]);
-				if (path.segment(0).equals(JavaRuntime.JRELIB_VARIABLE)) {
-					// unbound JRE_LIB
-					if (JREResolution.getAllVMs().length > 0) {
-						return new IMarkerResolution[]{new SelectDefaultSystemLibraryQuickFix()};
-					} else {
-						// define a new default JRE
-						return new IMarkerResolution[]{new DefineSystemLibraryQuickFix()};
-					}
-				}
-				break;
-		}
-		return NO_RESOLUTION;
-	}
-
-	protected IJavaProject getJavaProject(IMarker marker) {
-		return JavaCore.create(marker.getResource().getProject());
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LauncherMessages.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LauncherMessages.java
deleted file mode 100644
index a9198c3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LauncherMessages.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class LauncherMessages {
-
-	private static final String RESOURCE_BUNDLE= LauncherMessages.class.getName();
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private LauncherMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-	
-	/**
-	 * Gets a string from the resource bundle and formats it with the argument
-	 * 
-	 * @param key	the string used to get the bundle value, must not be null
-	 */
-	public static String getFormattedString(String key, Object arg) {
-		return MessageFormat.format(getString(key), new Object[] { arg });
-	}
-
-
-	/**
-	 * Gets a string from the resource bundle and formats it with arguments
-	 */	
-	public static String getFormattedString(String key, Object[] args) {
-		return MessageFormat.format(getString(key), args);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LauncherMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LauncherMessages.properties
deleted file mode 100644
index dab679d..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LauncherMessages.properties
+++ /dev/null
@@ -1,245 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-addVMDialog.browse1=&Browse...
-addVMDialog.duplicateName=The name is already used.
-addVMDialog.enterLocation=Enter the location of the JRE.
-addVMDialog.enterName=Enter a name for the JRE.
-addVMDialog.jreHome=&JRE home directory:
-addVMDialog.jreName=JRE &name:
-addVMDialog.jreType=JRE &type:
-addVMDialog.locationNotExists=The location does not exist.
-addVMDialog.pickJRERootDialog.message=&Select the root directory of the JRE installation:
-AddVMDialog.JRE_system_libraries__1=JRE s&ystem libraries:
-AddVMDialog.Java&doc_URL__1=Ja&vadoc URL:
-AddVMDialog.Bro&wse..._2=Bro&wse...
-AddVMDialog.Select_Javadoc_location__3=Select Javadoc location:
-AddVMDialog.JRE_name_must_be_a_valid_file_name__{0}_1=JRE name must be a valid file name: {0}
-AddVMDialog.Invalid_URL_syntax_specified_for_Javadoc_location._1=Invalid URL syntax specified for Javadoc location.
-
-JavaArgumentsTab.&Arguments_16=Arguments
-JavaArgumentsTab.&Browse_3=&Browse...
-JavaArgumentsTab.&Program_arguments__5=Program &arguments:
-JavaArgumentsTab.Exception_occurred_reading_configuration___15=Exception occurred reading configuration: 
-JavaArgumentsTab.Select_a_&working_directory_for_the_launch_configuration__7=Select a &working directory for the launch configuration:
-JavaArgumentsTab.Use_de&fault_working_directory_4=Use default wor&king directory
-JavaArgumentsTab.VM_ar&guments__6=VM ar&guments:
-JavaArgumentsTab.Wor&king_directory__2=Working directory:
-JavaArgumentsTab.Working_directory_does_not_exist_10=Working directory does not exist
-JavaArgumentsTab.Working_directory_is_not_a_directory_11=Working directory is not a directory
-
-VMArgumentsBlock.VM_Arguments=VM Arguments
-
-JavaConnectTab.&Allow_termination_of_remote_VM_6=&Allow termination of remote VM
-JavaConnectTab.&Browse_3=&Browse...
-
-JavaConnectTab.&Project__2=&Project:
-JavaConnectTab.Choose_a_project_to_constrain_the_search_for_main_types_11=Choose a &project to constrain the search for main types:
-JavaConnectTab.Conn&ect_20=Connect
-JavaConnectTab.Connect&ion_Type__7=Connect&ion Type:
-
-JavaConnectTab.Project_does_not_exist_14=Project does not exist
-JavaConnectTab.Project_selection_10=Project selection
-JavaConnectTab.Connection_Properties_1=Connection Properties
-JavaConnectTab.Unable_to_display_connection_arguments._2=Unable to display connection arguments.
-JavaConnectTab._is_invalid._5=\ is invalid.
-
-JavaEnvironmentTab.Use_defau&lt_classpath_10=Use default class pat&h
-
-JavaJRETab.JRE_home_directory_does_not_exist_37=JRE home directory does not exist
-JavaJRETab.JRE_home_directory_not_specified_36=JRE home directory not specified
-JavaJRETab.JRE_not_specified_38=JRE not specified
-JavaJRETab.&JRE_1=JRE
-JavaJRETab.Add=N&ew...
-JavaJRETab.Run_with_JRE__1=&JRE:
-JavaJRETab.Default_1=Default
-JavaJRETab.Unable_to_initialize_defaults_for_selected_JRE_1=Unable to initialize defaults for selected JRE
-JavaJRETab.Configuration_specifies_undefined_JRE_-_{0}_1=Configuration specifies undefined JRE - {0}
-
-JavaMainTab.&Browse_3=&Browse...
-JavaMainTab.&Main_19=Main
-JavaMainTab.&Project__2=&Project:
-JavaMainTab.Choose_a_&project_to_constrain_the_search_for_main_types__14=Choose a &project to constrain the search for main types:
-JavaMainTab.Choose_a_main_&type_to_launch__12=Choose a main &type to launch:
-JavaMainTab.Choose_Main_Type_11=Choose Main Type
-JavaMainTab.E&xt._jars_6=Include e&xternal jars when searching for a main class
-JavaMainTab.Main_cla&ss__4=&Main class:
-JavaMainTab.Main_type_not_specified_16=Main type not specified
-JavaMainTab.Project_does_not_exist_15=Project does not exist
-JavaMainTab.Project_Selection_13=Project Selection
-JavaMainTab.Searc&h_5=&Search...
-JavaMainTab.St&op_in_main_1=St&op in main
-
-JavaUISourceLocator.askagain.message=Do &not ask again.
-JavaUISourceLocator.selectprojects.message=The source of the type ''{0}'' could not be shown as the type was not found.
-JavaUISourceLocator.selectprojects.title=Debugger Source Lookup
-
-jdkLauncher.error.timeout=Timeout while waiting for VM to connect. Retry?
-
-MainMethodFinder.description=Searching types with 'main'...
-
-SourceLookupBlock.Use_defau&lt_source_lookup_path_1=Use default source loo&kup path
-SourceLookupBlock.Unable_to_save_source_lookup_path_1=Unable to save source lookup path
-
-VMConnectTimeoutStatusHandler.Java_Application_1=Java Application
-
-vmPreferencePage.add=&Add...
-vmPreferencePage.addJRE.title=Create JRE
-vmPreferencePage.edit=&Edit...
-vmPreferencePage.editJRE.title=Edit JRE
-VMPreferencePage.Installed_JRE_location_no_longer_exists.__JRE_will_be_removed_2=Installed JRE location no longer exists.  JRE will be removed
-VMPreferencePage.Installed_JREs_1=Installed JREs
-VMPreferencePage.JRE_removed_3=JRE removed
-vmPreferencePage.jreLocation=Location
-vmPreferencePage.jreName=Name
-vmPreferencePage.jreType=JRE Type
-vmPreferencePage.message=Create, remove or edit JRE definitions.\nThe checked JRE will be used by default to build and run Java programs.
-vmPreferencePage.remove=&Remove
-vmPreferencePage.title=Installed Java Runtime Environments
-VMPreferencePage.Build_failed._1=Build failed.
-VMPreferencePage.&Search..._1=&Search...
-VMPreferencePage.Select_a_directory_to_search_in._2=Select a directory to search in.
-VMPreferencePage.Directory_Selection_3=Directory Selection
-VMPreferencePage.Searching..._4=Searching...
-VMPreferencePage.Found__{0}_-_Searching_{1}_7=Found: {0} - Searching {1}
-VMPreferencePage.Information_1=Information
-VMPreferencePage.No_JREs_found_in_{0}_2=No JREs found in {0}
-VMPreferencePage.JRE_Settings_Changed_1=JRE Settings Changed
-VMPreferencePage.The_JRE_settings_have_changed._A_full_build_is_required_to_make_the_changes_effective._Do_the_full_build_now__2=The JRE settings have changed. A full build is required to make the changes effective. Do the full build now?
-VMPreferencePage.&Yes_3=&Yes
-VMPreferencePage.&No_4=&No
-VMPreferencePage.&Cancel_1=&Cancel
-VMPreferencePage.Installed_&JREs__1=Installed &JREs:
-
-JavaClasspathTab.Us&er_classes_1=User c&lasses
-JavaClasspathTab.&Bootstrap_classes_2=&Bootstrap classes
-JavaClasspathTab.Cla&ss_path_3=Classpath
-JavaClasspathTab.Unable_to_save_classpath_1=Unable to save classpath
-
-JavaSourceLookupTab.Source_1=Source
-
-JavaApplicationAction.Type_Selection_Debug=Debug Type
-JavaApplicationAction.Type_Selection_Run=Run Type
-JavaApplicationAction.Launch_failed_7=Launch Failed
-JavaApplicationAction.Launch_Configuration_Selection_1=Launch Configuration Selection
-JavaApplicationAction.Choose_a_launch_configuration_to_debug_2=Choose a launch configuration to deb&ug:
-JavaApplicationAction.Choose_a_launch_configuration_to_run_3=Choose a launch configuration to r&un:
-
-MainTypeSelectionDialog.Choose_a_type=&Choose a type (? = any character, * = any string):
-MainTypeSelectionDialog.Matching_types=&Matching types:
-MainTypeSelectionDialog.Qualifier=&Qualifier:
-
-VMLibraryBlock.Use_default_system_libraries_1=&Use default system libraries
-VMLibraryBlock.Libraries_cannot_be_empty._1=Libraries cannot be empty.
-VMLibraryBlock.Default_libraries_do_not_exist._1=Default libraries do not exist.
-
-WorkingDirectoryBlock.&Local_directory__1=&Local directory:
-WorkingDirectoryBlock.Works&pace__2=Works&pace:
-WorkingDirectoryBlock.B&rowse..._3=B&rowse...
-WorkingDirectoryBlock.Select_a_&workspace_relative_working_directory__4=Select a &workspace relative working directory:
-WorkingDirectoryBlock.Specified_project_or_folder_does_not_exist._5=Specified project or folder does not exist.
-WorkingDirectoryBlock.Working_Directory_8=Working Directory
-
-SourceLookupBlock.Source_1=Source
-SourceLookupBlock.&Source_Lookup_Path__1=S&ource Lookup Path:
-SourceLookupBlock.&Search_for_duplicate_source_files_on_path_1=Searc&h for duplicate source files on path
-
-JREContainerWizardPage.JRE_System_Library_1=JRE System Library
-JREContainerWizardPage.Unable_to_set_JRE_for_project._2=Unable to set JRE for project.
-JREContainerWizardPage.Select_the_JRE_used_to_build_this_project._4=Select a JRE to add to the classpath.
-JREContainerWizardPage.Unable_to_retrieve_existing_JREs_6=Unable to retrieve existing JREs
-
-RuntimeClasspathAdvancedDialog.Advanced_Options_1=Advanced Options
-RuntimeClasspathAdvancedDialog.Add_&Container__1=Add &Container:
-RuntimeClasspathAdvancedDialog.Select_Container_2=Select Container
-RuntimeClasspathAdvancedDialog.Unable_to_create_new_entry._3=Unable to create new entry.
-RuntimeClasspathAdvancedDialog.Select_an_advanced_option__1=Select an advanced option:
-
-AbstractJavaCommandTab.Name_of_Java_e&xecutable__1=Name of Java e&xecutable:
-AbstractJavaCommandTab.Use_de&fault_Java_executable_2=U&se default Java executable
-AbstractJavaCommandTab.Standard_VM_Java_Command_3=Standard VM Java Command
-AbstractJavaCommandTab.Java_executable_must_be_specified_5=Java executable must be specified
-
-RuntimeClasspathEntryLabelProvider.JRE_System_Library_[{0}]_2=JRE System Library [{0}]
-
-appletlauncher.argumenttab.widthlabel.text=Wi&dth:
-appletlauncher.argumenttab.heightlabel.text=&Height:
-appletlauncher.argumenttab.namelabel.text=Na&me: 
-appletlauncher.argumenttab.parameterslabel.text=&Parameters:
-appletlauncher.argumenttab.parameters.button.add.text=&Add...
-appletlauncher.argumenttab.parameters.button.edit.text=Ed&it...
-appletlauncher.argumenttab.parameters.button.remove.text=Rem&ove
-appletlauncher.argumenttab.width.error.notaninteger=Width is not an integer
-appletlauncher.argumenttab.height.error.notaninteger=Height is not an integer
-appletlauncher.argumenttab.parameters.dialog.add.title=Add Parameter Variable
-appletlauncher.argumenttab.parameters.dialog.add.name.text=&Name:
-appletlauncher.argumenttab.parameters.dialog.add.value.text=&Value:
-appletlauncher.argumenttab.parameters.dialog.edit.title=Edit Parameter Variable
-appletlauncher.argumenttab.parameters.dialog.edit.name.text=&Name
-appletlauncher.argumenttab.parameters.dialog.edit.value.text=&Value
-appletlauncher.argumenttab.name.defaultvalue=
-appletlauncher.argumenttab.parameterscolumn.name.text=Name
-appletlauncher.argumenttab.parameterscolumn.value.text=Value
-appletlauncher.argumenttab.name=Parameters
-
-appletlauncher.maintab.projectlabel.name=&Project:
-appletlauncher.maintab.browselabel.name=&Browse...
-appletlauncher.maintab.mainclasslabel.name=&Applet class:
-appletlauncher.maintab.searchlabel.name=Searc&h...
-appletlauncher.maintab.selection.applet.dialog.title=Choose Applet
-appletlauncher.maintab.selection.applet.dialog.message=Choose an applet to launch:
-appletlauncher.maintab.selection.project.dialog.title=Project Selection
-appletlauncher.maintab.selection.project.dialog.message=Choose a &project to constrain the search for applet types:
-appletlauncher.maintab.project.error.doesnotexist=Project does not exist.
-appletlauncher.maintab.type.error.doesnotexist=Applet type not specified.
-appletlauncher.maintab.name=Main
-
-appletlauncher.utils.error.main_type_not_specified=Applet class not specified
-appletlauncher.utils.error.main_type_does_not_exist=Applet class {0} does not exist in project {1}
-
-appletlauncher.search.dialog.title=Applet Launch
-appletlauncher.search.dialog.error.noapplets=No applets found.
-appletlauncher.search.task.inprogress=Searching applets...
-
-appletlauncher.launching.error.failure=Java applet launch failed
-
-appletlauncher.selection.type.dialog.title=Applet selection
-appletlauncher.selection.type.dialog.message.debug=Select applet to debug
-appletlauncher.selection.type.dialog.message.run=Select applet to run
-appletlauncher.selection.configuration.dialog.title=Select an applet Configuration
-appletlauncher.selection.configuration.dialog.message.debug=Select an Applet configuration to debug
-appletlauncher.selection.configuration.dialog.message.run=Select an Applet configuration to run
-
-AppletParametersTab.(optional_applet_instance_name)_1=(optional applet instance name)
-AppletMainTab.Name_of_appletviewer_class__1=Name of appletviewer class:
-AppletMainTab.Use_default_appletviewer_class_2=Use default appletviewer class
-AppletMainTab.Appletviewer_class_must_be_specified_3=Appletviewer class must be specified
-
-JREContainerResolution.An_exception_occurred_while_updating_the_classpath._1=An exception occurred while updating the classpath.
-JREContainerResolution.Select_a_system_library_to_use_when_building_{0}_2=Select a system library to use when building {0}
-JREContainerResolution.Unable_to_update_classpath_1=Unable to update classpath
-
-JREResolution.Select_System_Library_1=Select System Library
-JREResolution.Select_a_system_library_to_use_when_building_{0}_2=Select a system library to use when building {0}
-
-DefineSystemLibraryQuickFix.Create_a_system_library_definition_2=Create a system library definition
-
-SelectDefaultSystemLibraryQuickFix.Select_Default_System_Library_1=Select Default System Library
-SelectDefaultSystemLibraryQuickFix.&Select_the_system_library_to_use_by_default_for_building_and_running_Java_projects._2=&Select the system library to use by default for building and running Java projects.
-SelectDefaultSystemLibraryQuickFix.An_exception_occurred_while_updating_the_default_system_library._3=An exception occurred while updating the default system library.
-SelectDefaultSystemLibraryQuickFix.Unable_to_update_the_default_system_library._4=Unable to update the default system library.
-SelectDefaultSystemLibraryQuickFix.Select_default_system_library_5=Select default system library
-
-JavaApplicationLaunchShortcut.The_active_editor_does_not_contain_a_main_type._1=The active editor does not contain a main type.
-JavaApplicationLaunchShortcut.The_selection_does_not_contain_a_main_type._2=The selection does not contain a main type.
-JavaApplicationLaunchShortcut.Error_Launching_1=Error Launching
-JavaApplicationLaunchShortcut.Exception=An exception occurred attempting to create launch configuration
-AppletSelectionDialog.Searching..._1=Searching...
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ListContentProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ListContentProvider.java
deleted file mode 100644
index 4efc02e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ListContentProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.util.List;
-
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/** 
- * A specialized content provider to show a list of vm installs
- */ 
-public class ListContentProvider implements IStructuredContentProvider {
-	StructuredViewer fViewer;
-	List fInput;	
-
-	public ListContentProvider(StructuredViewer viewer, List input) {
-		fViewer= viewer;
-		fInput= input;
-	}
-	
-	public Object[] getElements(Object input) {
-		IVMInstall[] installs= new IVMInstall[fInput.size()];
-		return fInput.toArray(installs);
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		fInput= (List)newInput;
-	}
-
-	public void dispose() {
-		fViewer= null;
-		fInput= null;
-	}
-	
-	public boolean isDeleted(Object o) {
-		return fInput.contains(o);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LocalJavaApplicationTabGroup.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LocalJavaApplicationTabGroup.java
deleted file mode 100644
index 70122a7..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/LocalJavaApplicationTabGroup.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
- 
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.*;
-
-public class LocalJavaApplicationTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new JavaMainTab(),
-			new JavaArgumentsTab(),
-			new JavaJRETab(),
-			new JavaClasspathTab(),
-			new JavaSourceLookupTab(),
-			new CommonTab()
-		};
-		setTabs(tabs);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainMethodFinder.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainMethodFinder.java
deleted file mode 100644
index 5b39dbd..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainMethodFinder.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.ui.util.MainMethodSearchEngine;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-public class MainMethodFinder {
-	
-	private MainMethodFinder() {
-	}
-
-	public static IType[] findTargets(IRunnableContext context, final Object[] elements) throws InvocationTargetException, InterruptedException{
-		final Set result= new HashSet();
-	
-		if (elements.length > 0) {
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor pm) throws InterruptedException {
-					int nElements= elements.length;
-					pm.beginTask(LauncherMessages.getString("MainMethodFinder.description"), nElements); //$NON-NLS-1$
-					try {
-						for (int i= 0; i < nElements; i++) {
-							try {
-								collectTypes(elements[i], new SubProgressMonitor(pm, 1), result);
-							} catch (JavaModelException e) {
-								JDIDebugUIPlugin.log(e);
-							}
-							if (pm.isCanceled()) {
-								throw new InterruptedException();
-							}
-						}
-					} finally {
-						pm.done();
-					}
-				}
-			};
-			context.run(true, true, runnable);			
-		}
-		return (IType[]) result.toArray(new IType[result.size()]) ;
-	}
-			
-	private static void collectTypes(Object element, IProgressMonitor monitor, Set result) throws JavaModelException {
-		if (element instanceof IProcess) {
-			element= ((IProcess)element).getLaunch();
-		} else if (element instanceof IDebugTarget) {
-			element= ((IDebugTarget)element).getLaunch();
-		}
-		
-		if (element instanceof IAdaptable) {
-			IJavaElement jelem= (IJavaElement) ((IAdaptable) element).getAdapter(IJavaElement.class);
-			if (jelem != null) {
-				IType parentType= (IType)jelem.getAncestor(IJavaElement.TYPE);
-				if (parentType != null && JavaModelUtil.hasMainMethod((IType) parentType)) {
-					result.add(parentType);
-					monitor.done();
-					return;
-				}
-				IJavaElement openable= (IJavaElement) jelem.getOpenable();
-				if (openable != null) {
-					if (openable.getElementType() == IJavaElement.COMPILATION_UNIT) {
-						ICompilationUnit cu= (ICompilationUnit) openable;
-						IType mainType= cu.getType(Signature.getQualifier(cu.getElementName()));
-						if (mainType.exists() && JavaModelUtil.hasMainMethod(mainType)) {
-							result.add(mainType);
-						}
-						monitor.done();
-						return;
-					} else if (openable.getElementType() == IJavaElement.CLASS_FILE) {
-						IType mainType= ((IClassFile)openable).getType();
-						if (JavaModelUtil.hasMainMethod(mainType)) {
-							result.add(mainType);
-						}
-						monitor.done();
-						return;	
-					}
-				}
-				IType[] types= searchMainMethods(jelem, monitor);
-				for (int i= 0; i < types.length; i++) {
-					result.add(types[i]);
-				}				
-			}
-		}
-	}
-	
-	private static IType[] searchMainMethods(IJavaElement elem, IProgressMonitor monitor) throws JavaModelException {
-		IJavaSearchScope scope= SearchEngine.createJavaSearchScope(new IJavaElement[] { elem });
-		MainMethodSearchEngine searchEngine= new MainMethodSearchEngine();
-		return searchEngine.searchMainMethods(monitor, scope, IJavaElementSearchConstants.CONSIDER_BINARIES);
-	}
-}
-	
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainTypeSelectionDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainTypeSelectionDialog.java
deleted file mode 100644
index 321f3fe..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/MainTypeSelectionDialog.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
- 
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.TwoPaneElementSelector;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A dialog to select a type from a list of types. The dialog allows
- * multiple selections.
- * 
- * @since 2.1
- */
-public class MainTypeSelectionDialog extends TwoPaneElementSelector {
-
-	/** The main types. */
-	private final IType[] fTypes;
-	
-	private static class PackageRenderer extends JavaElementLabelProvider {
-		public PackageRenderer() {
-			super(JavaElementLabelProvider.SHOW_PARAMETERS | JavaElementLabelProvider.SHOW_POST_QUALIFIED | JavaElementLabelProvider.SHOW_ROOT);	
-		}
-
-		public Image getImage(Object element) {
-			return super.getImage(((IType)element).getPackageFragment());
-		}
-		
-		public String getText(Object element) {
-			return super.getText(((IType)element).getPackageFragment());
-		}
-	}
-
-	public MainTypeSelectionDialog(Shell shell, IType[] types) {
-
-		super(shell, new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_BASICS | JavaElementLabelProvider.SHOW_OVERLAY_ICONS), 
-			new PackageRenderer());
-
-		Assert.isNotNull(types);
-		fTypes= types;
-		setMessage(LauncherMessages.getString("MainTypeSelectionDialog.Choose_a_type")); //$NON-NLS-1$		
-		setUpperListLabel(LauncherMessages.getString("MainTypeSelectionDialog.Matching_types")); //$NON-NLS-1$
-		setLowerListLabel(LauncherMessages.getString("MainTypeSelectionDialog.Qualifier")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the main types.
-	 */
-	public IType[] getTypes() {
-		return fTypes;
-	}
-	
-	/*
-	 * @see Windows#configureShell
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		WorkbenchHelp.setHelp(newShell, IJavaDebugHelpContextIds.MAIN_TYPE_SELECTION_DIALOG);
-	}
-
-	/*
-	 * @see Window#open()
-	 */
-	public int open() {
-
-		if (fTypes == null)
-			return CANCEL;
-		
-		setElements(fTypes);
-		return super.open();
-	}
-	
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createDialogArea(Composite parent) {
-		Control control= super.createDialogArea(parent);
-		applyDialogFont(control);
-		return control;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/NameValuePairDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/NameValuePairDialog.java
deleted file mode 100644
index fefc3f8..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/NameValuePairDialog.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.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.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class NameValuePairDialog extends Dialog {
-
-	private String fName;
-	private String fValue;
-
-	private String fTitle;
-	private String[] fFieldLabels;
-	private String[] fInitialValues;
-	private boolean fNameEnabled;
-	
-	private Label fNameLabel;
-	private Text fNameText;
-	private Label fValueLabel;
-	private Text fValueText;
-
-	public NameValuePairDialog(Shell shell, String title, String[] fieldLabels, String[] initialValues, boolean nameEnabled) {
-		super(shell);
-		fTitle = title;
-		fFieldLabels = fieldLabels;
-		fInitialValues = initialValues;
-		fNameEnabled = nameEnabled;
-	}
-
-	/**
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NULL);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 2;
-		comp.setLayout(topLayout);
-		GridData gd;
-		
-		fNameLabel = new Label(comp, SWT.NONE);
-		fNameLabel.setText(fFieldLabels[0]);
-		fNameLabel.setFont(font);
-		
-		fNameText = new Text(comp, SWT.BORDER | SWT.SINGLE);
-		fNameText.setText(fInitialValues[0]);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 300;
-		fNameText.setLayoutData(gd);
-		fNameText.setFont(font);
-		if (fNameEnabled) {
-			fNameText.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					updateButtons();
-				}
-			});
-		} else {
-			fNameText.setEnabled(false);
-		}
-		
-		fValueLabel = new Label(comp, SWT.NONE);
-		fValueLabel.setText(fFieldLabels[1]);
-		fValueLabel.setFont(font);
-		
-		fValueText = new Text(comp, SWT.BORDER | SWT.SINGLE);
-		fValueText.setText(fInitialValues[1]);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 300;
-		fValueText.setLayoutData(gd);
-		fValueText.setFont(font);
-		fValueText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateButtons();
-			}
-		});		
-		
-		applyDialogFont(comp);
-		return comp;
-	}
-	
-	/**
-	 * Return the name/value pair entered in this dialog.  If the cancel button was hit,
-	 * both will be <code>null</code>.
-	 */
-	public String[] getNameValuePair() {
-		return new String[] {fName, fValue};
-	}
-	
-	/**
-	 * @see Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			fName= fNameText.getText();
-			fValue = fValueText.getText();
-		} else {
-			fName = null;
-			fValue = null;
-		}
-		super.buttonPressed(buttonId);
-	}
-	
-	/**
-	 * @see Window#configureShell(Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (fTitle != null) {
-			shell.setText(fTitle);
-		}
-	}
-	
-	/**
-	 * Enable the OK button if valid input
-	 */
-	protected void updateButtons() {
-		String name = fNameText.getText().trim();
-		String value = fValueText.getText().trim();
-		getButton(IDialogConstants.OK_ID).setEnabled((name.length() > 0) &&(value.length() > 0));
-	}
-	
-	/**
-	 * Enable the buttons on creation.
-	 */
-	public void create() {
-		super.create();
-		updateButtons();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RemoteJavaApplicationTabGroup.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RemoteJavaApplicationTabGroup.java
deleted file mode 100644
index 1bdb958..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RemoteJavaApplicationTabGroup.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
- 
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.*;
-
-public class RemoteJavaApplicationTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new JavaConnectTab(),
-			new JavaSourceLookupTab(),
-			new CommonTab(),
-		};
-		setTabs(tabs);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathAdvancedDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathAdvancedDialog.java
deleted file mode 100644
index a66e7b1..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathAdvancedDialog.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.actions.RuntimeClasspathAction;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerDescriptor;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerWizard;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.wizard.WizardDialog;
-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.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;
-
-/**
- * Dialog of radio buttons/actions for advanced classpath options.
- */
-public class RuntimeClasspathAdvancedDialog extends Dialog {
-	
-	private IAction[] fActions;
-	private Button[] fButtons;	
-	
-	private Button fAddContainerButton;
-	private Combo fContainerCombo;
-	private ClasspathContainerDescriptor[] fDescriptors;
-	private RuntimeClasspathViewer fViewer;
-
-	/**
-	 * Constructs a new dialog on the given shell, with the specified
-	 * set of actions.
-	 * 
-	 * @param parentShell
-	 * @param actions advanced actions
-	 */
-	public RuntimeClasspathAdvancedDialog(Shell parentShell, IAction[] actions, RuntimeClasspathViewer viewer) {
-		super(parentShell);
-		fActions = actions;
-		fViewer = viewer;
-	}
-
-	/**
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		initializeDialogUnits(parent);
-		
-		Composite composite= (Composite) super.createDialogArea(parent);
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.makeColumnsEqualWidth = false;
-		layout.numColumns = 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		inner.setLayout(layout);
-		
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		inner.setLayoutData(gd);
-		
-		Label l = new Label(inner, SWT.NONE);
-		l.setText(LauncherMessages.getString("RuntimeClasspathAdvancedDialog.Select_an_advanced_option__1")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		l.setLayoutData(gd);
-		l.setFont(font);
-		
-		fButtons = new Button[fActions.length];
-		for (int i = 0; i < fActions.length; i++) {
-			IAction action= fActions[i];
-			fButtons[i] = new Button(inner, SWT.RADIO);
-			fButtons[i].setText(action.getText());
-			fButtons[i].setData(action);
-			fButtons[i].setEnabled(action.isEnabled());
-			gd = new GridData(GridData.FILL_HORIZONTAL);
-			gd.horizontalSpan = 2;
-			fButtons[i].setLayoutData(gd);
-			fButtons[i].setFont(font);
-		}
-		
-		fAddContainerButton = new Button(inner, SWT.RADIO);
-		fAddContainerButton.setText(LauncherMessages.getString("RuntimeClasspathAdvancedDialog.Add_&Container__1")); //$NON-NLS-1$
-		fAddContainerButton.setFont(font);
-		
-		fContainerCombo = new Combo(inner, SWT.READ_ONLY);
-		fContainerCombo.setFont(font);
-		fDescriptors= ClasspathContainerDescriptor.getDescriptors();
-		String[] names= new String[fDescriptors.length];
-		int maxLength = 0;
-		for (int i = 0; i < names.length; i++) {
-			names[i]= fDescriptors[i].getName();
-			int length = names[i].length();
-			if (length > maxLength) {
-				maxLength = length;
-			}
-		}	
-		fContainerCombo.setItems(names);
-		fContainerCombo.select(0);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.grabExcessHorizontalSpace = true;
-		gd.widthHint = convertWidthInCharsToPixels(maxLength + 5);
-		fContainerCombo.setLayoutData(gd);
-		
-		new Label(inner, SWT.NONE);
-		
-		getShell().setText(LauncherMessages.getString("RuntimeClasspathAdvancedDialog.Advanced_Options_1")); //$NON-NLS-1$
-		
-		return composite;
-
-	}
-
-	/**
-	 * @see Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		if (fAddContainerButton.getSelection()) {
-			int index = fContainerCombo.getSelectionIndex();
-			IRuntimeClasspathEntry entry = chooseContainerEntry(fDescriptors[index]);
-			if (entry != null) {
-				// check if duplicate
-				int pos = fViewer.indexOf(entry);
-				if (pos == -1) {
-					fViewer.addEntries(new IRuntimeClasspathEntry[]{entry});
-				}
-			}
-		} else {
-			for (int i = 0; i < fButtons.length; i++) {
-				if (fButtons[i].getSelection()) {
-					IAction action = (IAction)fButtons[i].getData();
-					if (action instanceof RuntimeClasspathAction) {
-						((RuntimeClasspathAction)action).setShell(getShell());
-					}
-					action.run();
-					break;
-				}
-			}
-		}
-		super.okPressed();
-	}
-	
-	private IRuntimeClasspathEntry chooseContainerEntry(ClasspathContainerDescriptor desc) {
-		IRuntimeClasspathEntry[] currentEntries = fViewer.getEntries();
-		IClasspathEntry[] entries = new IClasspathEntry[currentEntries.length];
-		for (int i = 0; i < entries.length; i++) {
-			entries[i]= currentEntries[i].getClasspathEntry();
-		}
-		ClasspathContainerWizard wizard= new ClasspathContainerWizard(desc, null, entries);
-		
-		WizardDialog dialog= new WizardDialog(getShell(), wizard);
-		dialog.setMinimumPageSize(convertWidthInCharsToPixels(40), convertHeightInCharsToPixels(20));
-		dialog.create();
-		dialog.getShell().setText(LauncherMessages.getString("RuntimeClasspathAdvancedDialog.Select_Container_2")); //$NON-NLS-1$
-		if (dialog.open() == WizardDialog.OK) {
-			IClasspathEntry created= wizard.getNewEntry();
-			if (created != null) {
-				// XXX: kind needs to be resolved
-				try {
-					return JavaRuntime.newRuntimeContainerClasspathEntry(created.getPath(), IRuntimeClasspathEntry.STANDARD_CLASSES);
-				} catch (CoreException e) {
-					JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("RuntimeClasspathAdvancedDialog.Unable_to_create_new_entry._3"), e); //$NON-NLS-1$
-				}
-			}
-		}			
-		return null;
-	}	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathEntryLabelProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathEntryLabelProvider.java
deleted file mode 100644
index 64e8802..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathEntryLabelProvider.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.launching.JREContainer;
-import org.eclipse.jdt.internal.launching.JREContainerInitializer;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Label provider for runtime classpath entries.
- */
-public class RuntimeClasspathEntryLabelProvider extends LabelProvider {
-		
-		private WorkbenchLabelProvider lp = new WorkbenchLabelProvider();
-		
-		/**
-		 * Context in which to render containers, or <code>null</code>
-		 */
-		private ILaunchConfiguration fLaunchConfuration;
-		
-		/**
-		 * @see ILabelProvider#getImage(Object)
-		 */
-		public Image getImage(Object element) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry)element;
-			switch (entry.getType()) {
-				case IRuntimeClasspathEntry.PROJECT:
-					// XXX: what if project not loaded?
-					IResource res = entry.getResource();
-					IJavaElement proj = JavaCore.create(res);
-					return lp.getImage(proj);
-				case IRuntimeClasspathEntry.ARCHIVE:
-					// XXX: illegal access to images
-					res = entry.getResource();
-					if (res instanceof IContainer) {
-						return lp.getImage(res);
-					}
-					boolean external = res == null;
-					boolean source = (entry.getSourceAttachmentPath() != null && !Path.EMPTY.equals(entry.getSourceAttachmentPath()));
-					String key = null;
-					if (external) {
-						if (source) {
-							key = JavaPluginImages.IMG_OBJS_EXTJAR_WSRC;
-						} else {
-							key = JavaPluginImages.IMG_OBJS_EXTJAR;
-						}	
-					} else {
-						if (source) {
-							key = JavaPluginImages.IMG_OBJS_JAR_WSRC;
-						} else {
-							key = JavaPluginImages.IMG_OBJS_JAR;
-						}
-					}
-					return JavaPluginImages.get(key);
-				case IRuntimeClasspathEntry.VARIABLE:
-					// XXX: illegal internal access
-					return JavaPluginImages.get(JavaPluginImages.IMG_OBJS_ENV_VAR);				
-				case IRuntimeClasspathEntry.CONTAINER:
-					// XXX: illegal internal access
-					return JavaPluginImages.get(JavaPluginImages.IMG_OBJS_LIBRARY);
-			}	
-			return null;
-		}
-
-		/**
-		 * @see ILabelProvider#getText(Object)
-		 */
-		public String getText(Object element) {
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry)element;
-			switch (entry.getType()) {
-				case IRuntimeClasspathEntry.PROJECT:
-					IResource res = entry.getResource();
-					IJavaElement proj = JavaCore.create(res);
-					return lp.getText(proj);
-				case IRuntimeClasspathEntry.ARCHIVE:
-					res = entry.getResource();
-					if (res == null) {
-						return entry.getPath().toString();
-					} else {
-						return lp.getText(res);				
-					}
-				case IRuntimeClasspathEntry.VARIABLE:
-					IPath path = entry.getPath();
-					IPath srcPath = entry.getSourceAttachmentPath();
-					StringBuffer buf = new StringBuffer(path.toString());
-					if (srcPath != null) {
-						buf.append(" ["); //$NON-NLS-1$
-						buf.append(srcPath.toString());
-						IPath rootPath = entry.getSourceAttachmentRootPath();
-						if (rootPath != null) {
-							buf.append(IPath.SEPARATOR);
-							buf.append(rootPath.toString());
-						}
-						buf.append(']'); //$NON-NLS-1$
-					}
-					// append JRE name if we can compute it
-					if (path.equals(new Path(JavaRuntime.JRELIB_VARIABLE)) && fLaunchConfuration != null) {
-						try {
-							IVMInstall vm = JavaRuntime.computeVMInstall(fLaunchConfuration);					
-							buf.append(" - "); //$NON-NLS-1$
-							buf.append(vm.getName());
-						} catch (CoreException e) {
-							JDIDebugUIPlugin.log(e);
-						}
-					}
-					return buf.toString();
-				case IRuntimeClasspathEntry.CONTAINER:
-					path = entry.getPath();
-					if (fLaunchConfuration != null) {
-						try {
-							if (path.equals(new Path(JavaRuntime.JRE_CONTAINER))) {
-								// default JRE - resolve the name for the launch config, rather than using the "workspace" default description
-								IVMInstall vm = JavaRuntime.computeVMInstall(fLaunchConfuration);
-								return MessageFormat.format(LauncherMessages.getString("RuntimeClasspathEntryLabelProvider.JRE_System_Library_[{0}]_2"), new String[]{vm.getName()}); //$NON-NLS-1$
-							}
-							IJavaProject project = JavaRuntime.getJavaProject(fLaunchConfuration);
-							if (project == null) {
-								if (path.segmentCount() > 0 && path.segment(0).equals(JavaRuntime.JRE_CONTAINER)) {
-									IVMInstall vm = JREContainerInitializer.resolveVM(path);
-									if (vm != null) {
-										JREContainer container = new JREContainer(vm, path);
-										return container.getDescription();
-									}
-								}
-							} else {
-								IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), project);
-								if (container != null) {
-									return container.getDescription();
-								}
-							}
-						} catch (CoreException e) {
-							JDIDebugUIPlugin.log(e);
-						}
-					}
-					return entry.getPath().toString();
-			}	
-			return ""; //$NON-NLS-1$
-		}
-		
-		/**
-		 * @see IBaseLabelProvider#dispose()
-		 */
-		public void dispose() {
-			super.dispose();
-			lp.dispose();
-		}
-		
-		/**
-		 * Sets the launch configuration context for this label provider
-		 */
-		public void setLaunchConfiguration(ILaunchConfiguration configuration) {
-			fLaunchConfuration = configuration;
-			fireLabelProviderChanged(new LabelProviderChangedEvent(this));
-		}
-
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathViewer.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathViewer.java
deleted file mode 100644
index f31f667..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/RuntimeClasspathViewer.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
- 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A viewer that displays and manipulates runtime classpath entries.
- */
-public class RuntimeClasspathViewer extends TableViewer {
-	
-	/**
-	 * Whether enabled/editable.
-	 */
-	private boolean fEnabled = true;
-	
-	/**
-	 * Entry changed listeners
-	 */
-	private ListenerList fListeners = new ListenerList(3);
-	
-	/**
-	 * The launch configuration context for this viewer, or <code>null</code>
-	 */
-	private ILaunchConfiguration fLaunchConfiguration;
-	
-	/**
-	 * The runtime classpath entries displayed in this viewer
-	 */
-	protected List fEntries = new ArrayList();
-	
-	class ContentProvider implements IStructuredContentProvider {
-			
-		/**
-		 * @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) {
-		}
-		
-	}
-		
-	/**
-	 * Creates a runtime classpath viewer with the given parent.
-	 *
-	 * @param parent the parent control
-	 */
-	public RuntimeClasspathViewer(Composite parent) {
-		super(parent);
-		setContentProvider(new ContentProvider());
-		RuntimeClasspathEntryLabelProvider lp = new RuntimeClasspathEntryLabelProvider();
-		lp.setLaunchConfiguration(fLaunchConfiguration);
-		setLabelProvider(lp);
-		setInput(fEntries);
-	}	
-
-	/**
-	 * Sets the entries in this viewer to the given runtime classpath
-	 * entries
-	 * 
-	 * @param entries runtime classpath entries
-	 */
-	public void setEntries(IRuntimeClasspathEntry[] entries) {
-		fEntries.clear();
-		for (int i = 0; i < entries.length; i++) {
-			fEntries.add(entries[i]);
-		}
-		setInput(fEntries);
-		notifyChanged();
-	}
-	
-	/**
-	 * Returns the entries in this viewer
-	 * 
-	 * @return the entries in this viewer
-	 */
-	public IRuntimeClasspathEntry[] getEntries() {
-		return (IRuntimeClasspathEntry[])fEntries.toArray(new IRuntimeClasspathEntry[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(IRuntimeClasspathEntry[] 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++;
-				}
-			}
-		}
-		setSelection(new StructuredSelection(entries));
-		refresh();
-		notifyChanged();
-	}	
-	
-	/**
-	 * 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;
-	}
-	
-	/**
-	 * Sets the launch configuration context for this viewer, if any
-	 */
-	public void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fLaunchConfiguration = configuration;
-		if (getLabelProvider() != null) {
-			((RuntimeClasspathEntryLabelProvider)getLabelProvider()).setLaunchConfiguration(configuration);
-		}
-	}
-	
-	public void addEntriesChangedListener(IEntriesChangedListener listener) {
-		fListeners.add(listener);
-	}
-	
-	public void removeEntriesChangedListener(IEntriesChangedListener listener) {
-		fListeners.remove(listener);
-	}
-	
-	public void notifyChanged() {
-		Object[] listeners = fListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			((IEntriesChangedListener)listeners[i]).entriesChanged(this);
-		}
-	}
-	
-	/**
-	 * 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(IRuntimeClasspathEntry entry) {
-		return fEntries.indexOf(entry);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SelectDefaultSystemLibraryQuickFix.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SelectDefaultSystemLibraryQuickFix.java
deleted file mode 100644
index 1f3043b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SelectDefaultSystemLibraryQuickFix.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IMarker;
-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.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-/**
- * Quick fix to select an alternate default JRE. 
- */
-public class SelectDefaultSystemLibraryQuickFix extends JREResolution {
-	
-	public SelectDefaultSystemLibraryQuickFix() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IMarkerResolution#run(org.eclipse.core.resources.IMarker)
-	 */
-	public void run(IMarker marker) {
-		try {
-			String title = LauncherMessages.getString("SelectDefaultSystemLibraryQuickFix.Select_Default_System_Library_1"); //$NON-NLS-1$
-			String message = LauncherMessages.getString("SelectDefaultSystemLibraryQuickFix.&Select_the_system_library_to_use_by_default_for_building_and_running_Java_projects._2"); //$NON-NLS-1$
-		
-			final IVMInstall vm = chooseVMInstall(title, message);
-			if (vm == null) {
-				return;
-			}
-
-			ProgressMonitorDialog monitor = new ProgressMonitorDialog(JDIDebugUIPlugin.getActiveWorkbenchShell());
-			IRunnableWithProgress runnable = new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-						try {
-							JavaRuntime.setDefaultVMInstall(vm, monitor);
-						} catch (CoreException e) {
-							throw new InvocationTargetException(e);
-						}
-				}
-			};
-		
-			try {
-				monitor.run(true, true, runnable);
-			} catch (InvocationTargetException e) {
-				if (e.getTargetException() instanceof CoreException) {
-					throw (CoreException)e.getTargetException();
-				}
-				throw new CoreException(new Status(IStatus.ERROR,
-					JDIDebugUIPlugin.getUniqueIdentifier(),
-					IJavaDebugUIConstants.INTERNAL_ERROR,
-					LauncherMessages.getString("SelectDefaultSystemLibraryQuickFix.An_exception_occurred_while_updating_the_default_system_library._3"), e.getTargetException())); //$NON-NLS-1$
-			} catch (InterruptedException e) {
-				// cancelled
-			}			
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("SelectDefaultSystemLibraryQuickFix.Unable_to_update_the_default_system_library._4"), e.getStatus()); //$NON-NLS-1$
-		}
-	}
-		
-	/**
-	 * @see org.eclipse.ui.IMarkerResolution#getLabel()
-	 */
-	public String getLabel() {
-		return LauncherMessages.getString("SelectDefaultSystemLibraryQuickFix.Select_default_system_library_5"); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SelectSystemLibraryQuickFix.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SelectSystemLibraryQuickFix.java
deleted file mode 100644
index 46c373d..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SelectSystemLibraryQuickFix.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IMarker;
-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.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.launching.JREContainer;
-import org.eclipse.jdt.internal.launching.JREContainerInitializer;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-/**
- * Quick fix to select an alternate JRE for a project. 
- */
-public class SelectSystemLibraryQuickFix extends JREResolution {
-	
-	private IPath fUnboundPath;
-	private IJavaProject fProject;
-	
-	public SelectSystemLibraryQuickFix(IPath unboundPath, IJavaProject project) {
-		fUnboundPath = unboundPath;
-		fProject = project;	
-	}
-
-	/**
-	 * @see org.eclipse.ui.IMarkerResolution#run(org.eclipse.core.resources.IMarker)
-	 */
-	public void run(IMarker marker) {
-		try {
-			handleContainerResolutionError(fUnboundPath, fProject);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("JREContainerResolution.Unable_to_update_classpath_1"), e.getStatus());  //$NON-NLS-1$
-		}
-	}
-	
-	protected void handleContainerResolutionError(final IPath unboundPath, final IJavaProject project) throws CoreException {			
-		
-		String title = LauncherMessages.getString("JREResolution.Select_System_Library_1"); //$NON-NLS-1$
-		String message = MessageFormat.format(LauncherMessages.getString("JREResolution.Select_a_system_library_to_use_when_building_{0}_2"), new String[]{project.getElementName()}); //$NON-NLS-1$
-		
-		final IVMInstall vm = chooseVMInstall(title, message);
-		if (vm == null) {
-			return;
-		}
-
-		ProgressMonitorDialog monitor = new ProgressMonitorDialog(JDIDebugUIPlugin.getActiveWorkbenchShell());
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor)
-				throws InvocationTargetException, InterruptedException {
-					String vmTypeId = vm.getVMInstallType().getId();
-					String vmName = vm.getName();
-					String prevId = JREContainerInitializer.getVMTypeId(unboundPath);
-					String prevName = JREContainerInitializer.getVMName(unboundPath);
-					try {
-						IPath newBinding = unboundPath;
-						if (!(prevId.equals(vmTypeId) && prevName.equals(vmName))) {
-							// update classpath
-							IPath newPath = new Path(JavaRuntime.JRE_CONTAINER);
-							if (vmTypeId != null) {
-								newPath = newPath.append(vmTypeId).append(vmName);
-							}
-							IClasspathEntry[] classpath = project.getRawClasspath();
-							for (int i = 0; i < classpath.length; i++) {
-								switch (classpath[i].getEntryKind()) {
-									case IClasspathEntry.CPE_CONTAINER:
-										if (classpath[i].getPath().equals(unboundPath)) {
-											classpath[i] = JavaCore.newContainerEntry(newPath, classpath[i].isExported());
-										}
-										break;
-									default:
-										break;
-								}
-							}
-							project.setRawClasspath(classpath, monitor);
-							newBinding = newPath;
-						}
-					JavaCore.setClasspathContainer(unboundPath, new IJavaProject[] {project}, new IClasspathContainer[] {new JREContainer(vm, newBinding)}, monitor);
-					} catch (CoreException e) {
-						throw new InvocationTargetException(e);
-					}
-			}
-		};
-		
-		try {
-			monitor.run(true, true, runnable);
-		} catch (InvocationTargetException e) {
-			if (e.getTargetException() instanceof CoreException) {
-				throw (CoreException)e.getTargetException();
-			}
-			throw new CoreException(new Status(IStatus.ERROR,
-				JDIDebugUIPlugin.getUniqueIdentifier(),
-				IJavaDebugUIConstants.INTERNAL_ERROR,
-				LauncherMessages.getString("JREContainerResolution.An_exception_occurred_while_updating_the_classpath._1"), e.getTargetException())); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			// cancelled
-		}
-	}		
-	/**
-	 * @see org.eclipse.ui.IMarkerResolution#getLabel()
-	 */
-	public String getLabel() {
-		return MessageFormat.format(LauncherMessages.getString("JREContainerResolution.Select_a_system_library_to_use_when_building_{0}_2"), new String[]{fProject.getElementName()}); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceElementLabelProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceElementLabelProvider.java
deleted file mode 100644
index b0db84b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceElementLabelProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.launching.sourcelookup.LocalFileStorage;
-import org.eclipse.jdt.launching.sourcelookup.ZipEntryStorage;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A label provider for source elements found with a JavaSourceLocator
- */
-public class SourceElementLabelProvider extends LabelProvider implements ILabelProvider {
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if (element instanceof IJavaElement) {
-			return ((IJavaElement)element).getElementName();
-		} else if (element instanceof ZipEntryStorage) {
-			ZipEntryStorage storage = (ZipEntryStorage)element;
-			return storage.getZipEntry().getName();
-		} else if (element instanceof LocalFileStorage) {
-			LocalFileStorage storage = (LocalFileStorage)element;
-			return storage.getName();
-		}
-		return super.getText(element);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		if (element instanceof ICompilationUnit) {
-			return JavaUI.getSharedImages().getImage(org.eclipse.jdt.ui.ISharedImages.IMG_OBJS_CUNIT);
-		} else if (element instanceof IClassFile) {
-			return JavaUI.getSharedImages().getImage(org.eclipse.jdt.ui.ISharedImages.IMG_OBJS_CFILE);
-		} else if (element instanceof ZipEntryStorage) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-		} else if (element instanceof LocalFileStorage) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-		}
-		return super.getImage(element);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceElementQualifierProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceElementQualifierProvider.java
deleted file mode 100644
index bc5e3b2..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceElementQualifierProvider.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.io.File;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.sourcelookup.LocalFileStorage;
-import org.eclipse.jdt.launching.sourcelookup.ZipEntryStorage;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A label provider for source element qaulifiers found with a JavaSourceLocator
- */
-public class SourceElementQualifierProvider extends LabelProvider implements ILabelProvider {
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if (element instanceof IJavaElement) {
-			IJavaProject project = ((IJavaElement)element).getJavaProject();
-			return project.getElementName();
-		} else if (element instanceof ZipEntryStorage) {
-			ZipEntryStorage storage = (ZipEntryStorage)element;
-			ZipFile zipFile = storage.getArchive();
-			IPath path = new Path(zipFile.getName());
-			IRuntimeClasspathEntry entry = JavaRuntime.newArchiveRuntimeClasspathEntry(path);
-			IResource res = entry.getResource();
-			if (res == null) {
-				// external
-				return zipFile.getName();
-			} else {
-				// intenral
-				return res.getName();
-			}
-		} else if (element instanceof LocalFileStorage) {
-			LocalFileStorage storage = (LocalFileStorage)element;
-			File extFile = storage.getFile();
-			IPath path = new Path(extFile.getAbsolutePath());
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
-			if (file == null) {
-				// external
-				return extFile.getParent();
-			} else {
-				// internal
-				return file.getProject().getName();
-			}
-		}
-		return super.getText(element);
-	}
-	
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		if (element instanceof IJavaElement) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_PROJECT);
-		} else if (element instanceof ZipEntryStorage) {
-			return JavaPluginImages.get(JavaPluginImages.IMG_OBJS_JAR_WSRC);
-		} else if (element instanceof LocalFileStorage) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-		}
-		return super.getImage(element);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceLookupBlock.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceLookupBlock.java
deleted file mode 100644
index d52b969..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/SourceLookupBlock.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-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.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.debug.ui.JavaUISourceLocator;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.actions.AddAdvancedAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddExternalFolderAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddExternalJarAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddFolderAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddJarAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddProjectAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddVariableAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AttachSourceAction;
-import org.eclipse.jdt.internal.debug.ui.actions.MoveDownAction;
-import org.eclipse.jdt.internal.debug.ui.actions.MoveUpAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RemoveAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RuntimeClasspathAction;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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;
- 
-/**
- * Control used to edit the source lookup path for a Java launch configuration.
- */
-public class SourceLookupBlock extends JavaLaunchConfigurationTab implements ILaunchConfigurationTab {
-	
-	protected ILaunchConfiguration fConfig;
-	
-	protected RuntimeClasspathViewer fPathViewer;
-	protected Button fDefaultButton;
-	protected Button fDuplicatesButton;
-	protected List fActions = new ArrayList(10);
-	
-	protected static final String DIALOG_SETTINGS_PREFIX = "SourceLookupBlock"; //$NON-NLS-1$
-	
-	/**
-	 * Creates and returns the source lookup control.
-	 * 
-	 * @param parent the parent widget of this control
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 2;
-		comp.setLayout(topLayout);		
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		comp.setLayoutData(gd);
-		
-		Label viewerLabel= new Label(comp, SWT.LEFT);
-		viewerLabel.setText(LauncherMessages.getString("SourceLookupBlock.&Source_Lookup_Path__1")); //$NON-NLS-1$
-		gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan= 2;
-		viewerLabel.setLayoutData(gd);
-		viewerLabel.setFont(font);
-		
-		fPathViewer = new RuntimeClasspathViewer(comp);
-		fPathViewer.addEntriesChangedListener(this);
-		gd = new GridData(GridData.FILL_BOTH);
-		fPathViewer.getControl().setLayoutData(gd);
-		fPathViewer.getControl().setFont(font);
-
-		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);
-						
-		fDefaultButton = new Button(comp, SWT.CHECK);
-		fDefaultButton.setText(LauncherMessages.getString("SourceLookupBlock.Use_defau&lt_source_lookup_path_1")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fDefaultButton.setLayoutData(gd);
-		fDefaultButton.setFont(font);
-		fDefaultButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleDefaultButtonSelected();
-			}
-		});
-		
-		fDuplicatesButton = new Button(comp, SWT.CHECK);
-		fDuplicatesButton.setText(LauncherMessages.getString("SourceLookupBlock.&Search_for_duplicate_source_files_on_path_1")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fDuplicatesButton.setLayoutData(gd);
-		fDuplicatesButton.setFont(font);
-		fDuplicatesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				setDirty(true);
-				updateLaunchConfigurationDialog();
-			}
-		});		
-		
-		List advancedActions = new ArrayList(5);
-		
-		GC gc = new GC(parent);
-		gc.setFont(parent.getFont());
-		FontMetrics fontMetrics= gc.getFontMetrics();
-		gc.dispose();
-				
-		RuntimeClasspathAction action = new MoveUpAction(null);								
-		Button button  = createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);
-		
-		action = new MoveDownAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);		
-
-		action = new RemoveAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);		
-		
-		action = new AddProjectAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);		
-
-		action = new AddJarAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);		
-
-		action = new AddExternalJarAction(null, DIALOG_SETTINGS_PREFIX);								
-		button  = createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);		
-
-		action = new AddFolderAction(null);								
-		advancedActions.add(action);
-
-		action = new AddExternalFolderAction(null, DIALOG_SETTINGS_PREFIX);								
-		advancedActions.add(action);		
-
-		action = new AddVariableAction(null);								
-		advancedActions.add(action);		
-		
-		action = new AttachSourceAction(null);								
-		advancedActions.add(action);				
-									
-		IAction[] adv = (IAction[])advancedActions.toArray(new IAction[advancedActions.size()]);
-		action = new AddAdvancedAction(null, adv);
-		button = createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);
-																
-		retargetActions(fPathViewer);
-				
-		setControl(comp);
-	}
-
-	/**
-	 * The "default" button has been toggled
-	 */
-	protected void handleDefaultButtonSelected() {
-		setDirty(true);
-		boolean def = fDefaultButton.getSelection();
-		if (def) {
-			try {
-				ILaunchConfiguration config = getLaunchConfiguration();
-				ILaunchConfigurationWorkingCopy wc = null;
-				if (config.isWorkingCopy()) {
-					wc= (ILaunchConfigurationWorkingCopy)config;
-				} else {
-					wc = config.getWorkingCopy();
-				}
-				performApply(wc);
-				IRuntimeClasspathEntry[] defs = JavaRuntime.computeUnresolvedSourceLookupPath(wc);
-				fPathViewer.setEntries(defs);
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		fPathViewer.setEnabled(!def);
-		updateLaunchConfigurationDialog();
-	}
-	
-	/**
-	 * Creates and returns a button 
-	 * 
-	 * @param parent parent widget
-	 * @param label label
-	 * @return Button
-	 */
-	protected Button createPushButton(Composite parent, String label, FontMetrics fontMetrics) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		button.setText(label);
-		GridData gd= getButtonGridData(button, fontMetrics);
-		button.setLayoutData(gd);
-		return button;	
-	}
-	
-	private GridData getButtonGridData(Button button, FontMetrics fontMetrics) {
-		GridData gd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-
-		int widthHint= Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint= Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	
-		gd.heightHint= Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
-		return gd;
-	}
-	
-	/**
-	 * Create some empty space 
-	 */
-	protected void createVerticalSpacer(Composite comp, int colSpan) {
-		Label label = new Label(comp, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = colSpan;
-		label.setLayoutData(gd);
-	}	
-
-	/**
-	 * Adds the given action to the action collection in this tab
-	 */
-	protected void addAction(RuntimeClasspathAction action) {
-		fActions.add(action);
-	}
-	
-	/**
-	 * Re-targets actions to the given viewer
-	 */
-	protected void retargetActions(RuntimeClasspathViewer viewer) {
-		Iterator actions = fActions.iterator();
-		while (actions.hasNext()) {
-			RuntimeClasspathAction action = (RuntimeClasspathAction)actions.next();
-			action.setViewer(viewer);
-		}
-	}
-	
-	/**
-	 * Initializes this control based on the settings in the given
-	 * launch configuration.
-	 */
-	public void initializeFrom(ILaunchConfiguration config) {
-		boolean useDefault = true;
-		try {
-			useDefault = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, true);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}		
-		if (config == getLaunchConfiguration()) {
-			// same as previously viewed launch config
-			if (!useDefault && !fDefaultButton.getSelection()) {
-				// If an explicit classpath is being used, it must be the same as before.
-				// No need to refresh
-				setDirty(false);
-				return;
-			}
-		}
-		setLaunchConfiguration(config);
-		fDefaultButton.setSelection(useDefault);
-		try {
-			IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedSourceLookupPath(config);
-			fPathViewer.setEntries(entries);
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != IJavaLaunchConfigurationConstants.ERR_NOT_A_JAVA_PROJECT) {
-				// do not log error for non-existant project
-				JDIDebugUIPlugin.log(e);
-			}
-		}
-		fPathViewer.setEnabled(!useDefault);
-		fPathViewer.setLaunchConfiguration(config);
-		try {
-			fDuplicatesButton.setSelection(config.getAttribute(JavaUISourceLocator.ATTR_FIND_ALL_SOURCE_ELEMENTS, false));
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		setDirty(false);
-	}
-	
-	/**
-	 * Saves settings in the given working copy
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if (isDirty()) {
-			boolean def = fDefaultButton.getSelection();		
-			if (def) {
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, (String)null);
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH, (List)null);
-			} else {
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, def);
-				try {
-					IRuntimeClasspathEntry[] entries = fPathViewer.getEntries();
-					List mementos = new ArrayList(entries.length);
-					for (int i = 0; i < entries.length; i++) {
-						mementos.add(entries[i].getMemento());
-					}
-					configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH, mementos);
-				} catch (CoreException e) {
-					JDIDebugUIPlugin.errorDialog(LauncherMessages.getString("SourceLookupBlock.Unable_to_save_source_lookup_path_1"), e); //$NON-NLS-1$
-				}	
-			}
-			boolean dup = fDuplicatesButton.getSelection();
-			if (dup) {
-				configuration.setAttribute(JavaUISourceLocator.ATTR_FIND_ALL_SOURCE_ELEMENTS, true);		
-			} else {
-				configuration.setAttribute(JavaUISourceLocator.ATTR_FIND_ALL_SOURCE_ELEMENTS, (String)null);
-			}
-		}
-	}	
-	
-	/**
-	 * Returns the entries visible in the viewer
-	 */
-	public IRuntimeClasspathEntry[] getEntries() {
-		return fPathViewer.getEntries();
-	}	
-	
-	/**
-	 * Sets the configuration associated with this source lookup
-	 * block.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	private void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fConfig = configuration;
-	}
-	
-	/**
-	 * Sets the configuration associated with this source lookup
-	 * block.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		return fConfig;
-	}	
-
-	/**
-	 * @see ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("SourceLookupBlock.Source_1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, (String)null);
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH, (List)null);
-		configuration.setAttribute(JavaUISourceLocator.ATTR_FIND_ALL_SOURCE_ELEMENTS, (String)null);
-	}
-
-	/**
-	 * @see AbstractLaunchConfigurationTab#updateLaunchConfigurationDialog()
-	 */
-	protected void updateLaunchConfigurationDialog() {
-		if (getLaunchConfigurationDialog() != null) {
-			super.updateLaunchConfigurationDialog();
-		}
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-		fPathViewer.removeEntriesChangedListener(this);
-		super.dispose();
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/StandardVMCommandTab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/StandardVMCommandTab.java
deleted file mode 100644
index 239c9f3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/StandardVMCommandTab.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-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.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;
-
-public class StandardVMCommandTab extends AbstractLaunchConfigurationTab {
-	
-	protected Text fJavaCommandText;
-	protected Button fDefaultButton;
-	
-	protected static final Map EMPTY_MAP = new HashMap(1);
-	
-	/**
-	 * @see ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		GridLayout topLayout = new GridLayout();
-		comp.setLayout(topLayout);
-		topLayout.marginWidth= 0;
-		topLayout.marginHeight= 0;
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		comp.setLayoutData(gd);
-		comp.setFont(font);
-		
-		createVerticalSpacer(comp, 2);
-		
-		Label javaCommandLabel= new Label(comp, SWT.NONE);
-		javaCommandLabel.setText(LauncherMessages.getString("AbstractJavaCommandTab.Name_of_Java_e&xecutable__1"));  //$NON-NLS-1$
-		javaCommandLabel.setFont(font);
-		
-		fJavaCommandText= new Text(comp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fJavaCommandText.setLayoutData(gd);
-		fJavaCommandText.setFont(font);
-		fJavaCommandText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fDefaultButton = new Button(comp, SWT.CHECK);
-		fDefaultButton.setText(LauncherMessages.getString("AbstractJavaCommandTab.Use_de&fault_Java_executable_2")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fDefaultButton.setLayoutData(gd);
-		fDefaultButton.setFont(font);
-		fDefaultButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleDefaultButtonSelected(fDefaultButton.getSelection());
-			}
-		});
-
-		setControl(comp);
-	}
-
-	protected void handleDefaultButtonSelected(boolean useDefault) {
-		if (useDefault) {
-			fJavaCommandText.setText(getDefaultCommand());
-		} 
-		fJavaCommandText.setEnabled(!useDefault);
-	}
-	
-	protected String getDefaultCommand() {
-		return "javaw";  //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("AbstractJavaCommandTab.Standard_VM_Java_Command_3"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		String javaCommand= null;
-		try {
-			Map attributeMap = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP, (Map)null);
-			if (attributeMap != null) {
-				javaCommand = (String) attributeMap.get(IJavaLaunchConfigurationConstants.ATTR_JAVA_COMMAND);
-			}
-		} catch(CoreException ce) {
-			JDIDebugUIPlugin.log(ce);		
-		}
-		if (javaCommand == null) {
-			javaCommand = getDefaultCommand();
-		}
-		fJavaCommandText.setText(javaCommand);
-		if (javaCommand.equals(getDefaultCommand())) {
-			//using the default
-			fDefaultButton.setSelection(true);
-			handleDefaultButtonSelected(true);
-		} else {
-			fDefaultButton.setSelection(false);
-			handleDefaultButtonSelected(false);
-		}
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if (fDefaultButton.getSelection()) {
-			configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP, (Map)null);
-		} else {
-			String javaCommand = fJavaCommandText.getText();
-			Map attributeMap = new HashMap(1);
-			attributeMap.put(IJavaLaunchConfigurationConstants.ATTR_JAVA_COMMAND, javaCommand);
-			configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP, attributeMap);		
-		}		 
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP, (Map)null);
-	}	
-
-	/**
-	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		boolean valid= fJavaCommandText.getText().length() != 0;
-		if (valid) {
-			setErrorMessage(null);
-			setMessage(null);
-		} else {
-			setErrorMessage(LauncherMessages.getString("AbstractJavaCommandTab.Java_executable_must_be_specified_5")); //$NON-NLS-1$
-			setMessage(null);
-		}
-		return valid;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMArgumentsBlock.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMArgumentsBlock.java
deleted file mode 100644
index 87cc3cf..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMArgumentsBlock.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-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.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Editor for VM arguments of a Java launch configuration.
- */
-public class VMArgumentsBlock extends JavaLaunchConfigurationTab {
-
-	// VM arguments widgets
-	protected Label fVMArgumentsLabel;
-	protected Text fVMArgumentsText;
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		GridLayout topLayout = new GridLayout();
-		topLayout.marginHeight = 0;
-		topLayout.marginWidth = 0;
-		comp.setLayout(topLayout);	
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		comp.setLayoutData(gd);
-				
-		fVMArgumentsLabel = new Label(comp, SWT.NONE);
-		fVMArgumentsLabel.setText(LauncherMessages.getString("JavaArgumentsTab.VM_ar&guments__6")); //$NON-NLS-1$
-		fVMArgumentsLabel.setFont(font);
-		
-		fVMArgumentsText = new Text(comp, SWT.MULTI | SWT.WRAP| SWT.BORDER | SWT.V_SCROLL);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 40;
-		gd.widthHint = 100;
-		fVMArgumentsText.setLayoutData(gd);
-		fVMArgumentsText.setFont(font);
-		fVMArgumentsText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});	
-				
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, (String)null);		
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		try {
-			fVMArgumentsText.setText(configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "")); //$NON-NLS-1$
-		} catch (CoreException e) {
-			setErrorMessage(LauncherMessages.getString("JavaArgumentsTab.Exception_occurred_reading_configuration___15") + e.getStatus().getMessage()); //$NON-NLS-1$
-			JDIDebugUIPlugin.log(e);			
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, getAttributeValueFrom(fVMArgumentsText));
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("VMArgumentsBlock.VM_Arguments"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Retuns the string in the text widget, or <code>null</code> if empty.
-	 * 
-	 * @return text or <code>null</code>
-	 */
-	protected String getAttributeValueFrom(Text text) {
-		String content = text.getText().trim();
-		if (content.length() > 0) {
-			return content;
-		}
-		return null;
-	}	
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMConnectTimeoutStatusHandler.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMConnectTimeoutStatusHandler.java
deleted file mode 100644
index 4e1ef40..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMConnectTimeoutStatusHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * Prompts the user to continue waiting for a connection
- * from a debuggable VM.
- */
-public class VMConnectTimeoutStatusHandler implements IStatusHandler {
-
-	/**
-	 * @see IStatusHandler#handleStatus(IStatus, Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException {
-		final boolean[] result = new boolean[1];
-		JDIDebugUIPlugin.getStandardDisplay().syncExec(new Runnable() {
-			public void run() {
-				String title= LauncherMessages.getString("VMConnectTimeoutStatusHandler.Java_Application_1"); //$NON-NLS-1$
-				String message= LauncherMessages.getString("jdkLauncher.error.timeout"); //$NON-NLS-1$
-				result[0]= (MessageDialog.openQuestion(JDIDebugUIPlugin.getActiveWorkbenchShell(), title, message));
-			}
-		});
-		return new Boolean(result[0]);
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMContentProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMContentProvider.java
deleted file mode 100644
index 6b591d0..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMContentProvider.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.util.ArrayList;
-
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class VMContentProvider implements IStructuredContentProvider {
-
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-
-	/**
-	 * @see IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof IVMInstallType[]) {
-			IVMInstallType[] vmTypes= (IVMInstallType[])inputElement;
-			ArrayList vms= new ArrayList();
-			for (int i= 0; i < vmTypes.length; i++) {
-				IVMInstall[] vmInstalls= vmTypes[i].getVMInstalls();
-				for (int j= 0; j < vmInstalls.length; j++) 
-					vms.add(vmInstalls[j]);
-			}
-			IVMInstall[] result= new IVMInstall[vms.size()];
-			return vms.toArray(result);
-		}
-		
-		return new Object[0];
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMLabelProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMLabelProvider.java
deleted file mode 100644
index b91da75..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMLabelProvider.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class VMLabelProvider implements ITableLabelProvider {
-
-	/**
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
-
-	/**
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnText(Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof IVMInstall) {
-			IVMInstall vm= (IVMInstall)element;
-			switch(columnIndex) {
-				case 0: 
-					return vm.getVMInstallType().getName();
-				case 1:
-					return vm.getName();
-				case 2:
-					return vm.getInstallLocation().getAbsolutePath();
-			}
-		}
-		return element.toString();
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnImage(Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		return null;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMLibraryBlock.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMLibraryBlock.java
deleted file mode 100644
index 2d91025..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMLibraryBlock.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-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.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.actions.AddExternalJarAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AttachSourceAction;
-import org.eclipse.jdt.internal.debug.ui.actions.MoveDownAction;
-import org.eclipse.jdt.internal.debug.ui.actions.MoveUpAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RemoveAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RuntimeClasspathAction;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-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.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
- 
-/**
- * Control used to edit the libraries associated with a VM install
- */
-public class VMLibraryBlock implements IEntriesChangedListener {
-	
-	protected IVMInstall fVmInstall;
-	protected IVMInstallType fVmInstallType;
-	protected File fHome;
-	
-	protected RuntimeClasspathViewer fPathViewer;
-	protected Button fDefaultButton;
-	protected List fActions = new ArrayList(10);
-	
-	protected AddVMDialog fDialog = null;
-	protected boolean fInCallback = false;
-	
-	protected static final String DIALOG_SETTINGS_PREFIX = "VMLibraryBlock"; //$NON-NLS-1$
-	
-	/**
-	 * Constructor for VMLibraryBlock.
-	 */
-	public VMLibraryBlock(AddVMDialog dialog) {
-		fDialog = dialog;
-	}
-
-	/**
-	 * Creates and returns the source lookup control.
-	 * 
-	 * @param parent the parent widget of this control
-	 */
-	public Control 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);
-		
-		fPathViewer = new RuntimeClasspathViewer(comp);
-		gd = new GridData(GridData.FILL_BOTH);
-		fPathViewer.getControl().setLayoutData(gd);
-		fPathViewer.getControl().setFont(font);
-		fPathViewer.addEntriesChangedListener(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);
-						
-		fDefaultButton = new Button(comp, SWT.CHECK);
-		fDefaultButton.setText(LauncherMessages.getString("VMLibraryBlock.Use_default_system_libraries_1")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fDefaultButton.setLayoutData(gd);
-		fDefaultButton.setFont(font);
-		fDefaultButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleDefaultButtonSelected();
-			}
-		});
-		
-		RuntimeClasspathAction action = new MoveUpAction(null);								
-		Button button  = createPushButton(pathButtonComp, action.getText());
-		action.setButton(button);
-		addAction(action);
-		
-		action = new MoveDownAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText());
-		action.setButton(button);
-		addAction(action);		
-
-		action = new RemoveAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText());
-		action.setButton(button);
-		addAction(action);		
-		
-		action = new AddExternalJarAction(null, DIALOG_SETTINGS_PREFIX);								
-		button  = createPushButton(pathButtonComp, action.getText());
-		action.setButton(button);
-		addAction(action);		
-		
-		action = new AttachSourceAction(null);								
-		button  = createPushButton(pathButtonComp, action.getText());
-		action.setButton(button);
-		addAction(action);				
-														
-		retargetActions(fPathViewer);
-				
-		return comp;
-	}
-
-	/**
-	 * The "default" button has been toggled
-	 */
-	protected void handleDefaultButtonSelected() {
-		update();
-	}
-
-	/**
-	 * Creates and returns a button 
-	 * 
-	 * @param parent parent widget
-	 * @param label label
-	 * @return Button
-	 */
-	protected Button createPushButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		button.setText(label);
-		fDialog.setButtonLayoutData(button);
-		return button;	
-	}
-	
-	/**
-	 * 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(RuntimeClasspathAction action) {
-		fActions.add(action);
-	}
-	
-	/**
-	 * Re-targets actions to the given viewer
-	 */
-	protected void retargetActions(RuntimeClasspathViewer viewer) {
-		Iterator actions = fActions.iterator();
-		while (actions.hasNext()) {
-			RuntimeClasspathAction action = (RuntimeClasspathAction)actions.next();
-			action.setViewer(viewer);
-		}
-	}
-	
-	/**
-	 * Initializes this control based on the settings in the given
-	 * vm install and type.
-	 * 
-	 * @param vm vm or <code>null</code> if none
-	 * @param type type of vm install
-	 */
-	public void initializeFrom(IVMInstall vm, IVMInstallType type) {
-		setVMInstall(vm);
-		setVMInstallType(type);
-		if (vm != null) {
-			setHomeDirectory(vm.getInstallLocation());	
-		}
-		fDefaultButton.setSelection(vm == null || vm.getLibraryLocations() == null);
-		if (isDefaultSystemLibrary()) {
-			update();
-		} else {
-			LibraryLocation[] libs = vm.getLibraryLocations();
-			IRuntimeClasspathEntry[] entries = new IRuntimeClasspathEntry[libs.length];
-			for (int i = 0; i < libs.length; i++) {
-				entries[i] = JavaRuntime.newArchiveRuntimeClasspathEntry(libs[i].getSystemLibraryPath());
-				entries[i].setSourceAttachmentPath(libs[i].getSystemLibrarySourcePath());
-				entries[i].setSourceAttachmentRootPath(libs[i].getPackageRootPath());
-			}
-			fPathViewer.setEntries(entries);
-			fPathViewer.setEnabled(true);						
-		}
-	}
-	
-	/**
-	 * Sets the home directory of the VM Install the user has chosen
-	 */
-	public void setHomeDirectory(File file) {
-		fHome = file;
-	}
-	
-	/**
-	 * Returns the home directory
-	 */
-	protected File getHomeDirectory() {
-		return fHome;
-	}
-	
-	/**
-	 * Updates libraries based on settings
-	 */
-	public void update() {
-		boolean useDefault = fDefaultButton.getSelection();
-		LibraryLocation[] libs = null;
-		IStatus status = null;
-		if (useDefault) {
-			if (getHomeDirectory() == null) {
-				libs = new LibraryLocation[0];
-			} else {
-				libs = getVMInstallType().getDefaultLibraryLocations(getHomeDirectory());
-			}
-			IRuntimeClasspathEntry[] entries = new IRuntimeClasspathEntry[libs.length];
-			for (int i = 0; i < libs.length; i++) {
-				IPath libPath = libs[i].getSystemLibraryPath();
-				entries[i] = JavaRuntime.newArchiveRuntimeClasspathEntry(libPath);
-				entries[i].setSourceAttachmentPath(libs[i].getSystemLibrarySourcePath());
-				entries[i].setSourceAttachmentRootPath(libs[i].getPackageRootPath());
-				if (!libPath.toFile().exists() && status == null) {
-					status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR,
-						LauncherMessages.getString("VMLibraryBlock.Default_libraries_do_not_exist._1"), null); //$NON-NLS-1$
-				}				
-			}
-			fPathViewer.setEntries(entries);
-		}
-		fPathViewer.setEnabled(!useDefault);		
-		if (getEntries().length == 0 && !isDefaultSystemLibrary()) {
-			status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR,
-				LauncherMessages.getString("VMLibraryBlock.Libraries_cannot_be_empty._1"), null); //$NON-NLS-1$
-		} else if (status == null) {
-			status = new StatusInfo();
-		}		
-		fDialog.setSystemLibraryStatus(status);
-		fDialog.updateStatusLine();
-	}
-	
-	/**
-	 * Saves settings in the given working copy
-	 */
-	public void performApply(IVMInstall vm) {
-		boolean def = fDefaultButton.getSelection();		
-		if (def) {
-			vm.setLibraryLocations(null);
-		} else {
-			IRuntimeClasspathEntry[] entries = fPathViewer.getEntries();
-			LibraryLocation[] libs = new LibraryLocation[entries.length];
-			for (int i = 0; i < entries.length; i++) {
-				IPath lib = entries[i].getPath();
-				IPath src = entries[i].getSourceAttachmentPath();
-				if (src == null) {
-					src = Path.EMPTY;
-				}
-				IPath root = entries[i].getSourceAttachmentRootPath();
-				if (root == null) {
-					root = Path.EMPTY;
-				}
-				libs[i] = new LibraryLocation(lib, src, root);
-			}
-			vm.setLibraryLocations(libs);
-		}		
-	}	
-	
-	/**
-	 * Returns the entries visible in the viewer
-	 */
-	public IRuntimeClasspathEntry[] getEntries() {
-		return fPathViewer.getEntries();
-	}	
-
-	/**
-	 * Sets the vm install associated with this library block.
-	 * 
-	 * @param vm vm install
-	 */
-	private void setVMInstall(IVMInstall vm) {
-		fVmInstall = vm;
-	}
-	
-	/**
-	 * Returns the vm install associated with this library block.
-	 * 
-	 * @return vm install
-	 */
-	protected IVMInstall getVMInstall() {
-		return fVmInstall;
-	}	
-	
-	/**
-	 * Returns whether the default system libraries are to be used
-	 */
-	public boolean isDefaultSystemLibrary() {
-		return fDefaultButton.getSelection();
-	}
-
-	/**
-	 * Sets the vm install type associated with this library block.
-	 * 
-	 * @param type vm install type
-	 */
-	private void setVMInstallType(IVMInstallType type) {
-		fVmInstallType = type;
-	}
-	
-	/**
-	 * Returns the vm install type associated with this library block.
-	 * 
-	 * @return vm install
-	 */
-	protected IVMInstallType getVMInstallType() {
-		return fVmInstallType;
-	}	
-	/**
-	 * @see IEntriesChangedListener#entriesChanged(RuntimeClasspathViewer)
-	 */
-	public void entriesChanged(RuntimeClasspathViewer viewer) {
-		if (!fInCallback) {
-			fInCallback = true;
-			update();
-			fInCallback = false;
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMPreferencePage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMPreferencePage.java
deleted file mode 100644
index 4913fdf..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/VMPreferencePage.java
+++ /dev/null
@@ -1,838 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.ExceptionHandler;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.launching.VMDefinitionsContainer;
-import org.eclipse.jdt.launching.AbstractVMInstallType;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.jdt.launching.VMStandin;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.help.WorkbenchHelp;
-/*
- * The page for setting the default Java runtime preference.
- */
-public class VMPreferencePage extends PreferencePage implements IWorkbenchPreferencePage,
-																	IAddVMDialogRequestor {	
-	// The main list control
-	private CheckboxTableViewer fVMList;
-	
-	// Action buttons
-	private Button fAddButton;
-	private Button fRemoveButton;
-	private Button fEditButton;
-	private Button fSearchButton;	
-	
-	private IVMInstallType[] fVMTypes;
-	
-	// the VMs defined when this page was opened
-	private VMDefinitionsContainer fOriginalVMs;
-	
-	// The VMs currently in the Checkbox table
-	private List fVMStandins;
-
-	// Make sure that VMStandin ids are unique if multiple calls to System.currentTimeMillis()
-	// happen very quickly
-	private static String fgLastUsedID;
-
-	public VMPreferencePage() {
-		super();
-		
-		// only used when page is shown programatically
-		setTitle(LauncherMessages.getString("VMPreferencePage.Installed_JREs_1"));	 //$NON-NLS-1$
-				
-		
-		setDescription(LauncherMessages.getString("vmPreferencePage.message")); //$NON-NLS-1$
-		fVMTypes = JavaRuntime.getVMInstallTypes();
-		fOriginalVMs = new VMDefinitionsContainer();
-		IVMInstall def = JavaRuntime.getDefaultVMInstall();
-		if (def != null) {
-			fOriginalVMs.setDefaultVMInstallCompositeID(JavaRuntime.getCompositeIdFromVM(def));
-		}
-		for (int i = 0; i < fVMTypes.length; i++) {
-			IVMInstall[] vms = fVMTypes[i].getVMInstalls();
-			for (int j = 0; j < vms.length; j++) {
-				fOriginalVMs.addVM(vms[j]);
-			}
-		}
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	/**
-	 * Set the VM list that will be input for the main list control.
-	 */
-	private void populateVMList() {
-		
-		// force auto-dection to occurr before populating the VM list.
-		JavaRuntime.getDefaultVMInstall();
-		
-		// Retrieve all known VM installs from each vm install type
-		fVMStandins= new ArrayList();
-		for (int i= 0; i < fVMTypes.length; i++) {
-			IVMInstall[] vmInstalls= fVMTypes[i].getVMInstalls();
-			for (int j = 0; j < vmInstalls.length; j++) {
-				fVMStandins.add(new VMStandin(vmInstalls[j]));
-			}
-		}
-		
-		// Set the input of the main list control
-		fVMList.setInput(fVMStandins);
-		
-		// Set up the default VM
-		initDefaultVM();
-	}
-	
-	/**
-	 * Find & verify the default VM.
-	 */
-	private void initDefaultVM() {
-		IVMInstall realDefault= JavaRuntime.getDefaultVMInstall();
-		if (realDefault != null) {
-			Iterator iter= fVMStandins.iterator();
-			while (iter.hasNext()) {
-				IVMInstall fakeVM= (IVMInstall)iter.next();
-				if (isSameVM(fakeVM, realDefault)) {
-					verifyDefaultVM(fakeVM);
-					break;
-				}
-			}
-		}
-	}
-	
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-		Font font= ancestor.getFont();
-		initializeDialogUnits(ancestor);
-		
-		noDefaultAndApplyButton();
-		
-		Composite parent= new Composite(ancestor, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		parent.setLayout(layout);		
-		
-		GridData data;
-		
-		Label tableLabel = new Label(parent, SWT.NONE);
-		tableLabel.setText(LauncherMessages.getString("VMPreferencePage.Installed_&JREs__1")); //$NON-NLS-1$
-		data = new GridData();
-		data.horizontalSpan = 2;
-		tableLabel.setLayoutData(data);
-		tableLabel.setFont(font);
-		
-		Table table= new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		
-		data= new GridData(GridData.FILL_BOTH);
-		table.setLayoutData(data);
-		table.setFont(font);
-				
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);		
-
-		TableLayout tableLayout= new TableLayout();
-		table.setLayout(tableLayout);
-
-		TableColumn column1= new TableColumn(table, SWT.NULL);
-		column1.setText(LauncherMessages.getString("vmPreferencePage.jreType")); //$NON-NLS-1$
-	
-		TableColumn column2= new TableColumn(table, SWT.NULL);
-		column2.setText(LauncherMessages.getString("vmPreferencePage.jreName")); //$NON-NLS-1$
-		
-		TableColumn column3= new TableColumn(table, SWT.NULL);
-		column3.setText(LauncherMessages.getString("vmPreferencePage.jreLocation")); //$NON-NLS-1$
-
-		fVMList= new CheckboxTableViewer(table);
-		
-		fVMList.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				if ((e1 instanceof IVMInstall) && (e2 instanceof IVMInstall)) {
-					IVMInstall left= (IVMInstall)e1;
-					IVMInstall right= (IVMInstall)e2;
-					String leftType= left.getVMInstallType().getName();
-					String rightType= right.getVMInstallType().getName();
-					int res= leftType.compareToIgnoreCase(rightType);
-					if (res != 0) {
-						return res;
-					}
-					return left.getName().compareToIgnoreCase(right.getName());
-				}
-				return super.compare(viewer, e1, e2);
-			}
-			
-			public boolean isSorterProperty(Object element, String property) {
-				return true;
-			}
-		});		
-			
-		fVMList.setLabelProvider(new VMLabelProvider());
-		fVMList.setContentProvider(new ListContentProvider(fVMList, Collections.EMPTY_LIST));
-		
-		fVMList.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent evt) {
-				enableButtons();
-			}
-		});
-		
-		fVMList.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				IVMInstall vm=  (IVMInstall)event.getElement();
-				if (event.getChecked()) {
-					verifyDefaultVM(vm);
-				}
-				fVMList.setCheckedElements(new Object[] { vm });
-			}
-		});
-		
-		fVMList.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent e) {
-				editVM();
-			}
-		});
-		table.addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				if (event.character == SWT.DEL && event.stateMask == 0) {
-					removeVMs();
-				}
-			}
-		});	
-		
-		Composite buttons= new Composite(parent, SWT.NULL);
-		buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-		layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		buttons.setLayout(layout);
-		
-		fAddButton= new Button(buttons, SWT.PUSH);
-		setButtonLayoutData(fAddButton);
-		fAddButton.setFont(font);
-		fAddButton.setText(LauncherMessages.getString("vmPreferencePage.add")); //$NON-NLS-1$
-		fAddButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event evt) {
-				addVM();
-			}
-		});
-		
-		fEditButton= new Button(buttons, SWT.PUSH);
-		setButtonLayoutData(fEditButton);
-		fEditButton.setFont(font);
-		fEditButton.setText(LauncherMessages.getString("vmPreferencePage.edit")); //$NON-NLS-1$
-		fEditButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event evt) {
-				editVM();
-			}
-		});
-		
-		fRemoveButton= new Button(buttons, SWT.PUSH);
-		fRemoveButton.setFont(font);
-		setButtonLayoutData(fRemoveButton);
-		fRemoveButton.setText(LauncherMessages.getString("vmPreferencePage.remove")); //$NON-NLS-1$
-		fRemoveButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event evt) {
-				removeVMs();
-			}
-		});
-		
-		fSearchButton = new Button(buttons, SWT.PUSH);
-		fSearchButton.setFont(font);
-		setButtonLayoutData(fSearchButton);
-		fSearchButton.setText(LauncherMessages.getString("VMPreferencePage.&Search..._1")); //$NON-NLS-1$
-		fSearchButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event evt) {
-				search();
-			}
-		});		
-		
-		configureTableResizing(parent, buttons, table, column1, column2, column3);
-		
-		populateVMList();
-		enableButtons();
-		WorkbenchHelp.setHelp(parent, IJavaDebugHelpContextIds.JRE_PREFERENCE_PAGE);		
-
-		return parent;
-	}
-
-	/**
-	 * Correctly resizes the table so no phantom columns appear
-	 */
-	protected void configureTableResizing(final Composite parent, final Composite buttons, final Table table, final TableColumn column1, final TableColumn column2, final TableColumn column3) {
-		parent.addControlListener(new ControlAdapter() {
-		    public void controlResized(ControlEvent e) {
-		    	Rectangle area = parent.getClientArea();
-			    Point preferredSize = table.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			    int width = area.width - 2 * table.getBorderWidth();
-			    if (preferredSize.y > area.height) {
-			     	// Subtract the scrollbar width from the total column width
-			     	// if a vertical scrollbar will be required
-			     	Point vBarSize = table.getVerticalBar().getSize();
-			     	width -= vBarSize.x;
-			    }
-			    width-= buttons.getSize().x;
-			    Point oldSize = table.getSize();
-			    if (oldSize.x > width) {
-			    	// table is getting smaller so make the columns
-					// smaller first and then resize the table to
-				    // match the client area width
-				    column1.setWidth(width/4);
-				    column2.setWidth(width/4);
-			    	column3.setWidth(width - (column1.getWidth() + column2.getWidth()));
-				    table.setSize(width, area.height);
-			    } else {
-			    	// table is getting bigger so make the table
-			    	// bigger first and then make the columns wider
-			    	// to match the client area width
-			      	table.setSize(width, area.height);
-				    column1.setWidth(width/4);
-				    column2.setWidth(width/4);
-				    column3.setWidth(width - (column1.getWidth() + column2.getWidth()));
-			     }
-		    }
-		});
-	}
-			
-	/**
-	 * @see IAddVMDialogRequestor#isDuplicateName(String)
-	 */
-	public boolean isDuplicateName(String name) {
-		for (int i= 0; i < fVMStandins.size(); i++) {
-			IVMInstall vm = (IVMInstall)fVMStandins.get(i);
-			if (vm.getName().equals(name)) {
-				return true;
-			}
-		}
-		return false;
-	}
-			
-	/**
-	 * Bring up a dialog that lets the user create a new VM definition.
-	 */
-	private void addVM() {
-		AddVMDialog dialog= new AddVMDialog(this, getShell(), fVMTypes, null);
-		dialog.setTitle(LauncherMessages.getString("vmPreferencePage.addJRE.title")); //$NON-NLS-1$
-		if (dialog.open() != AddVMDialog.OK) {
-			return;
-		}
-		fVMList.refresh();
-	}
-	
-	/**
-	 * @see IAddVMDialogRequestor#vmAdded(IVMInstall)
-	 */
-	public void vmAdded(IVMInstall vm) {
-		fVMStandins.add(vm);
-		fVMList.refresh();
-		if (getCurrentDefaultVM() == null) {
-			verifyDefaultVM(vm);
-		}
-	}
-	
-	private void removeVMs() {
-		IStructuredSelection selection= (IStructuredSelection)fVMList.getSelection();
-		Iterator elements= selection.iterator();
-		while (elements.hasNext()) {
-			Object o= elements.next();
-			fVMStandins.remove(o);
-		}
-		fVMList.refresh();
-		// this is order dependent. Must first refresh to work with 
-		// the new state of affairs
-		if (getCurrentDefaultVM() == null) {
-			if (fVMList.getTable().getItemCount() > 0) {
-				verifyDefaultVM((IVMInstall)fVMList.getElementAt(0));
-			}
-		}
-	}
-		
-	private void editVM() {
-		IStructuredSelection selection= (IStructuredSelection)fVMList.getSelection();
-		// assume it's length one, otherwise this will not be called
-		IVMInstall vm= (IVMInstall)selection.getFirstElement();
-		AddVMDialog dialog= new AddVMDialog(this, getShell(), fVMTypes, vm);
-		dialog.setTitle(LauncherMessages.getString("vmPreferencePage.editJRE.title")); //$NON-NLS-1$
-		if (dialog.open() != AddVMDialog.OK) {
-			return;
-		}
-		fVMList.refresh(vm);
-	}
-	
-	private boolean isSameVM(IVMInstall left, IVMInstall right) {
-		if (left == right) {
-			return true;
-		}
-		if (left != null && right != null) {
-			return left.getId().equals(right.getId());
-		}
-		return false;
-	}
-
-	/**
-	 * @see IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		
-		// Create a VM definition container
-		VMDefinitionsContainer vmContainer = new VMDefinitionsContainer();
-		
-		// Set the default VM Id on the container
-		IVMInstall defaultVM = getCurrentDefaultVM();
-		String defaultVMId = JavaRuntime.getCompositeIdFromVM(defaultVM);
-		vmContainer.setDefaultVMInstallCompositeID(defaultVMId);
-		
-		// Set the VMs on the container
-		vmContainer.addVMList(fVMStandins);
-		
-		// determine if a build is required
-		boolean buildRequired = false;
-		try {
-			buildRequired = isBuildRequired(fOriginalVMs, vmContainer);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		} 
-		boolean build = false;
-		if (buildRequired) {
-			// prompt the user to do a full build
-			MessageDialog messageDialog = new MessageDialog(getShell(), LauncherMessages.getString("VMPreferencePage.JRE_Settings_Changed_1"), null,  //$NON-NLS-1$
-			LauncherMessages.getString("VMPreferencePage.The_JRE_settings_have_changed._A_full_build_is_required_to_make_the_changes_effective._Do_the_full_build_now__2"), //$NON-NLS-1$
-			MessageDialog.QUESTION, new String[] {LauncherMessages.getString("VMPreferencePage.&Yes_3"), LauncherMessages.getString("VMPreferencePage.&No_4"), LauncherMessages.getString("VMPreferencePage.&Cancel_1")}, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			int button = messageDialog.open();
-			if (button == 2) {
-				return false;
-			}
-			build = button == 0;			
-		}
-		
-		// Generate XML for the VM defs and save it as the new value of the VM preference
-		saveVMDefinitions(vmContainer);
-		
-		// do a build if required
-		if (build) {
-			buildWorkspace();
-		}
-		
-		return super.performOk();
-	}	
-	
-	private void saveVMDefinitions(final VMDefinitionsContainer container) {
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {
-				// Generate XML for the VM defs and save it as the new value of the VM preference
-				try {
-					String vmDefXML = container.getAsXML();
-					JavaRuntime.getPreferences().setValue(JavaRuntime.PREF_VM_XML, vmDefXML);
-					JavaRuntime.savePreferences();
-				} catch (IOException ioe) {
-					JDIDebugUIPlugin.log(ioe);
-				}
-			}
-		});
-	}
-	
-	protected IJavaModel getJavaModel() {
-		return JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	
-	private void buildWorkspace() {
-		ProgressMonitorDialog dialog= new ProgressMonitorDialog(getShell());
-		try {
-			dialog.run(true, true, new WorkspaceModifyOperation() {
-				public void execute(IProgressMonitor monitor) throws InvocationTargetException{
-					try {
-						ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, monitor);
-					} catch (CoreException e) {
-						throw new InvocationTargetException(e);
-					}
-				}
-			});
-		} catch (InterruptedException e) {
-			// opearation canceled by user
-		} catch (InvocationTargetException e) {
-			ExceptionHandler.handle(e, getShell(), LauncherMessages.getString("VMPreferencePage.Installed_JREs_1"), LauncherMessages.getString("VMPreferencePage.Build_failed._1")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}			
-	
-	private IVMInstall getCurrentDefaultVM() {
-		Object[] checked= fVMList.getCheckedElements();
-		if (checked.length > 0) {
-			return (IVMInstall)checked[0];
-		}
-		return null;
-	}
-
-	private void enableButtons() {
-		fAddButton.setEnabled(fVMTypes.length > 0);
-		int selectionCount= ((IStructuredSelection)fVMList.getSelection()).size();
-		fEditButton.setEnabled(selectionCount == 1);
-		fRemoveButton.setEnabled(selectionCount > 0 && selectionCount < fVMList.getTable().getItemCount());
-	}
-	
-	/**
-	 * Verify that the specified VM can be a valid default VM.  This amounts to verifying
-	 * that all of the VM's library locations exist on the file system.  If this fails,
-	 * remove the VM from the table and try to set another default.
-	 */
-	private void verifyDefaultVM(IVMInstall vm) {
-		if (vm != null) {
-			
-			// Verify that all of the specified VM's library locations actually exist
-			LibraryLocation[] locations= JavaRuntime.getLibraryLocations(vm);
-			boolean exist = true;
-			for (int i = 0; i < locations.length; i++) {
-				exist = exist && new File(locations[i].getSystemLibraryPath().toOSString()).exists();
-			}
-			
-			// If all library locations exist, check the corresponding entry in the list,
-			// otherwise remove the VM
-			if (exist) {
-				fVMList.setCheckedElements(new Object[] { vm });
-			} else {
-				fVMList.remove(vm);
-				fVMStandins.remove(vm);
-				IVMInstall def = JavaRuntime.getDefaultVMInstall();
-				if (def == null) {
-					fVMList.setCheckedElements(new Object[0]);
-				} else {
-					fVMList.setChecked(def, true);
-				}
-				ErrorDialog.openError(getControl().getShell(), LauncherMessages.getString("VMPreferencePage.Installed_JREs_1"), LauncherMessages.getString("VMPreferencePage.Installed_JRE_location_no_longer_exists.__JRE_will_be_removed_2"), new Status(IStatus.ERROR, IJavaDebugUIConstants.PLUGIN_ID, IJavaDebugUIConstants.INTERNAL_ERROR, LauncherMessages.getString("VMPreferencePage.JRE_removed_3"), null)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				return;
-			}
-		} else {
-			fVMList.setCheckedElements(new Object[0]);
-		}
-	}
-	
-	/**
-	 * @see IDialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible) {
-			setTitle(LauncherMessages.getString("vmPreferencePage.title")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Search for installed VMs in the file system
-	 */
-	public void search() {
-		
-		// choose a root directory for the search 
-		DirectoryDialog dialog = new DirectoryDialog(getShell());
-		dialog.setMessage(LauncherMessages.getString("VMPreferencePage.Select_a_directory_to_search_in._2")); //$NON-NLS-1$
-		dialog.setText(LauncherMessages.getString("VMPreferencePage.Directory_Selection_3")); //$NON-NLS-1$
-		String path = dialog.open();
-		if (path == null) {
-			return;
-		}
-		
-		// ignore installed locations
-		final Set exstingLocations = new HashSet();
-		Iterator iter = fVMStandins.iterator();
-		while (iter.hasNext()) {
-			exstingLocations.add(((IVMInstall)iter.next()).getInstallLocation());
-		}
-		
-		// search
-		final File rootDir = new File(path);
-		final List locations = new ArrayList();
-		final List types = new ArrayList();
-		ProgressMonitorDialog pm = new ProgressMonitorDialog(getShell());
-
-		IRunnableWithProgress r = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				monitor.beginTask(LauncherMessages.getString("VMPreferencePage.Searching..._4"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-				search(rootDir, locations, types, exstingLocations, monitor);
-				monitor.done();
-			}
-		};
-		
-		try {
-			pm.run(true, true, r);
-		} catch (InvocationTargetException e) {
-			JDIDebugUIPlugin.log(e);
-		} catch (InterruptedException e) {
-			// cancelled
-			return;
-		}
-		
-		if (locations.isEmpty()) {
-			MessageDialog.openInformation(getShell(), LauncherMessages.getString("VMPreferencePage.Information_1"), MessageFormat.format(LauncherMessages.getString("VMPreferencePage.No_JREs_found_in_{0}_2"), new String[]{path})); //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			iter = locations.iterator();
-			Iterator iter2 = types.iterator();
-			while (iter.hasNext()) {
-				File location = (File)iter.next();
-				IVMInstallType type = (IVMInstallType)iter2.next();
-				IVMInstall vm = new VMStandin(type, createUniqueId(type));
-				String name = location.getName();
-				String nameCopy = new String(name);
-				int i = 1;
-				while (isDuplicateName(nameCopy)) {
-					nameCopy = name + '(' + i++ + ')'; 
-				}
-				vm.setName(nameCopy);
-				vm.setInstallLocation(location);
-				if (type instanceof AbstractVMInstallType) {
-					//set default java doc location
-					AbstractVMInstallType abs = (AbstractVMInstallType)type;
-					vm.setJavadocLocation(abs.getDefaultJavadocLocation(location));
-				}
-				vmAdded(vm);
-			}
-		}
-		
-	}
-	
-	/**
-	 * Find a unique VM id.  Check existing 'real' VMs, as well as the last id used for
-	 * a VMStandin.
-	 */
-	private String createUniqueId(IVMInstallType vmType) {
-		String id= null;
-		do {
-			id= String.valueOf(System.currentTimeMillis());
-		} while (vmType.findVMInstall(id) != null || id.equals(fgLastUsedID));
-		fgLastUsedID = id;
-		return id;
-	}	
-	
-	/**
-	 * Searches the specified directory recursively for installed VMs, adding each
-	 * detected VM to the <code>found</code> list. Any directories specified in
-	 * the <code>ignore</code> are not traversed.
-	 * 
-	 * @param directory
-	 * @param found
-	 * @param types
-	 * @param ignore
-	 */
-	protected void search(File directory, List found, List types, Set ignore, IProgressMonitor monitor) {
-		if (monitor.isCanceled()) {
-			return;
-		}
-
-		String[] names = directory.list();
-		List subDirs = new ArrayList();
-		for (int i = 0; i < names.length; i++) {
-			if (monitor.isCanceled()) {
-				return;
-			}
-			File file = new File(directory, names[i]);
-			try {
-				monitor.subTask(MessageFormat.format(LauncherMessages.getString("VMPreferencePage.Found__{0}_-_Searching_{1}_7"), new String[]{Integer.toString(found.size()), file.getCanonicalPath()})); //$NON-NLS-1$
-			} catch (IOException e) {
-			}			
-			if (file.isDirectory()) {
-				if (!ignore.contains(file)) {
-					boolean validLocation = false;
-					
-					// Take the first VM install type that claims the location as a
-					// valid VM install.  VM install types should be smart enough to not
-					// claim another type's VM, but just in case...
-					for (int j = 0; j < fVMTypes.length; j++) {
-						if (monitor.isCanceled()) {
-							return;
-						}
-						IVMInstallType type = fVMTypes[j];
-						IStatus status = type.validateInstallLocation(file);
-						if (status.isOK()) {
-							found.add(file);
-							types.add(type);
-							validLocation = true;
-							break;
-						}
-					}
-					if (!validLocation) {
-						subDirs.add(file);
-					}
-				}
-			}
-		}
-		while (!subDirs.isEmpty()) {
-			File subDir = (File)subDirs.remove(0);
-			search(subDir, found, types, ignore, monitor);
-			if (monitor.isCanceled()) {
-				return;
-			}
-		}
-		
-	}
-	
-	/**
-	 * Returns whether a re-build is required based on the previous and current
-	 * VM definitions.
-	 * 
-	 * @param prev VMs defined in the workspace
-	 * @param curr VMs that will be defined in the workspace
-	 * @return whether the new JRE definitions required the workspace to be
-	 * built
-	 */
-	private boolean isBuildRequired(VMDefinitionsContainer prev, VMDefinitionsContainer curr) throws CoreException {
-		String prevDef = prev.getDefaultVMInstallCompositeID();
-		String currDef = curr.getDefaultVMInstallCompositeID();
-		
-		boolean defaultChanged = !isEqual(prevDef, currDef);
-		
-		IJavaProject[] projects = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()).getJavaProjects();
-		
-		//if the default VM changed, see if any projects reference it
-		if (defaultChanged) {
-			for (int i = 0; i < projects.length; i++) {
-				IJavaProject project = projects[i];
-				IClasspathEntry[] entries = project.getRawClasspath();
-				for (int j = 0; j < entries.length; j++) {
-					IClasspathEntry entry = entries[j];
-					switch (entry.getEntryKind()) {
-						case IClasspathEntry.CPE_VARIABLE:
-							IPath path = entry.getPath();
-							if (path.segmentCount() == 1 && path.segment(0).equals(JavaRuntime.JRELIB_VARIABLE)) {
-								// a project references the default JRE via JRE_LIB
-								return true;
-							}
-							break;
-						case IClasspathEntry.CPE_CONTAINER:
-							path = entry.getPath();
-							if (path.segmentCount() == 1 && path.segment(0).equals(JavaRuntime.JRE_CONTAINER)) {
-								// a project references the default JRE via JRE_CONTAIER
-								return true;
-							}
-							break;
-					};
-				}
-			}
-		}
-		
-		// otherwise, if a referenced VM is removed or there is a library
-		// change in a referenced VM, a build is required 
-		List futureVMs = curr.getVMList();
-		for (int i = 0; i < projects.length; i++) {
-			IJavaProject project = projects[i];
-			IVMInstall prevVM = JavaRuntime.getVMInstall(project);
-			if (prevVM != null) {
-				int index  = futureVMs.indexOf(prevVM);
-				if (index >= 0) {
-					IVMInstall futureVM = (IVMInstall)futureVMs.get(index);
-					// the VM still exists, see if the libraries changed
-					LibraryLocation[] prevLibs = JavaRuntime.getLibraryLocations(prevVM);
-					LibraryLocation[] newLibs = JavaRuntime.getLibraryLocations(futureVM);
-					if (prevLibs.length == newLibs.length) {
-						for (int j = 0; j < newLibs.length; j++) {
-							LibraryLocation newLib = newLibs[j];
-							LibraryLocation prevLib = prevLibs[j];
-							String newPath = newLib.getSystemLibraryPath().toOSString();
-							String prevPath = prevLib.getSystemLibraryPath().toOSString();
-							if (!newPath.equalsIgnoreCase(prevPath)) {
-								// different libs or ordering, a re-build is required
-								return true;
-							}
-						} 
-					} else {
-						// different number of libraries, a re-build is required
-						return true;
-					}
-				} else {
-					// the VM no longer exists, a re-build will be required
-					return true;
-				}
-			}
-		}
-		
-		
-		return false;
-	}
-	
-	private boolean isEqual(Object a, Object b) {
-		if (a == null) {
-			return b == null;
-		}
-		if (b == null) {
-			return false;
-		}
-		return (a.equals(b));
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/WorkingDirectoryBlock.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/WorkingDirectoryBlock.java
deleted file mode 100644
index 8adaa04..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/WorkingDirectoryBlock.java
+++ /dev/null
@@ -1,429 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
- 
-import java.io.File;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.JavaRuntime;
-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.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A control for setting the working directory associated with a launch
- * configuration.
- */
-public class WorkingDirectoryBlock extends JavaLaunchConfigurationTab {
-			
-	// Working directory UI widgets
-	protected Label fWorkingDirLabel;
-	
-	// Local directory
-	protected Button fLocalDirButton;
-	protected Text fWorkingDirText;
-	protected Button fWorkingDirBrowseButton;
-	
-	
-	// Workspace directory
-	protected Button fWorkspaceDirButton;
-	protected Text fWorkspaceDirText;
-	protected Button fWorkspaceDirBrowseButton;
-		
-	// use default button
-	protected Button fUseDefaultWorkingDirButton;
-	
-	/**
-	 * The last launch config this tab was initialized from
-	 */
-	protected ILaunchConfiguration fLaunchConfiguration;
-	
-	/**
-	 * @see ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-				
-		Composite workingDirComp = new Composite(parent, SWT.NONE);
-		WorkbenchHelp.setHelp(workingDirComp, IJavaDebugHelpContextIds.WORKING_DIRECTORY_BLOCK);;		
-		GridLayout workingDirLayout = new GridLayout();
-		workingDirLayout.numColumns = 3;
-		workingDirLayout.marginHeight = 0;
-		workingDirLayout.marginWidth = 0;
-		workingDirComp.setLayout(workingDirLayout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		workingDirComp.setLayoutData(gd);
-		workingDirComp.setFont(font);
-		setControl(workingDirComp);
-		
-		fWorkingDirLabel = new Label(workingDirComp, SWT.NONE);
-		fWorkingDirLabel.setText(LauncherMessages.getString("JavaArgumentsTab.Wor&king_directory__2")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		fWorkingDirLabel.setLayoutData(gd);
-		fWorkingDirLabel.setFont(font);
-		
-		fLocalDirButton = createRadioButton(workingDirComp, LauncherMessages.getString("WorkingDirectoryBlock.&Local_directory__1")); //$NON-NLS-1$
-		fLocalDirButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleLocationButtonSelected();
-			}
-		});
-		
-		fWorkingDirText = new Text(workingDirComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fWorkingDirText.setLayoutData(gd);
-		fWorkingDirText.setFont(font);
-		fWorkingDirText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fWorkingDirBrowseButton = createPushButton(workingDirComp, LauncherMessages.getString("JavaArgumentsTab.&Browse_3"), null); //$NON-NLS-1$
-		fWorkingDirBrowseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleWorkingDirBrowseButtonSelected();
-			}
-		});
-		
-		fWorkspaceDirButton = createRadioButton(workingDirComp, LauncherMessages.getString("WorkingDirectoryBlock.Works&pace__2")); //$NON-NLS-1$
-		fWorkspaceDirButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleLocationButtonSelected();
-			}
-		});		
-		
-		fWorkspaceDirText = new Text(workingDirComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fWorkspaceDirText.setLayoutData(gd);
-		fWorkspaceDirText.setFont(font);
-		fWorkspaceDirText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fWorkspaceDirBrowseButton = createPushButton(workingDirComp, LauncherMessages.getString("WorkingDirectoryBlock.B&rowse..._3"), null); //$NON-NLS-1$
-		fWorkspaceDirBrowseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleWorkspaceDirBrowseButtonSelected();
-			}
-		});		
-				
-		fUseDefaultWorkingDirButton = new Button(workingDirComp,SWT.CHECK);
-		fUseDefaultWorkingDirButton.setText(LauncherMessages.getString("JavaArgumentsTab.Use_de&fault_working_directory_4")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		fUseDefaultWorkingDirButton.setLayoutData(gd);
-		fUseDefaultWorkingDirButton.setFont(font);
-		fUseDefaultWorkingDirButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleUseDefaultWorkingDirButtonSelected();
-			}
-		});
-				
-	}
-					
-	/**
-	 * @see ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-	}
-		
-	/**
-	 * Show a dialog that lets the user select a working directory
-	 */
-	protected void handleWorkingDirBrowseButtonSelected() {
-		DirectoryDialog dialog = new DirectoryDialog(getShell());
-		dialog.setMessage(LauncherMessages.getString("JavaArgumentsTab.Select_a_&working_directory_for_the_launch_configuration__7")); //$NON-NLS-1$
-		String currentWorkingDir = fWorkingDirText.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) {
-			fWorkingDirText.setText(selectedDirectory);
-		}		
-	}
-
-	/**
-	 * Show a dialog that lets the user select a working directory from 
-	 * the workspace
-	 */
-	protected void handleWorkspaceDirBrowseButtonSelected() {
-		ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(),
-																	   ResourcesPlugin.getWorkspace().getRoot(),
-																	   false,
-																	   LauncherMessages.getString("WorkingDirectoryBlock.Select_a_&workspace_relative_working_directory__4")); //$NON-NLS-1$
-		
-		IContainer currentContainer = getContainer();
-		if (currentContainer != null) {
-			IPath path = currentContainer.getFullPath();
-			dialog.setInitialSelections(new Object[] {path});
-		}
-		
-		dialog.showClosedProjects(false);
-		dialog.open();
-		Object[] results = dialog.getResult();		
-		if ((results != null) && (results.length > 0) && (results[0] instanceof IPath)) {
-			IPath path = (IPath)results[0];
-			String containerName = path.makeRelative().toString();
-			fWorkspaceDirText.setText(containerName);
-		}			
-	}
-	
-	/**
-	 * Returns the selected workspace container,or <code>null</code>
-	 */
-	protected IContainer getContainer() {
-		IResource res = getResource();
-		if (res instanceof IContainer) {
-			return (IContainer)res;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the selected workspace resource, or <code>null</code>
-	 */
-	protected IResource getResource() {
-		IPath path = new Path(fWorkspaceDirText.getText());
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		return root.findMember(path);
-	}	
-	
-	/**
-	 * The "local directory" or "workspace directory" button has been selected.
-	 */
-	protected void handleLocationButtonSelected() {
-		if (!isDefaultWorkingDirectory()) {
-			boolean local = isLocalWorkingDirectory();
-			fWorkingDirText.setEnabled(local);
-			fWorkingDirBrowseButton.setEnabled(local);
-			fWorkspaceDirText.setEnabled(!local);
-			fWorkspaceDirBrowseButton.setEnabled(!local);
-		}
-		updateLaunchConfigurationDialog();
-	}
-		
-	/**
-	 * The default working dir check box has been toggled.
-	 */
-	protected void handleUseDefaultWorkingDirButtonSelected() {
-		if (isDefaultWorkingDirectory()) {
-			setDefaultWorkingDir();
-			fLocalDirButton.setEnabled(false);
-			fWorkingDirText.setEnabled(false);
-			fWorkingDirBrowseButton.setEnabled(false);
-			fWorkspaceDirButton.setEnabled(false);
-			fWorkspaceDirText.setEnabled(false);
-			fWorkspaceDirBrowseButton.setEnabled(false);
-		} else {
-			fLocalDirButton.setEnabled(true);
-			fWorkspaceDirButton.setEnabled(true);
-			handleLocationButtonSelected();
-		}
-	}
-	
-	/**
-	 * Sets the default working directory
-	 */
-	protected void setDefaultWorkingDir() {
-		try {
-			ILaunchConfiguration config = getLaunchConfiguration();
-			if (config != null) {
-				IJavaProject javaProject = JavaRuntime.getJavaProject(config);
-				if (javaProject != null) {
-					fWorkspaceDirText.setText(javaProject.getPath().makeRelative().toOSString());
-					fLocalDirButton.setSelection(false);
-					fWorkspaceDirButton.setSelection(true);
-					return;
-				}
-			}
-		} catch (CoreException ce) {
-		}
-		
-		fWorkingDirText.setText(System.getProperty("user.dir")); //$NON-NLS-1$
-		fLocalDirButton.setSelection(true);
-		fWorkspaceDirButton.setSelection(false);		
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		
-		setErrorMessage(null);
-		setMessage(null);
-		
-		if (isLocalWorkingDirectory()) {
-			String workingDirPath = fWorkingDirText.getText().trim();
-			if (workingDirPath.length() > 0) {
-				File dir = new File(workingDirPath);
-				if (!dir.exists()) {
-					setErrorMessage(LauncherMessages.getString("JavaArgumentsTab.Working_directory_does_not_exist_10")); //$NON-NLS-1$
-					return false;
-				}
-				if (!dir.isDirectory()) {
-					setErrorMessage(LauncherMessages.getString("JavaArgumentsTab.Working_directory_is_not_a_directory_11")); //$NON-NLS-1$
-					return false;
-				}
-			}
-		} else {
-			if (getContainer() == null) {
-				setErrorMessage(LauncherMessages.getString("WorkingDirectoryBlock.Specified_project_or_folder_does_not_exist._5")); //$NON-NLS-1$
-				return false;
-			}
-		}
-		
-		return true;
-	}
-
-	/**
-	 * Defaults are empty.
-	 * 
-	 * @see ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, (String)null);
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String)null);
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		setLaunchConfiguration(configuration);
-		try {			
-			String wd = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String)null); //$NON-NLS-1$
-			fWorkspaceDirText.setText(""); //$NON-NLS-1$
-			fWorkingDirText.setText(""); //$NON-NLS-1$
-			if (wd == null) {
-				fUseDefaultWorkingDirButton.setSelection(true);
-			} else {
-				IPath path = new Path(wd);
-				if (path.isAbsolute()) {
-					fWorkingDirText.setText(wd);
-					fLocalDirButton.setSelection(true);
-					fWorkspaceDirButton.setSelection(false);
-				} else {
-					fWorkspaceDirText.setText(wd);
-					fWorkspaceDirButton.setSelection(true);
-					fLocalDirButton.setSelection(false);
-				}
-				fUseDefaultWorkingDirButton.setSelection(false);
-			}
-			handleUseDefaultWorkingDirButtonSelected();
-		} catch (CoreException e) {
-			setErrorMessage(LauncherMessages.getString("JavaArgumentsTab.Exception_occurred_reading_configuration___15") + e.getStatus().getMessage()); //$NON-NLS-1$
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		String wd = null;
-		if (!isDefaultWorkingDirectory()) {
-			if (isLocalWorkingDirectory()) {
-				wd = getAttributeValueFrom(fWorkingDirText);
-			} else {
-				IPath path = new Path(fWorkspaceDirText.getText());
-				path = path.makeRelative();
-				wd = path.toString();
-			}
-		} 
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, wd);
-	}
-
-	/**
-	 * Retuns the string in the text widget, or <code>null</code> if empty.
-	 * 
-	 * @return text or <code>null</code>
-	 */
-	protected String getAttributeValueFrom(Text text) {
-		String content = text.getText().trim();
-		if (content.length() > 0) {
-			return content;
-		}
-		return null;
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LauncherMessages.getString("WorkingDirectoryBlock.Working_Directory_8"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * Returns whether the default working directory is to be used
-	 */
-	protected boolean isDefaultWorkingDirectory() {
-		return fUseDefaultWorkingDirButton.getSelection();
-	}
-	
-	/**
-	 * Returns whether the working directory is local
-	 */
-	protected boolean isLocalWorkingDirectory() {
-		return fLocalDirButton.getSelection();
-	}
-
-	/**
-	 * Sets the java project currently specified by the
-	 * given launch config, if any.
-	 */
-	protected void setLaunchConfiguration(ILaunchConfiguration config) {
-		fLaunchConfiguration = config;
-	}	
-	
-	/**
-	 * Returns the current java project context
-	 */
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		return fLaunchConfiguration;
-	}
-	
-}
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipContentProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipContentProvider.java
deleted file mode 100644
index c1d1fe3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipContentProvider.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-
-import java.util.zip.ZipFile;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * An adapter for presenting a zip file in a tree viewer.
- */
-class ZipContentProvider implements ITreeContentProvider {
-
-	private ZipTreeNode fTree;
-	private ZipFile fZipFile;
-	
-	ZipTreeNode getSelectedNode(String initialSelection) {
-		ZipTreeNode node= null;
-		if (initialSelection != null) {
-			node= fTree.findNode(initialSelection);
-		}
-		if (node == null) {
-			node= fTree.findNode(""); //$NON-NLS-1$
-		}
-		return node;
-	}
-	
-	void setInitialInput(ZipFile file){
-		fTree= createTree(file);
-	}
-	
-	private ZipTreeNode createTree(ZipFile zipFile){
-		if (zipFile.equals(fZipFile))
-			return fTree;
-		fZipFile= zipFile;
-		return ZipTreeNode.newZipTree(zipFile);
-	}
-	
-	/* non java-doc
-	 * @see ITreeContentProvider#inputChanged
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (newInput instanceof ZipFile)
-			fTree= createTree((ZipFile)newInput);
-		else{
-			fTree= null;	
-			fZipFile= null;
-		}	
-	}
-
-	/* non java-doc
-	  * @see ITreeContentProvider#getParent
-	  */
-	public Object getParent(Object element) {
-		return ((ZipTreeNode) element).getParent();
-	}
-
-	/* non java-doc
-	 * @see ITreeContentProvider#hasChildren
-	 */
-	public boolean hasChildren(Object element) {
-		return ((ZipTreeNode) element).hasChildren();
-	}
-
-	/* non java-doc
-	 * @see ITreeContentProvider#getChildren
-	 */
-	public Object[] getChildren(Object element) {
-		return ((ZipTreeNode) element).getChildren();
-	}
-
-	/* non java-doc
-	 * @see ITreeContentProvider#getElements
-	 */
-	public Object[] getElements(Object zipFile) {
-		if (fTree == null && zipFile instanceof ZipFile){
-			fTree= createTree((ZipFile)zipFile);
-		}	
-		return fTree.getChildren();
-	}
-
-	/* non java-doc
-	 * @see IContentProvider#dispose
-	 */	
-	public void dispose() {
-		fTree= null;
-		fZipFile= null;
-	}
-}
-
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipLabelProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipLabelProvider.java
deleted file mode 100644
index a98601c..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipLabelProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-class ZipLabelProvider extends LabelProvider {
-	
-	private final Image IMG_JAR= JavaUI.getSharedImages().getImage(org.eclipse.jdt.ui.ISharedImages.IMG_OBJS_JAR);
-	private final Image IMG_FOLDER= PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-	
-	public Image getImage(Object element) {
-		if (element == null || !(element instanceof ZipTreeNode))
-			return super.getImage(element);
-		if (((ZipTreeNode)element).representsZipFile())
-			return IMG_JAR;
-		else 
-			return IMG_FOLDER;
-	}
-
-	public String getText(Object element) {
-		if (element == null || !(element instanceof ZipTreeNode))
-			return super.getText(element);
-		return ((ZipTreeNode) element).getName();
-	}
-}
-
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipTreeNode.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipTreeNode.java
deleted file mode 100644
index bc1ee5e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/launcher/ZipTreeNode.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.launcher;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- *  Tree representing the structure of a zip file
- */
-class ZipTreeNode {
-	private ZipTreeNode fParent;
-	private List fChildren;
-	private String fName;
-	private boolean fRepresentsZip= false;
-	private static final String SEGMENT_SEPARATOR= "/"; //$NON-NLS-1$
-
-	private ZipTreeNode(ZipTreeNode parent, String name) {
-		fParent= parent;
-		fChildren= new ArrayList(0);
-		fName= name;
-	}
-
-	String getName() {
-		return fName;
-	}
-
-	boolean representsZipFile(){
-		return fRepresentsZip;
-	}
-
-	boolean hasChildren() {
-		return fChildren != null && !fChildren.isEmpty();
-	}
-
-	Object[] getChildren() {
-		return fChildren.toArray();
-	}
-
-	Object getParent() {
-		return fParent;
-	}
-
-	private static int separatorIndex(String name){
-		return name.indexOf(SEGMENT_SEPARATOR);
-	}
-	
-	private static String getFirstSegment(String name){
-		if (separatorIndex(name) == -1)
-			return name;
-		else 
-			return name.substring(0, separatorIndex(name));
-	}
-	
-	private static String getTail(String name){
-		return name.substring(separatorIndex(name) + 1);
-	}
-	
-	private boolean isRoot(){
-		return fName == null;
-	}
-	
-	/*
-	 * finds the node (in the tree )
-	 * whose name corresponds to the parameter
-	 */
-	ZipTreeNode findNode(String name){
-		if (isRoot())
-			return ((ZipTreeNode)fChildren.get(0)).findNode(name);
-
-		if (representsZipFile() && "".equals(name)) //$NON-NLS-1$
-			return this;
-	
-		if (!representsZipFile() && separatorIndex(name) == -1){
-			if (name.equals(fName))
-				return this;
-			else 
-				return null;	
-		}
-				
-		String firstSegment= getFirstSegment(name);
-		if (!representsZipFile() && !firstSegment.equals(fName))
-			return null;
-		
-		Object[] kids= getChildren();
-		String tail= getTail(name);
-		
-		for (int i=0; i < kids.length; i++) {
-			ZipTreeNode found;
-			if (representsZipFile())
-				found= ((ZipTreeNode)kids[i]).findNode(name);
-			else 
-				found= ((ZipTreeNode)kids[i]).findNode(tail);
-			if (found != null)
-				return found;
-		}
-		
-		return null;
-	}
-	
-	void insert(String name) {
-		if ("".equals(name) || separatorIndex(name) == -1) //$NON-NLS-1$
-			return;
-		String firstSegment= getFirstSegment(name);
-		Object[] kids= getChildren();
-		String tail= getTail(name);
-		for (int i= 0; i < kids.length; i++) {
-			ZipTreeNode each= (ZipTreeNode) kids[i];
-			if (each.getName().equals(firstSegment)) {
-				each.insert(tail);
-				return;
-			}
-		}
-		ZipTreeNode newKid= new ZipTreeNode(this, firstSegment);
-		fChildren.add(newKid);
-		newKid.insert(tail);
-	}
-
-	private StringBuffer toStringBuffer() {
-		if (fName == null || representsZipFile()) //top level
-			return new StringBuffer();
-		else
-			return fParent.toStringBuffer().append(fName).append(SEGMENT_SEPARATOR);
-	}
-
-	/* non java-doc
-	  * debugging only
-	  */
-	public String toString() {
-		//empty package root
-		if (representsZipFile())
-			return ""; //$NON-NLS-1$
-		StringBuffer sb= toStringBuffer();
-		return sb.deleteCharAt(sb.length() - 1).toString();
-	}
-
-	static ZipTreeNode newZipTree(ZipFile file) {
-		//the top level node is the only one with fName == null
-		ZipTreeNode topLevel= new ZipTreeNode(null, null);
-		ZipTreeNode zipNode= new ZipTreeNode(topLevel, file.getName());
-		zipNode.fRepresentsZip= true;
-		Enumeration all= file.entries();
-		while (all.hasMoreElements()) {
-			ZipEntry each= (ZipEntry) all.nextElement();
-			zipNode.insert(each.getName().substring(0, each.getName().lastIndexOf(SEGMENT_SEPARATOR) + 1));
-		}
-		List l= new ArrayList(1);
-		l.add(zipNode);
-		topLevel.fChildren= l;
-		
-		return topLevel;
-	}
-}
-
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/DeadLocksViewContentProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/DeadLocksViewContentProvider.java
deleted file mode 100644
index 6e01ce1..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/DeadLocksViewContentProvider.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provides the tree data for the deadlock view
- */
-public class DeadLocksViewContentProvider implements ITreeContentProvider {
-	
-	Object[] fRoots= null;
-	
-	/**
-	 * ThreadWrapper for the deadlock view
-	 * Uses the data of ThreadWrapper
-	 * We use this to differentiate the same thread in a deadlock list
-	 * (the first and the last element in the list)
-	 * @see ThreadWrapper
-	 */
-	public class ContentThreadWrapper {
-		public IJavaThread fThread;
-		public Object fParent= null;
-		public boolean caughtInADeadLock;
-		public Object fChild= null;
-		
-		protected ContentThreadWrapper(IJavaThread thread, Object parent) {
-			fThread= thread;
-			fParent= parent;
-		}
-		
-		/**
-		 * @see java.lang.Object#equals(java.lang.Object)
-		 */
-		public boolean equals(Object obj) {
-			if (!(obj instanceof ContentThreadWrapper)) {
-				return false;
-			}
-			ContentThreadWrapper other= (ContentThreadWrapper)obj;
-			
-			return other.fThread.equals(fThread);
-		}
-
-		/**
-		 * @see java.lang.Object#hashCode()
-		 */
-		public int hashCode() {
-			return fThread.hashCode();
-		}
-
-	}
-
-	/**
-	 * MonitorWrapper for the deadlock view
-	 */	
-	public class ContentMonitorWrapper {
-		public IJavaObject fMonitor;
-		public Object fParent= null;
-		public Object fChild= null;
-		
-		protected ContentMonitorWrapper(IJavaObject monitor, Object parent) {
-			fMonitor= monitor;
-			fParent= parent;
-		}
-		
-		/**
-		 * @see java.lang.Object#equals(java.lang.Object)
-		 */
-		public boolean equals(Object obj) {
-			if (!(obj instanceof ContentMonitorWrapper)) {
-				return false;
-			}
-			ContentMonitorWrapper other= (ContentMonitorWrapper)obj;
-			
-			return other.fMonitor.equals(fMonitor);
-		}
-
-		/**
-		 * @see java.lang.Object#hashCode()
-		 */
-		public int hashCode() {
-			return fMonitor.hashCode();
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		Object object= null;
-		if (parentElement instanceof ContentThreadWrapper) {
-			object= ((ContentThreadWrapper)parentElement).fChild;
-		} else if (parentElement instanceof ContentMonitorWrapper) {
-			object= ((ContentMonitorWrapper)parentElement).fChild;
-		}
-		if (object != null) {
-			return new Object[]{object};
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object element) {
-		if (element instanceof ContentThreadWrapper) {
-			return ((ContentThreadWrapper)element).fParent;
-		} else if (element instanceof ContentMonitorWrapper) {
-			return ((ContentMonitorWrapper)element).fParent;
-		}
-		
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		
-		if (element instanceof ContentThreadWrapper) {
-			return ((ContentThreadWrapper)element).fChild != null;
-		} else if (element instanceof ContentMonitorWrapper) {
-			return ((ContentMonitorWrapper)element).fChild != null;
-		}
-		
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		if (fRoots == null) {
-			MonitorManager manager= (MonitorManager) inputElement;
-			int numDeadLocks= manager.getNumberOfDeadlocks();
-			//the list of roots elements
-			fRoots= new Object[numDeadLocks];
-			
-			for (int i = 0; i < numDeadLocks; i++) {
-				//all the root elements are ContentThreadWrapper
-				ContentThreadWrapper rootWrapper = new ContentThreadWrapper(manager.getStartThread(i), null);
-				List deadlockList = manager.getDeadlockList(i);
-				Map tree= new HashMap(deadlockList.size());
-				tree.put(rootWrapper, rootWrapper);
-				buildDeadlockTree(rootWrapper, tree, rootWrapper, deadlockList);
-				fRoots[i] = rootWrapper;
-			}
-		}
-		return fRoots;
-	}
-
-	protected void buildDeadlockTree(ContentThreadWrapper ctw, Map tree, Object parent, List deadlockList) {
-		Object next;
-		Object object;
-		Object inTree;
-		List childFinder= new ArrayList(deadlockList.size());
-		for (int j= 1; j < deadlockList.size(); j++) {
-			next= deadlockList.get(j);
-			
-			if (next instanceof IJavaObject) {
-				object= new ContentMonitorWrapper((IJavaObject)next, parent);
-			} else {
-				object= new ContentThreadWrapper((IJavaThread)next, parent);
-			}
-			if (j == 1) {
-				ctw.fChild= object;
-			}
-			inTree= tree.get(object);
-			if (inTree instanceof ContentThreadWrapper) {
-				((ContentThreadWrapper)inTree).caughtInADeadLock= true;
-				((ContentThreadWrapper)object).caughtInADeadLock= true;
-			} else if (inTree == null){
-				tree.put(object, object);
-			}
-			parent= object;
-			childFinder.add(object);
-		}
-		
-		for (int j = 0; j < childFinder.size() - 1; j++) {
-			Object element = childFinder.get(j);
-			if (element instanceof ContentMonitorWrapper) {
-				((ContentMonitorWrapper)element).fChild= childFinder.get(j+1);
-			} else {
-				((ContentThreadWrapper)element).fChild= childFinder.get(j+1);
-			}	
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		MonitorManager.getDefault().removeDeadlockUpdateListener();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		MonitorManager.getDefault().addDeadlockUpdateListener(this);
-	}
-	
-	protected void clearDeadlockInformation() {
-		fRoots= null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorAction.java
deleted file mode 100644
index 82453cd..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorAction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-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 abstract class MonitorAction implements IViewActionDelegate {
-
-	protected MonitorsView fView;
-	
-	/**
-	 * Returns the current selection in the debug view or <code>null</code>
-	 * if there is no selection.
-	 * 
-	 * @return IStructuredSelection
-	 */
-	protected IStructuredSelection getDebugViewSelection() {
-		if (fView != null) {
-			ISelection s =fView.getViewSite().getPage().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-			
-			if (s instanceof IStructuredSelection) {
-				return (IStructuredSelection)s;
-			}
-		}
-		return null;
-	}
-	
-	protected IJavaDebugTarget getDebugTarget() {
-		IStructuredSelection ss= getDebugViewSelection();
-		if (ss.isEmpty() || ss.size() > 1) {
-			return null;
-		}
-		Object element= ss.getFirstElement();
-		if (element instanceof IDebugElement) {
-			return (IJavaDebugTarget)((IDebugElement)element).getDebugTarget().getAdapter(IJavaDebugTarget.class);
-		}
-		
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView= (MonitorsView)view;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorManager.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorManager.java
deleted file mode 100644
index e95dede..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorManager.java
+++ /dev/null
@@ -1,491 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-
-/**
- * Handles all the data for the Threads and Monitors view.
- */
-
-public class MonitorManager {
-	
-	/**
-	 * Table containing the references to the monitors owned by the threads
-	 */
-	private Map fThreadToOwnedMonitors;
-
-	/**
-	 * Table containing the references to the monitor contended by the threads
-	 */
-	private Map fThreadToContendedMonitor;
-
-	/**
-	 * Table containing the references to the thread owning the monitors
-	 */
-	private Map fMonitorToOwningThread;
-	
-	/**
-	 * Table containing the references to the threads contending the monitors
-	 */
-	private Map fMonitorToContendingThreads;
-	
-	private static MonitorManager fgDefault= null;
-	
-	private DeadLocksViewContentProvider fDeadlockUpdateListener;
-	
-	/**
-	 * List containing the lists of the different deadlocks
-	 */
-	private List fDeadLockLists;
-
-	/**
-	 * Constructor
-	 */
-	private MonitorManager() {
-		//@see getDefault()
-		fThreadToOwnedMonitors= new Hashtable(4);
-		fThreadToContendedMonitor= new Hashtable(4);
-		fMonitorToOwningThread= new Hashtable();
-		fMonitorToContendingThreads= new Hashtable();
-		fDeadLockLists = new ArrayList();
-	}
-
-	public static MonitorManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault= new MonitorManager();
-		}
-		return fgDefault;
-	}
-	
-	/**
-	 * Adds the the monitors owned by the thread
-	 * If the list is <code>null</code>, remove the thread from the mappings
-	 * @param thread The thread
-	 * @param monitors The monitors owned by the thread
-	 */
-	protected void addThreadWithOwnedMonitors(IJavaThread thread, IJavaObject[] monitors) {
-		if (monitors == null) {
-			fThreadToOwnedMonitors.remove(thread);
-		} else {
-			fThreadToOwnedMonitors.put(thread, monitors);
-		}
-	}
-	
-	/**
-	 * Adds the monitor contended by the thread
-	 * If the list is <code>null</code>, remove the thread from the mappings
-	 * @param thread The thread
-	 * @param monitor The monitor contended by the thread
-	 */
-	protected void addThreadWithContendedMonitor(IJavaThread thread, IJavaObject monitor) {
-		if (monitor == null) {
-			fThreadToContendedMonitor.remove(thread);
-		} else {
-			fThreadToContendedMonitor.put(thread, monitor);
-		}
-	}
-
-	/**
-	 * Adds the thread owning the monitor
-	 * If the list is <code>null</code>, remove the monitor from the mappings
-	 * @param monitor The monitor
-	 * @param thread The thread owning the monitor
-	 */
-	protected void addMonitorWithOwningThread(IJavaObject monitor, IJavaThread thread) {
-		if (monitor == null) {
-			fMonitorToOwningThread.remove(monitor);
-		} else {
-			fMonitorToOwningThread.put(monitor, thread);
-		}
-	}
-	
-	/**
-	 * Adds a thread waiting for the monitor
-	 * If the list is <code>null</code>, remove the monitors from the mappings
-	 * @param monitor The monitor
-	 * @param thread The thread waiting for the monitor
-	 */
-	protected void addMonitorWithContendedThread(IJavaObject monitor, IJavaThread thread) {
-		if (monitor == null) {
-			fMonitorToContendingThreads.remove(monitor);
-		} else {
-			List threads= (List)fMonitorToContendingThreads.get(monitor);
-			if (threads == null) {
-				threads= new ArrayList();
-				fMonitorToContendingThreads.put(monitor, threads);
-			}
-			threads.add(thread);
-		}
-	}
-		
-	/**
-	 * Returns the monitors owned by the given thread, or <code>null</code>
-	 * if the thread does not own any monitors.
-	 * 
-	 * @param thread The thread owning the monitors
-	 * @return The monitors owned by the given thread
-	 */
-	public IJavaObject[] getOwnedMonitors(IJavaThread thread) {
-		return (IJavaObject[])fThreadToOwnedMonitors.get(thread);
-	}
-
-	/**
-	 * Returns the monitor contended by the given thread, or <code>null</code>
-	 * 
-	 * @param thread The thread from to determine the contended monitor
-	 * @return The monitor contended by the given thread
-	 */
-	public IJavaObject getContendedMonitor(IJavaThread thread) {
-		return (IJavaObject)fThreadToContendedMonitor.get(thread);
-	}
-	
-	/**
-	 * Returns the thread owning the given monitor, or <code>null</code>
-	 * if no thread owns the specified monitor.
-	 * 
-	 * @param monitor The monitor from to determine the owning thread
-	 * @return The thread owning the given monitor
-	 */
-	public IJavaThread getOwningThread(IJavaObject monitor) {
-		return (IJavaThread)fMonitorToOwningThread.get(monitor);
-	}
-	
-	/**
-	 * Returns the list of threads awaiting the given monitor, or <code>null</code>
-	 * 
-	 * @param monitor The monitor from to determine the contending threads
-	 * @return List a list of the threads in contention for the monitor
-	 */
-	public List getContendingThreads(IJavaObject monitor) {
-		Object obj = fMonitorToContendingThreads.get(monitor);
-		return (List)obj;
-	}
-	
-	/**
-	 * Returns all the threads owning or waiting on a monitor
-	 * 
-	 * @return All the threads (owning or waiting on a monitor)
-	 */
-	public IJavaThread[] getThreads() {
-		Set all= new HashSet();
-		all.addAll(fThreadToContendedMonitor.keySet());
-		all.addAll(fThreadToOwnedMonitors.keySet());
-		return (IJavaThread[])all.toArray(new IJavaThread[all.size()]);
-	}
-	
-	/**
-	 * Returns all the monitors owned or in contention.
-	 * 
-	 * @return All the monitors (owned or in contention)
-	 */
-	public IJavaObject[] getMonitors() {
-		Set all= new HashSet();
-		all.addAll(fMonitorToContendingThreads.keySet());
-		all.addAll(fMonitorToOwningThread.keySet());
-		return (IJavaObject[])all.toArray(new IJavaObject[all.size()]);
-	}	
-	
-	/**
-	 * Updates the data on threads, monitors and deadlocks
-	 * for the specified debug target.
-	 * 
-	 * @param target The debug target
-	 */
-	public void update(IJavaDebugTarget target){
-		
-		removeMonitorInformation(target);
-
-		if (!target.supportsMonitorInformation()) {
-			return;
-		}
-		if (fDeadlockUpdateListener != null) {
-			fDeadlockUpdateListener.clearDeadlockInformation();
-		}
-		update(target, true);
-	}
-		
-	/**
-	 * Updates the data on threads, monitors and deadlocks
-	 * for the suspended threads contained within the specified
-	 * debug target.
-	 * 
-	 * @param target The debug target
-	 * @see update(IJavaDebugTarget target)
-	 */
-	public void updatePartial(IJavaDebugTarget target){
-			
-		removeMonitorInformation(target);
-
-		if (!target.supportsMonitorInformation()) {
-			return;
-		}
-		
-		if (fDeadlockUpdateListener != null) {
-			fDeadlockUpdateListener.clearDeadlockInformation();
-		}
-		
-		update(target, false);
-	}
-	
-	/**
-	 * Updates the data on threads, monitors and deadlocks
-	 * for the suspended threads contained within the specified
-	 * debug target. If <code>suspendThreads</code>, 
-	 * 
-	 * @param target The debug target
-	 * @param whether to suspend the threads
-	 */
-	private void update(IJavaDebugTarget target, boolean suspendThreads){
-
-		try {			
-			// construct the list of all the non system threads
-			IThread[] threadResult= target.getThreads();
-			List threadsList = new ArrayList(threadResult.length);
-			IJavaThread thread;
-			for (int i = 0; i < threadResult.length; i++) {
-				thread = (IJavaThread)threadResult[i];
-				if(!thread.isSystemThread()){
-					threadsList.add(thread);
-				}
-			}
-			IJavaThread[] threads= (IJavaThread[]) threadsList.toArray(new IJavaThread[threadsList.size()]);
-			
-			if (suspendThreads) {
-				//suspend all the non system threads
-				suspend(threads);
-			}
-			
-			//updating data on owning threads / owned monitors
-			// and contending threads / contended monitors
-			for (int i = 0; i < threads.length; i++) {
-				thread = threads[i];
-				updateMonitors(thread);
-			}
-			//all of the monitor information is needed before
-			//the deadlock information can be calculated
-			for (int i = 0; i < threads.length; i++) {
-				thread = threads[i];
-				updateDeadlock(thread);
-			}
-		} catch(DebugException e){
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-
-	protected void updateDeadlock(IJavaThread thread) throws DebugException {
-		//updating data on deadlocks
-		List l = listToDeadlock(thread, new ArrayList(4));
-		// if thread is caught in a deadlock, 
-		// l will be the list showing this deadlock
-		if(l != null){
-			ThreadWrapper tw = new ThreadWrapper(thread, l);
-			// adding this deadlock list
-			fDeadLockLists.add(tw);
-		}
-	}
-	
-	protected void updateMonitors(IJavaThread thread) throws DebugException {
-		IJavaObject[] ownedMonitors;
-		IJavaObject currentContendedMonitor;
-		IJavaObject monitor;
-		ownedMonitors = thread.getOwnedMonitors();
-		currentContendedMonitor = thread.getContendedMonitor();
-		// owning threads / owned monitors
-		if(thread.hasOwnedMonitors()){
-			addThreadWithOwnedMonitors(thread, ownedMonitors);
-			
-			for(int j=0; j < ownedMonitors.length; j++) {
-				monitor = ownedMonitors[j];
-				addMonitorWithOwningThread(monitor, thread);
-			}
-		}
-		// contending threads / contended monitors
-		if(currentContendedMonitor != null){
-			addThreadWithContendedMonitor(thread, currentContendedMonitor);
-			addMonitorWithContendedThread(currentContendedMonitor, thread);
-		}
-	}
-
-	/**
-	 * Suspend all the given threads
-	 * @param The list of threads to suspend
-	 */
-	private void suspend(IJavaThread[] threads){		
-		try {
-			for (int i = 0; i < threads.length; i++) {
-				IJavaThread thread = threads[i];
-				if (!thread.isSuspended()) {
-					thread.suspend();
-					while (!thread.isSuspended()) {
-						Thread.sleep(100);
-					}
-				}
-			}
-		}
-		catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		catch (InterruptedException e){
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Clears all the cached monitor information for the specified target.
-	 * 
-	 * @param target The target to remove the cached information for
-	 */
-	public void removeMonitorInformation(IJavaDebugTarget target) {
-		fThreadToOwnedMonitors.clear();
-		fThreadToContendedMonitor.clear();
-		fMonitorToOwningThread.clear();
-		fMonitorToContendingThreads.clear();
-		fDeadLockLists.clear();
-		if (fDeadlockUpdateListener != null) {
-			fDeadlockUpdateListener.clearDeadlockInformation();
-		}
-	}
-	
-	/**
-	 * If the thread is in a deadlock, returns the list to the deadlock
-	 * This list has the following structure:
-	 * <ul>
-	 * 	<li>First element: Thread in the deadlock or waiting on a monitor that is involved in a deadlock</li>
-	 * 	<li>Second element: Monitor contended by the first element</li>
-	 * 	<li>Third element: Thread owning the second element</li>
-	 * 	<li>Fourth element: Monitor contended by the third element</li>
-	 * 	<li>...</li>
-	 * 	<li>Last element: Same element as the first one, proving that it is in a deadlock</li>
-	 * </ul>
-	 * 
-	 * @param thread The thread we want to get the list of
-	 * @param threadTree The list that records the element already used (call with an empty list)
-	 * @return The deadlock list
-	 */
-	private List listToDeadlock(IJavaThread thread, List usedThreadsList){
-		
-		List res = new ArrayList();
-		IJavaObject contendedMonitor = (IJavaObject)fThreadToContendedMonitor.get(thread);
-						
-		//if the thread is waiting for one monitor
-		if(contendedMonitor!=null){
-			
-			IJavaThread owningThread = (IJavaThread)fMonitorToOwningThread.get(contendedMonitor);
-			// check if owningThread has already been used, and therefore is already in the given list
-			// if owningThread has already been used, returns the end of the list
-			if(usedThreadsList.contains(owningThread)){
-				res.add(thread);
-				res.add(contendedMonitor);
-				res.add(owningThread);
-				return res;
-			}
-			// if owningThread has not already been used
-			else{
-				List newUsedThreadsList= new ArrayList(usedThreadsList);
-				
-				//adding current thread to the new used list
-				newUsedThreadsList.add(thread);
-				
-				if(owningThread==null){
-					return null;
-				}
-				// recursive call, one level lower in the deadlock list
-				List newRes = listToDeadlock(owningThread, newUsedThreadsList);
-					
-				if(newRes!=null){
-					res.add(thread);
-					res.add(contendedMonitor);
-					res.addAll(newRes);
-					return res;
-				}
-			}
-		} else {
-			// if the thread is not waiting for any monitor
-			return null;	
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the number of determined deadlocks
-	 * 
-	 * @return List a list of all of the listings of current deadlocks
-	 */
-	public int getNumberOfDeadlocks() {
-		return fDeadLockLists.size();
-	}
-	
-	/**
-	 * Returns the deadlock list at the specified index or <code>null</code>
-	 * if the index is greater than the number of detected deadlocks.
-	 * 
-	 * @return List a list of all of the listings of current deadlocks
-	 * @see getNumberOfDeadlocks();
-	 */
-	public List getDeadlockList(int index) {
-		if (index >= fDeadLockLists.size()) {
-			return null;
-		}
-		return ((ThreadWrapper)fDeadLockLists.get(index)).getDeadLockList();
-	}
-	
-	/**
-	 * Returns the thread that is at the root of the deadlock at the specified
-	 * index or <code>null</code> if the index is greater than the number of 
-	 * detected deadlocks.
-	 * 
-	 * @return IJavaThread the thread at the root of the deadlock
-	 * @see getNumberOfDeadlocks();
-	 */
-	public IJavaThread getStartThread(int index) {
-		if (index >= fDeadLockLists.size()) {
-			return null;
-		}
-		return ((ThreadWrapper)fDeadLockLists.get(index)).getStartThread();
-	}
-	
-	/**
-	 * Returns whether the given thread is caught in a deadlock
-	 * 
-	 * @param thread The thread to check if in deadlock
-	 * @return <code>true<code> if the thread is in a deadlock, <code>false<code> otherwise.
-	 */
-	public boolean isCaughtInDeadlock(IJavaThread thread){
-		for (int i = 0; i < fDeadLockLists.size(); i++) {
-			if(((ThreadWrapper)fDeadLockLists.get(i)).getStartThread().equals(thread)){
-				return true;				
-			}	
-		}
-		return false;
-	}
-	
-	protected void addDeadlockUpdateListener(DeadLocksViewContentProvider provider) {
-		fDeadlockUpdateListener= provider;		
-	}
-	
-	protected void removeDeadlockUpdateListener() {
-		fDeadlockUpdateListener= null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorMessages.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorMessages.java
deleted file mode 100644
index a62a79b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class MonitorMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.jdt.internal.debug.ui.monitors.MonitorMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private MonitorMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorMessages.properties
deleted file mode 100644
index 08c6322..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorMessages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-MonitorModelPresentation.unsuported_type_1=unsupported type
-MonitorModelPresentation._(caught_in_the_deadlock)_2=\ (caught in the deadlock)
-MonitorModelPresentation._(owned)_4=\ (owned)
-MonitorModelPresentation._(contended)_5=\ (in contention)
-MonitorModelPresentation._(caught_in_a_deadlock)_6=\ (caught in a deadlock)
-MonitorModelPresentation._(owning)_7=\ (owns)
-MonitorModelPresentation._(contending)_8=\ (waiting)
-MonitorModelPresentation._owned_by..._1=\ owned by...
-MonitorModelPresentation._waiting_for..._2=\ waiting for...
-
-MonitorsView.No_deadlock_detected_3=No deadlock detected
-MonitorsView.The_current_VM_does_not_support_the_retrieval_of_monitor_information_1=The currently selected VM does not support the retrieval of monitor information
-MonitorsView.select_one_java_debug_target=Select a suspended Java VM to display its monitor information
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorModelPresentation.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorModelPresentation.java
deleted file mode 100644
index 57d8a2d..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorModelPresentation.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.ImageDescriptorRegistry;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JDIImageDescriptor;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugImages;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-
-/**
- * @see IDebugModelPresentation
- */
-public class MonitorModelPresentation extends LabelProvider implements IDebugModelPresentation {
-
-	protected ImageDescriptorRegistry fDebugImageRegistry= JDIDebugUIPlugin.getImageDescriptorRegistry();
-			
-	/**
-	 * @see IDebugModelPresentation#computeDetail(IValue, IValueDetailListener)
-	 */
-	public void computeDetail(IValue value, IValueDetailListener listener) {
-	}
-			
-	/**
-	 * @see IDebugModelPresentation#getText(Object)
-	 */
-	public String getText(Object item) {
-			
-		if (item instanceof DeadLocksViewContentProvider.ContentThreadWrapper) {
-			return getThreadDeadLockText((DeadLocksViewContentProvider.ContentThreadWrapper)item);
-		} else if (item instanceof DeadLocksViewContentProvider.ContentMonitorWrapper) {
-			StringBuffer res= new StringBuffer();
-			res.append(((DeadLocksViewContentProvider.ContentMonitorWrapper)item).fMonitor.toString());
-			res.append(MonitorMessages.getString("MonitorModelPresentation._owned_by..._1")); //$NON-NLS-1$
-			return res.toString();
-		} else if (item instanceof IJavaObject) {
-			return getMonitorText((IJavaObject)item);
-		} else if (item instanceof IJavaThread) {
-			return getThreadText((IJavaThread)item);
-		} else if (item instanceof ThreadsViewContentProvider.MonitorWrapper) {
-			return getMonitorWrapperText((ThreadsViewContentProvider.MonitorWrapper)item);
-		} else if (item instanceof MonitorsViewContentProvider.ThreadWrapper) {
-			return getThreadWrapperMonitorText((MonitorsViewContentProvider.ThreadWrapper)item);
-		} else if (item instanceof ThreadsViewContentProvider.ThreadWrapper) {
-			return getThreadWrapperThreadText((ThreadsViewContentProvider.ThreadWrapper)item);
-		} else {
-			return MonitorMessages.getString("MonitorModelPresentation.unsuported_type_1");	 //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Text for a ThreadWrapper in DeadLocksViewContentProvider
-	 */
-	protected String getThreadDeadLockText(DeadLocksViewContentProvider.ContentThreadWrapper thread){
-		StringBuffer res= new StringBuffer();
-		try{
-			res.append(thread.fThread.getName());
-		} catch(DebugException e){
-		}
-		
-		if(thread.caughtInADeadLock){
-			res.append(MonitorMessages.getString("MonitorModelPresentation._(caught_in_the_deadlock)_2")); //$NON-NLS-1$
-		} else {
-			res.append(MonitorMessages.getString("MonitorModelPresentation._waiting_for..._2")); //$NON-NLS-1$
-		}
-		return res.toString();
-	}
-
-	/**
-	 * Text for monitors
-	 */
-	protected String getMonitorText(IJavaObject monitor) {
-		return monitor.toString();
-	}
-
-	/**
-	 * Text for MonitorWrapper in ThreadsViewContentProvider
-	 */
-	protected String getMonitorWrapperText(ThreadsViewContentProvider.MonitorWrapper monitor) {
-		StringBuffer res= new StringBuffer(monitor.monitor.toString());
-		if(monitor.state==ThreadsViewContentProvider.MonitorWrapper.OWNED_MONITOR) {
-			res.append(MonitorMessages.getString("MonitorModelPresentation._(owned)_4")); //$NON-NLS-1$
-		} else if(monitor.state==ThreadsViewContentProvider.MonitorWrapper.CONTENDED_MONITOR) {
-			res.append(MonitorMessages.getString("MonitorModelPresentation._(contended)_5")); //$NON-NLS-1$
-		}
-		return res.toString();
-	}
-
-	/**
-	 * Text for ThreadWrapper in ThreadsViewContentProvider
-	 */
-	protected String getThreadWrapperThreadText(ThreadsViewContentProvider.ThreadWrapper thread) {
-		StringBuffer res= new StringBuffer();
-		try{
-			res.append(thread.thread.getName());
-		} catch(DebugException e){
-		}
-		
-		if(thread.isCaughtInDeadlock) {
-			res.append(MonitorMessages.getString("MonitorModelPresentation._(caught_in_a_deadlock)_6")); //$NON-NLS-1$
-		}
-		return res.toString();
-	}
-
-	/**
-	 * Text for ThreadWrapper in MonitorsViewContentProvider
-	 */
-	protected String getThreadWrapperMonitorText(MonitorsViewContentProvider.ThreadWrapper thread) {
-		StringBuffer res= new StringBuffer();
-		try{
-			res.append(thread.thread.getName());
-		} catch(DebugException e){
-		}
-		
-		if(thread.state == MonitorsViewContentProvider.ThreadWrapper.OWNING_THREAD) {
-			res.append(MonitorMessages.getString("MonitorModelPresentation._(owning)_7")); //$NON-NLS-1$
-		} else if(thread.state == MonitorsViewContentProvider.ThreadWrapper.IN_CONTENTION_FOR_MONITOR) {
-			res.append(MonitorMessages.getString("MonitorModelPresentation._(contending)_8")); //$NON-NLS-1$
-		}
-		return res.toString();
-	}
-
-	/**
-	 * Text for threads
-	 */	
-	protected String getThreadText(IJavaThread thread){
-		StringBuffer res = new StringBuffer();
-		try{
-			res.append(thread.getName());
-		} catch(DebugException e){
-		}
-		return res.toString();
-	}
-
-	/**
-	 * Maps an element to an appropriate image.
-	 * 
-	 * @see IDebugModelPresentation#getImage(Object)
-	 */
-	public Image getImage(Object item) {
-				
-		if (item instanceof ThreadsViewContentProvider.ThreadWrapper) {
-			return getThreadWrapperThreadImage(((ThreadsViewContentProvider.ThreadWrapper)item).thread);
-		} else if (item instanceof ThreadsViewContentProvider.MonitorWrapper) {
-			ThreadsViewContentProvider.MonitorWrapper monitorWrapper= (ThreadsViewContentProvider.MonitorWrapper)item;
-			JDIImageDescriptor descriptor= null;
-			int flags= computeMonitorAdornmentFlags(monitorWrapper);
-			descriptor= new JDIImageDescriptor(JavaDebugImages.DESC_OBJ_MONITOR, flags);
-			return fDebugImageRegistry.get(descriptor);
-		} else if (item instanceof MonitorsViewContentProvider.ThreadWrapper) {
-			MonitorsViewContentProvider.ThreadWrapper threadWrapper= (MonitorsViewContentProvider.ThreadWrapper)item;
-			JDIImageDescriptor descriptor= null;
-			int flags= computeThreadAdornmentFlags(threadWrapper);
-			if (threadWrapper.thread.isSuspended()) {
-				descriptor= new JDIImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED), flags);
-			} else {
-				descriptor= new JDIImageDescriptor(DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_THREAD_RUNNING), flags);
-			}
-			return fDebugImageRegistry.get(descriptor);
-		} else if (item instanceof IJavaObject) {
-			return getMonitorImage();
-		} else if (item instanceof DeadLocksViewContentProvider.ContentMonitorWrapper) {
-			return getMonitorImage();
-			
-		} else if (item instanceof DeadLocksViewContentProvider.ContentThreadWrapper ) {
-			return getThreadWrapperThreadImage(((DeadLocksViewContentProvider.ContentThreadWrapper)item).fThread);
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Image for a ThreadWrapper in ThreadsViewContentProvider
-	 */
-	private Image getThreadWrapperThreadImage(IJavaThread thread){
-		ImageDescriptor descriptor= null;
-		if (thread.isSuspended()) {
-			descriptor= DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED);
-		} else {
-			descriptor= DebugUITools.getImageDescriptor(IDebugUIConstants.IMG_OBJS_THREAD_RUNNING);
-		}
-		return fDebugImageRegistry.get(descriptor);
-	}
-
-	/**
-	 * Image for monitors
-	 */
-	private Image getMonitorImage(){
-		return fDebugImageRegistry.get(JavaDebugImages.DESC_OBJ_MONITOR);
-	}
-
-	/**
-	 * @see IDebugModelPresentation#getEditorInput(Object)
-	 */
-	public IEditorInput getEditorInput(Object item) {
-		return null;
-	}
-
-	/**
-	 * @see IDebugModelPresentation#getEditorId(IEditorInput, Object)
-	 */
-	public String getEditorId(IEditorInput input, Object inputObject) {
-		return null;
-	}
-
-	/**
-	 * @see IDebugModelPresentation#setAttribute(String, Object)
-	 */
-	public void setAttribute(String id, Object value) {
-	}
-	
-	/**
-	 * Returns the adornment flags for the monitor.
-	 * These flags are used to render appropriate overlay
-	 * icons for the monitor.
-	 */
-	private int computeMonitorAdornmentFlags(ThreadsViewContentProvider.MonitorWrapper wrapper)  {
-		int flags= 0;
-		
-		if (wrapper.state == ThreadsViewContentProvider.MonitorWrapper.CONTENDED_MONITOR) {
-			flags |= JDIImageDescriptor.CONTENTED_MONITOR;
-		}
-		if (wrapper.state == ThreadsViewContentProvider.MonitorWrapper.OWNED_MONITOR) {
-			flags |= JDIImageDescriptor.OWNED_MONITOR;
-		}
-		return flags;
-	}
-	
-	/**
-	 * Returns the adornment flags for the thread.
-	 * These flags are used to render appropriate overlay
-	 * icons for the thread.
-	 */
-	private int computeThreadAdornmentFlags(MonitorsViewContentProvider.ThreadWrapper wrapper)  {
-		int flags= 0;
-		
-		if (wrapper.state == MonitorsViewContentProvider.ThreadWrapper.IN_CONTENTION_FOR_MONITOR) {
-			flags |= JDIImageDescriptor.IN_CONTENTION_FOR_MONITOR;
-		}
-		if (wrapper.state == MonitorsViewContentProvider.ThreadWrapper.OWNING_THREAD) {
-			flags |= JDIImageDescriptor.OWNS_MONITOR;
-		}
-		return flags;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorQuitAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorQuitAction.java
deleted file mode 100644
index bf29e8f..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorQuitAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-
-
-/**
- * Resumes all the threads
- */
-public class MonitorQuitAction extends MonitorAction {
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {	
-		IJavaDebugTarget target= getDebugTarget();
-		if (target == null) {
-			return;
-		}
-		try {
-			IThread[] threads= target.getThreads();
-			
-			for (int i = 0; i < threads.length; i++) {
-				IJavaThread thread = (IJavaThread)threads[i];
-				if(!thread.isSystemThread()){
-					if (thread.isSuspended()) {
-						thread.resume();
-						while (thread.isSuspended()) {
-							Thread.sleep(100);
-						}
-					}
-				}
-			}
-		}
-		catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		catch (InterruptedException e){
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-	
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorTraceAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorTraceAction.java
deleted file mode 100644
index 7df2282..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorTraceAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jface.action.IAction;
-
-/**
- * Suspend all non-system threads and updates the data in MonitorManager
- */
-public class MonitorTraceAction extends MonitorAction {
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-			
-		IJavaDebugTarget target= getDebugTarget();
-		if (target == null) {
-			return;
-		}
-		MonitorManager.getDefault().update(target);
-		fView.refreshCurrentViewer(target.supportsMonitorInformation(), false);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsDebugEventHandler.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsDebugEventHandler.java
deleted file mode 100644
index aff134d..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsDebugEventHandler.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaThread;
-
-/**
- * Listen to certain events in the debug view
- */
-public class MonitorsDebugEventHandler extends AbstractDebugEventHandler {
-
-	public MonitorsDebugEventHandler(MonitorsView view) {
-		super(view);
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler#doHandleDebugEvents(DebugEvent[])
-	 */
-	protected void doHandleDebugEvents(DebugEvent[] events) {
-		DebugEvent event;
-		Object source;
-		boolean monitorInformationAvailable= true;
-		boolean updateNeeded= false;
-		for (int i = 0; i < events.length; i++) {
-			event= events[i];
-			source= event.getSource();
-			
-			//if a thread is suspended in the debug view
-			if(event.getKind() == DebugEvent.SUSPEND) {
-				if (source instanceof IJavaDebugTarget) {
-					IJavaDebugTarget target= (IJavaDebugTarget)source;
-					monitorInformationAvailable= target.supportsMonitorInformation();
-					if (monitorInformationAvailable) {
-						MonitorManager.getDefault().updatePartial(target);
-						updateNeeded= true;
-					} 
-				} else if (source instanceof IJavaThread) {
-					IJavaDebugTarget target= (IJavaDebugTarget)((IJavaThread)source).getDebugTarget();
-					monitorInformationAvailable= target.supportsMonitorInformation();
-					if (monitorInformationAvailable) {
-						MonitorManager.getDefault().updatePartial(target);
-						updateNeeded= true;
-					}
-					
-				}
-			} else if(event.getKind() == DebugEvent.RESUME) { 			
-				if (source instanceof IJavaDebugTarget) {
-					IJavaDebugTarget target= (IJavaDebugTarget)source;
-					monitorInformationAvailable= target.supportsMonitorInformation();
-					if (monitorInformationAvailable) {
-						MonitorManager.getDefault().updatePartial((IJavaDebugTarget)source);
-						updateNeeded= true;
-					}
-				} else if (source instanceof IJavaThread) {
-					IJavaDebugTarget target= (IJavaDebugTarget)((IJavaThread)source).getDebugTarget();
-					monitorInformationAvailable= target.supportsMonitorInformation();
-					if (monitorInformationAvailable) {
-						MonitorManager.getDefault().updatePartial((IJavaDebugTarget)(((IJavaThread)source).getDebugTarget()));
-						updateNeeded= true;
-					}
-				}
-			} else if(event.getKind() == DebugEvent.TERMINATE && source instanceof IJavaDebugTarget) {
-				MonitorManager.getDefault().removeMonitorInformation((IJavaDebugTarget)source);
-				updateNeeded= true;
-				
-			}
-		}
-		if (updateNeeded) {
-			((MonitorsView)getView()).refreshCurrentViewer(monitorInformationAvailable, false);
-		}
-	}
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler#refresh()
-	 */
-	public void refresh() {
-		((MonitorsView)getView()).selectionChanged(null, getView().getSite().getPage().getSelection(IDebugUIConstants.ID_DEBUG_VIEW));
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsView.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsView.java
deleted file mode 100644
index 3e358ef..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsView.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandlerView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.internal.debug.core.model.JDIDebugElement;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-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.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.part.Page;
-
-/**
- * Handles the different viewers: Thread, Monitor and Deadlock
- */
-public class MonitorsView extends AbstractDebugEventHandlerView implements ISelectionListener {
-
-	public static final int VIEW_ID_THREAD = 1;
-	public static final int VIEW_ID_MONITOR = 2;
-	public static final int VIEW_ID_DEADLOCK = 3;
-	
-	private int fViewId;
-	
-	private Viewer fDeadLocksViewer;
-	private Viewer fMonitorsViewer;
-	
-	private boolean fMonitorInformationAvailable= true;
-	
-	private boolean fValidSelection= false;
-	
-	private IJavaDebugTarget fLastSelectedTarget;
-	
-	/**
-	 * A page in this view's page book that contains this
-	 * view's viewer.
-	 */
-	class MonitorsViewerPage extends Page {
-		
-		/**
-		 * @see IPage#createControl(Composite)
-		 */
-		public void createControl(Composite parent) {
-			Viewer viewer = createMonitorsViewer(parent);
-			setMonitorsViewer(viewer);			
-		}
-
-		/**
-		 * @see IPage#getControl()
-		 */
-		public Control getControl() {
-			return getMonitorsViewer().getControl();
-		}
-
-		/**
-		 * @see IPage#setFocus()
-		 */
-		public void setFocus() {
-			Viewer viewer= getMonitorsViewer();
-			if (viewer != null) {
-				Control c = viewer.getControl();
-				if (!c.isFocusControl()) {
-					c.setFocus();
-				}
-			}
-		}
-	}
-	
-	/**
-	 * A page in this view's page book that contains this
-	 * view's viewer.
-	 */
-	class DeadLocksViewerPage extends Page {
-		
-		/**
-		 * @see IPage#createControl(Composite)
-		 */
-		public void createControl(Composite parent) {
-			Viewer viewer = createDeadLocksViewer(parent);
-			setDeadLocksViewer(viewer);			
-		}
-
-		/**
-		 * @see IPage#getControl()
-		 */
-		public Control getControl() {
-			return getDeadLocksViewer().getControl();
-		}
-
-		/**
-		 * @see IPage#setFocus()
-		 */
-		public void setFocus() {
-			Viewer viewer= getDeadLocksViewer();
-			if (viewer != null) {
-				Control c = viewer.getControl();
-				if (!c.isFocusControl()) {
-					c.setFocus();
-				}
-			}
-		}
-
-	}
-	
-	public MonitorsView(){		
-		setEventHandler(new MonitorsDebugEventHandler(this));
-	}
-
-	/**
-	 * Sets the current view.
-	 * Must be called after creation of the viewpart.
-	 */	
-	public void setViewId(int viewerIndex) {
-		fViewId = viewerIndex;
-		refreshCurrentViewer(fMonitorInformationAvailable, true);
-	}
-	
-	/**
-	 * Returns the current view id.
-	 */	
-	public int getViewId() {
-		return fViewId;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		StructuredViewer threadViewer = new TreeViewer(parent, SWT.MULTI);
-		threadViewer.setContentProvider(new ThreadsViewContentProvider());
-		threadViewer.setLabelProvider(new MonitorModelPresentation());
-		threadViewer.setInput(MonitorManager.getDefault());	
-		return threadViewer;
-	}
-
-	protected Viewer createMonitorsViewer(Composite parent) {
-		StructuredViewer monitorsViewer = new TreeViewer(parent, SWT.MULTI);
-		monitorsViewer.setContentProvider(new MonitorsViewContentProvider());
-		monitorsViewer.setLabelProvider(new MonitorModelPresentation());
-		monitorsViewer.setInput(MonitorManager.getDefault());	
-		return monitorsViewer;
-	}
-
-	protected Viewer createDeadLocksViewer(Composite parent) {
-		StructuredViewer deadLocksViewer = new TreeViewer(parent, SWT.MULTI) {
-			//when refreshing, sets the color of the threads caught in a deadlock to red
-			public void refresh() {
-				getControl().setRedraw(false);
-				super.refresh();
-				
-				Item[] children = getChildren(getControl());
-				if (children != null) {
-					//to be changed
-					Color c= DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CHANGED_VARIABLE_RGB);
-					for (int i = 0; i < children.length; i++) {
-						updateColor((TreeItem)children[i], c, 0);
-					}
-				}
-				getControl().setRedraw(true);
-			}
-			
-			//goes down the tree, but only changes the color of the items caught in a deadlock
-			public void updateColor(TreeItem item, Color c, int count) {
-				Object data= item.getData();
-				if (data instanceof DeadLocksViewContentProvider.ContentThreadWrapper) {
-					if(((DeadLocksViewContentProvider.ContentThreadWrapper)data).caughtInADeadLock) {
-						item.setForeground(c);
-					}
-				}
-				
-				TreeItem[] children = item.getItems();
-				for (int i = 0; i < children.length; i++) {
-					updateColor(children[i], c, (count+1));
-				}
-			}
-		};
-		deadLocksViewer.setContentProvider(new DeadLocksViewContentProvider());
-		deadLocksViewer.setLabelProvider(new MonitorModelPresentation());
-		deadLocksViewer.setInput(MonitorManager.getDefault());	
-		return deadLocksViewer;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-		// create the message page
-		
-		DeadLocksViewerPage deadLocksPage = new DeadLocksViewerPage();
-		deadLocksPage.createControl(getPageBook());
-		initPage(deadLocksPage);
-		
-		MonitorsViewerPage monitorsViewerPage = new MonitorsViewerPage();
-		monitorsViewerPage.createControl(getPageBook());
-		initPage(monitorsViewerPage);
-
-		createContextMenu(getDeadLocksViewer().getControl());
-		createContextMenu(getMonitorsViewer().getControl());
-		
-		setViewId(VIEW_ID_MONITOR);
-
-		// listen to selection in debug view
-		getSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IJavaDebugHelpContextIds.MONITORS_VIEW;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#fillContextMenu(IMenuManager)
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		menu.add(new Separator("vmGroup")); //$NON-NLS-1$
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#configureToolBar(IToolBarManager)
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		tbm.add(new Separator("vmGroup")); //$NON-NLS-1$
-		updateObjects();
-	}
-
-	/**
-	 * Returns the deadLocksViewer.
-	 * @return DeadLocksViewer
-	 */
-	public Viewer getDeadLocksViewer() {
-		return fDeadLocksViewer;
-	}
-
-	/**
-	 * Returns the monitorsViewer.
-	 * @return MonitorsViewer
-	 */
-	public Viewer getMonitorsViewer() {
-		return fMonitorsViewer;
-	}
-
-	/**
-	 * Sets the deadLocksViewer.
-	 * @param deadLocksViewer The deadLocksViewer to set
-	 */
-	public void setDeadLocksViewer(Viewer deadLocksViewer) {
-		fDeadLocksViewer = deadLocksViewer;
-	}
-
-	/**
-	 * Sets the monitorsViewer.
-	 * @param monitorsViewer The monitorsViewer to set
-	 */
-	public void setMonitorsViewer(Viewer monitorsViewer) {
-		fMonitorsViewer = monitorsViewer;
-	}
-
-	protected void refreshCurrentViewer(boolean monitorInformationAvailable, boolean showPage) {
-		if (getPageBook().isDisposed()) {
-			return;
-		}
-		if (!fValidSelection) {
-			showMessage(MonitorMessages.getString("MonitorsView.select_one_java_debug_target")); //$NON-NLS-1$
-			return;
-		}
-		boolean changeFromShowMessagePage= monitorInformationAvailable && !fMonitorInformationAvailable;
-		fMonitorInformationAvailable= monitorInformationAvailable;
-		if (!monitorInformationAvailable) {
-			showMessage(MonitorMessages.getString("MonitorsView.The_current_VM_does_not_support_the_retrieval_of_monitor_information_1")); //$NON-NLS-1$
-			updateObjects();
-			return;
-		}
-		Control page= null;
-		switch (fViewId) {
-			case VIEW_ID_THREAD:
-				page= getViewer().getControl();
-				page.setRedraw(false);
-				getViewer().refresh();
-				((TreeViewer)getViewer()).expandAll();
-				page.setRedraw(true);
-				break;
-			case VIEW_ID_DEADLOCK:
-				if(MonitorManager.getDefault().getNumberOfDeadlocks() == 0 && MonitorManager.getDefault().getThreads().length > 0) {
-					showMessage(MonitorMessages.getString("MonitorsView.No_deadlock_detected_3")); //$NON-NLS-1$
-					showPage= false;
-					break;
-				} else {
-					changeFromShowMessagePage= true;
-				}
-				page= getDeadLocksViewer().getControl();
-				page.setRedraw(false);
-				getDeadLocksViewer().refresh();
-				((TreeViewer)getDeadLocksViewer()).expandAll();
-				page.setRedraw(true);
-				break;
-			case VIEW_ID_MONITOR:
-				page= getMonitorsViewer().getControl();
-				page.setRedraw(false);
-				getMonitorsViewer().refresh();
-				((TreeViewer)getMonitorsViewer()).expandAll();
-				page.setRedraw(true);				
-				break;
-		}
-		if (showPage | changeFromShowMessagePage) {
-			getPageBook().showPage(page);
-		}
-		updateObjects();
-	}
-
-	/** 
-	 * @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) {
-			IStructuredSelection structuredSelection= (IStructuredSelection)selection;
-			Set targets= new HashSet();
-			for (Iterator iter= structuredSelection.iterator(); iter.hasNext();) {
-				Object element= iter.next();
-				if (element instanceof JDIDebugElement) {
-					targets.add(((JDIDebugElement)element).getDebugTarget());
-				}
-			}
-			if (targets.size() == 1) {
-				IJavaDebugTarget debugTarget= (IJavaDebugTarget)targets.toArray()[0];
-				if (debugTarget != fLastSelectedTarget || !fValidSelection) {
-					boolean monitorInformationAvailable= debugTarget.supportsMonitorInformation();
-					if (monitorInformationAvailable) {
-						MonitorManager.getDefault().updatePartial(debugTarget);
-					}
-					fValidSelection= true;
-					refreshCurrentViewer(monitorInformationAvailable, true);
-					fLastSelectedTarget= debugTarget;
-				}
-				return;
-			}
-		}
-		if (fValidSelection) {
-			fValidSelection= false;
-			refreshCurrentViewer(false, true);
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsViewContentProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsViewContentProvider.java
deleted file mode 100644
index f8c678a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/MonitorsViewContentProvider.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provides the tree data for the monitors view
- */
-public class MonitorsViewContentProvider implements ITreeContentProvider {
-	
-	protected TreeViewer fViewer= null;
-		
-	/**
-	 * ThreadWrapper for the monitor view
-	 * We use it to know the state of the thread we display: owning or waiting
-	 */
-	public class ThreadWrapper{
-		public static final int OWNING_THREAD = 1;
-		public static final int IN_CONTENTION_FOR_MONITOR = 2;
-		public IJavaThread thread;
-		public int state;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-
-		//the parents will be monitors
-		if (parentElement instanceof IJavaObject) {
-			IJavaObject monitor= (IJavaObject)parentElement;
-			//owning thread
-			IJavaThread owningThread = MonitorManager.getDefault().getOwningThread(monitor);
-			
-			//contending threads
-			List contendingThreads = MonitorManager.getDefault().getContendingThreads(monitor);
-			if (owningThread == null && contendingThreads == null) {
-				return null;
-			} 
-			
-			//adding the threads to the result
-			int size= 0;
-			if (contendingThreads != null) {
-				size= contendingThreads.size();
-			}
-			if (owningThread != null) {
-				size= size + 1;
-			}
-			//transforming the result to ThreadWrapper, setting the type
-			Object[] children= new Object[size];
-			if (contendingThreads != null) {
-				List wrappedThreads = new ArrayList();
-				for (int i = 0; i < contendingThreads.size(); i++) {
-					ThreadWrapper tw = new ThreadWrapper();
-					tw.thread = (IJavaThread) contendingThreads.get(i);
-					tw.state = ThreadWrapper.IN_CONTENTION_FOR_MONITOR;
-					wrappedThreads.add(tw);
-				}
-				wrappedThreads.toArray(children);
-				wrappedThreads.toArray(children);
-			}
-			if (owningThread != null) {
-				ThreadWrapper tw = new ThreadWrapper();
-				tw.thread = owningThread;
-				tw.state = ThreadWrapper.OWNING_THREAD;
-				children[children.length - 1] = tw;
-			}
-			return children;
-		}
-				
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object element) {
-		
-		if (element instanceof IJavaThread) {
-			return MonitorManager.getDefault().getOwnedMonitors((IJavaThread)element);
-		} else if (element instanceof IJavaObject) {
-			return MonitorManager.getDefault().getOwningThread((IJavaObject)element);
-		}		
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		
-		if (element instanceof IJavaObject) {
-			IJavaObject monitor= (IJavaObject)element;
-			IJavaThread owningThread = MonitorManager.getDefault().getOwningThread(monitor);
-			List contendingThreads = MonitorManager.getDefault().getContendingThreads(monitor);
-			if (owningThread == null && contendingThreads == null) {
-				return false;
-			} else {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		return MonitorManager.getDefault().getMonitors();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		fViewer= null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		fViewer= (TreeViewer)viewer;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ThreadWrapper.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ThreadWrapper.java
deleted file mode 100644
index eebb86d..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ThreadWrapper.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.debug.core.IJavaThread;
-
-/**
- * ThreadWrapper used in by the monitor manager,
- * wrapping the thread itself and its deadlock list
- */
-public class ThreadWrapper {
-	
-	/**
-	 * The underlying Java thread
-	 */
-	private IJavaThread fThread;
-	
-	/**
-	 * The list holding the way to the deadlock
-	 * as described in MonitorManager
-	 */
-	private List fDeadLockList;
-
-	/**
-	 * Constructor for the monitor thread wrapper
-	 * @param thread The thread
-	 * @param deadLockList The deadlock list as described in MonitorManager
-	 */
-	public ThreadWrapper(IJavaThread thread, List deadLockList){
-		fThread = thread;
-		fDeadLockList = new ArrayList(deadLockList);
-	}
-
-	/**
-	 * Returns the dead lock list.
-	 * @return List
-	 */
-	public List getDeadLockList() {
-		return fDeadLockList;
-	}
-
-	/**
-	 * Returns the start thread.
-	 * @return IJavaThread
-	 */
-	public IJavaThread getStartThread() {
-		return fThread;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ThreadsViewContentProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ThreadsViewContentProvider.java
deleted file mode 100644
index 09d939a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ThreadsViewContentProvider.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-import org.eclipse.jdt.debug.core.IJavaObject;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provides the tree data for the thread view
- */
-public class ThreadsViewContentProvider implements ITreeContentProvider {
-
-	/**
-	 * MonitorWrapper for the thread view
-	 * We use it to know the state of the monitor we display: owned or in contention
-	 */	
-	public class MonitorWrapper{
-		public static final int OWNED_MONITOR = 1;
-		public static final int CONTENDED_MONITOR = 2;
-		public IJavaObject monitor;
-		public int state;
-	}
-
-	/**
-	 * ThreadWrapper for the monitor view
-	 * We use it to know the state of the thread we display: caught in a deadlock or not
-	 */	
-	public class ThreadWrapper{
-		public IJavaThread thread;
-		public boolean isCaughtInDeadlock;
-	}
-		
-	protected TreeViewer fViewer= null;
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		
-		//the parent will be ThreadWrapper
-		if (parentElement instanceof ThreadWrapper) {
-			IJavaThread thread= (IJavaThread)((ThreadWrapper)parentElement).thread;
-			
-			//owned monitors
-			IJavaObject[] ownedMonitors= MonitorManager.getDefault().getOwnedMonitors(thread);
-			
-			//contended monitor
-			IJavaObject contendedMonitor= MonitorManager.getDefault().getContendedMonitor(thread);
-			if (ownedMonitors == null && contendedMonitor == null) {
-				return null;
-			} 
-			
-			//adding the monitors to the result
-			int size= 0;
-			if (ownedMonitors != null) {
-				size= ownedMonitors.length;
-			}
-			if (contendedMonitor != null) {
-				size= size + 1;
-			}
-			//transforming the result to MonitorWrapper, setting the type
-			Object[] children= new Object[size];
-			if (ownedMonitors != null) {
-				for (int i = 0; i < ownedMonitors.length; i++) {
-					MonitorWrapper mw = new MonitorWrapper();
-					mw.monitor = ownedMonitors[i];
-					mw.state = MonitorWrapper.OWNED_MONITOR;
-					children[i]= mw;
-				}
-			}
-			if (contendedMonitor != null) {
-				MonitorWrapper mw = new MonitorWrapper();
-				mw.monitor = contendedMonitor;
-				mw.state = MonitorWrapper.CONTENDED_MONITOR;
-				children[children.length - 1]= mw;
-			}
-			return children;
-		}
-				
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object element) {	
-		
-		if (element instanceof IJavaThread) {
-			return MonitorManager.getDefault().getOwnedMonitors((IJavaThread)element);
-		} else if (element instanceof IJavaObject) {
-			return MonitorManager.getDefault().getOwningThread((IJavaObject)element);
-		}		
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-			
-		if (element instanceof IJavaThread) {
-			IJavaThread thread= (IJavaThread)element;
-			IJavaObject[] ownedMonitors= MonitorManager.getDefault().getOwnedMonitors(thread);
-			IJavaObject contendedMonitor= MonitorManager.getDefault().getContendedMonitor(thread);
-			if (ownedMonitors == null && contendedMonitor == null) {
-				return false;
-			} else {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		
-		//the root elements are ThreadWrapper
-		IJavaThread[] allThreads= MonitorManager.getDefault().getThreads();
-		Object[] res = new Object[allThreads.length];
-		for (int i = 0; i < allThreads.length; i++) {
-			ThreadWrapper tw = new ThreadWrapper();
-			tw.thread= allThreads[i];
-			if(MonitorManager.getDefault().isCaughtInDeadlock(allThreads[i])) {
-				tw.isCaughtInDeadlock = true;
-			} else {
-				tw.isCaughtInDeadlock = false;
-			}
-			res[i] = tw;
-		}
-		return res;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		fViewer= null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		fViewer= (TreeViewer)viewer;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleDeadLocksViewAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleDeadLocksViewAction.java
deleted file mode 100644
index 7645456..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleDeadLocksViewAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-/**
- * Action to switch to the Deadlock centric view for the Monitors view
- */
-public class ToggleDeadLocksViewAction extends ToggleViewAction {
-
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.monitors.ToggleViewAction#getViewId()
-	 */
-	protected int getViewId() {
-		return MonitorsView.VIEW_ID_DEADLOCK;
-	}
-
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleMonitorsViewAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleMonitorsViewAction.java
deleted file mode 100644
index 56ec3f5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleMonitorsViewAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-
-/**
- * Action to switch to the Monitor centric view of the Monitors view
- */
-public class ToggleMonitorsViewAction extends ToggleViewAction {
-	 
-	/**
-	 * @see org.eclipse.jdt.internal.debug.ui.monitors.ToggleViewAction#getViewId()
-	 */
-	protected int getViewId() {
-		return MonitorsView.VIEW_ID_MONITOR;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleThreadsViewAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleThreadsViewAction.java
deleted file mode 100644
index 62533fb..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleThreadsViewAction.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-/**
- * Action to switch to the Threads centric view in the MonitorsView
- */
-public class ToggleThreadsViewAction extends ToggleViewAction {
-	
-	protected int getViewId() {
-		return	MonitorsView.VIEW_ID_THREAD;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleViewAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleViewAction.java
deleted file mode 100644
index e65778b..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/monitors/ToggleViewAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.monitors;
-
-
-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.texteditor.IUpdate;
-
-public abstract class ToggleViewAction implements IViewActionDelegate, IUpdate {
-
-	protected MonitorsView fMonitorsView;
-	protected IAction fAction;
-	
-	/**
-	 * @see org.eclipse.ui.IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		if (view instanceof MonitorsView) {
-			fMonitorsView= (MonitorsView)view;
-			fMonitorsView.add(this);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		fAction= action;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		if (fMonitorsView.getViewId() != getViewId()) {
-			fAction.setChecked(false);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		fMonitorsView.setViewId(getViewId());
-		fMonitorsView.updateObjects();
-	}
-	
-	protected abstract int getViewId();
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ISnippetStateChangedListener.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ISnippetStateChangedListener.java
deleted file mode 100644
index 9fe1fc8..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ISnippetStateChangedListener.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-
-/**
- * A listener interested in snippet evaluation state changes.
- */
-public interface ISnippetStateChangedListener {
-	
-	/**
-	 * Informs about the changed snippet evaluation state
-	 */
-	void snippetStateChanged(JavaSnippetEditor editor);
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
deleted file mode 100644
index 55956f5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
- 
-import java.util.Arrays;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-
-import org.eclipse.jdt.core.JavaModelException;
-
-import org.eclipse.jdt.internal.corext.template.ContextType;
-import org.eclipse.jdt.internal.corext.template.ContextTypeRegistry;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComparator;
-import org.eclipse.jdt.internal.ui.text.java.JavaParameterListValidator;
-import org.eclipse.jdt.internal.ui.text.java.ResultCollector;
-import org.eclipse.jdt.internal.ui.text.template.TemplateEngine;
-
-/**
- * Java snippet completion processor.
- */
-public class JavaSnippetCompletionProcessor implements IContentAssistProcessor {
-	
-	private ResultCollector fCollector;
-	private JavaSnippetEditor fEditor;
-	private IContextInformationValidator fValidator;
-	private TemplateEngine fTemplateEngine;
-	private JavaCompletionProposalComparator fComparator;
-	
-	private char[] fProposalAutoActivationSet;
-			
-	public JavaSnippetCompletionProcessor(JavaSnippetEditor editor) {
-		fCollector= new ResultCollector();
-		fEditor= editor;
-		ContextType contextType= ContextTypeRegistry.getInstance().getContextType("java"); //$NON-NLS-1$
-		if (contextType != null) {
-			fTemplateEngine= new TemplateEngine(contextType);
-		}
-		
-		fComparator= new JavaCompletionProposalComparator();
-	}
-	
-	/**
-	 * @see IContentAssistProcessor#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return fCollector.getErrorMessage();
-	}
-
-	/**
-	 * @see IContentAssistProcessor#getContextInformationValidator()
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		if (fValidator == null) {
-			fValidator= new JavaParameterListValidator();
-		}
-		return fValidator;
-	}
-
-	/**
-	 * @see IContentAssistProcessor#getContextInformationAutoActivationCharacters()
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-		return null;
-	}
-
-	/**
-	 * @see IContentAssistProcessor#computeContextInformation(ITextViewer, int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer viewer, int offset) {
-		return null;
-	}
-	
-	/**
-	 * @see IContentAssistProcessor#computeProposals(ITextViewer, int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int position) {
-		try {
-			fCollector.reset(position, fEditor.findJavaProject(), null);
-			fEditor.codeComplete(fCollector);
-		} catch (JavaModelException x) {
-			Shell shell= viewer.getTextWidget().getShell();
-			ErrorDialog.openError(shell, SnippetMessages.getString("CompletionProcessor.errorTitle"), SnippetMessages.getString("CompletionProcessor.errorMessage"), x.getStatus()); //$NON-NLS-2$ //$NON-NLS-1$
-			JDIDebugUIPlugin.log(x);
-		}
-		
-		IJavaCompletionProposal[] results= fCollector.getResults();
-		
-		if (fTemplateEngine != null) {
-			try {
-				fTemplateEngine.reset();
-				fTemplateEngine.complete(viewer, position, null);
-			} catch (JavaModelException x) {
-				JDIDebugUIPlugin.log(x);
-				Shell shell= viewer.getTextWidget().getShell();
-				ErrorDialog.openError(shell, SnippetMessages.getString("CompletionProcessor.errorTitle"), SnippetMessages.getString("CompletionProcessor.errorMessage"), x.getStatus()); //$NON-NLS-2$ //$NON-NLS-1$
-			}			
-		
-			IJavaCompletionProposal[] templateResults= fTemplateEngine.getResults();
-
-			// concatenate arrays
-			IJavaCompletionProposal[] total= new IJavaCompletionProposal[results.length + templateResults.length];
-			System.arraycopy(templateResults, 0, total, 0, templateResults.length);
-			System.arraycopy(results, 0, total, templateResults.length, results.length);
-			results= total;
-		}
-		return order(results);
-	}
-	
-	/**
-	 * Order the given proposals.
-	 */
-	private ICompletionProposal[] order(IJavaCompletionProposal[] proposals) {
-		Arrays.sort(proposals, fComparator);
-		return proposals;	
-	}	
-	
-	/**
-	 * @see IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		return fProposalAutoActivationSet;
-	}
-	
-	/**
-	 * Sets this processor's set of characters triggering the activation of the
-	 * completion proposal computation.
-	 * 
-	 * @param activationSet the activation set
-	 */
-	public void setCompletionProposalAutoActivationCharacters(char[] activationSet) {
-		fProposalAutoActivationSet= activationSet;
-	}
-	
-	/**
-	 * Tells this processor to order the proposals alphabetically.
-	 * 
-	 * @param order <code>true</code> if proposals should be ordered.
-	 */
-	public void orderProposalsAlphabetically(boolean order) {
-		fComparator.setOrderAlphabetically(order);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetEditor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetEditor.java
deleted file mode 100644
index 3f0d649..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetEditor.java
+++ /dev/null
@@ -1,1227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
- 
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.QualifiedName;
-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.IDebugEventFilter;
-import org.eclipse.debug.core.ILaunchConfiguration;
-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.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.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jdt.core.ICompletionRequestor;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.eval.IEvaluationContext;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.debug.core.IJavaType;
-import org.eclipse.jdt.debug.core.IJavaValue;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.debug.eval.EvaluationManager;
-import org.eclipse.jdt.debug.eval.IClassFileEvaluationEngine;
-import org.eclipse.jdt.debug.eval.IEvaluationListener;
-import org.eclipse.jdt.debug.eval.IEvaluationResult;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIContentAssistPreference;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.JDISourceViewer;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugImages;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugOptionsManager;
-import org.eclipse.jdt.internal.debug.ui.display.JavaInspectExpression;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.ui.IContextMenuConstants;
-import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Image;
-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.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.AbstractTextEditor;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.TextOperationAction;
-
-import com.sun.jdi.InvocationException;
-import com.sun.jdi.ObjectReference;
-
-/**
- * An editor for Java snippets.
- */
-public class JavaSnippetEditor extends AbstractTextEditor implements IDebugEventFilter, IEvaluationListener, IValueDetailListener {			
-	public static final String IMPORTS_CONTEXT = "SnippetEditor.imports"; //$NON-NLS-1$
-	
-	public final static int RESULT_DISPLAY= 1;
-	public final static int RESULT_RUN= 2;
-	public final static int RESULT_INSPECT= 3;
-	
-	private int fResultMode; // one of the RESULT_* constants
-	
-	private IJavaProject fJavaProject;
-	private IEvaluationContext fEvaluationContext;
-	private IDebugTarget fVM;
-	private String[] fLaunchedClassPath;
-	private String fLaunchedWorkingDir;
-	private IVMInstall fLaunchedVM;
-	private List fSnippetStateListeners;	
-	
-	private boolean fEvaluating;
-	private IJavaThread fThread;
-	
-	private int fSnippetStart;
-	private int fSnippetEnd;
-	
-	private String[] fImports= null;
-	
-	private Image fOldTitleImage= null;
-	private IClassFileEvaluationEngine fEngine= null;
-	
-	/**
-	 * The debug model presentation used for computing toString
-	 */
-	private IDebugModelPresentation fPresentation= DebugUITools.newDebugModelPresentation(JDIDebugModel.getPluginIdentifier());
-	/**
-	 * The result of a toString evaluation returned asynchronously by the
-	 * debug model.
-	 */
-	private String fResult;
-	
-	/**
-	 * A thread that waits to have a 
-	 * thread to perform an evaluation in.
-	 */
-	private static class WaitThread extends Thread {
-		/**
-		 * The display used for event dispatching.
-		 */
-		private Display fDisplay;
-		
-		/**
-		 * Indicates whether to continue event queue dispatching.
-		 */
-		private volatile boolean fContinueEventDispatching = true;
-		
-		private Object fLock;
-		/**
-		 * Creates a "wait" thread
-		 * 
-		 * @param display the display to be used to read and dispatch events
-		 * @param lock the monitor to wait on
-		 */
-		private WaitThread(Display display, Object lock) {
-			super("Snippet Wait Thread"); //$NON-NLS-1$
-			fDisplay = display;
-			fLock= lock;
-		}
-		public void run() {
-			try {
-				synchronized (fLock) {
-					//should be notified out of #setThread(IJavaThread)
-					fLock.wait(10000);	
-				}
-			} catch (InterruptedException e) {
-			} finally {
-				// Make sure that all events in the asynchronous event queue
-				// are dispatched.
-				fDisplay.syncExec(new Runnable() {
-					public void run() {
-						// do nothing
-					}
-				});
-				
-				// Stop event dispatching
-				fContinueEventDispatching= false;
-				
-				// Force the event loop to return from sleep () so that
-				// it stops event dispatching.
-				fDisplay.asyncExec(null);
-			}	
-		}
-		/**
-		 * Processes events.
-		 */
-		protected void block() {
-			if (fDisplay == Display.getCurrent()) {
-				while (fContinueEventDispatching) {
-					if (!fDisplay.readAndDispatch())
-						fDisplay.sleep();
-				}
-			}
-		}		
-	}
-	
-	public JavaSnippetEditor() {
-		super();
-		setDocumentProvider(JDIDebugUIPlugin.getDefault().getSnippetDocumentProvider());
-		setSourceViewerConfiguration(new JavaSnippetViewerConfiguration(JavaPlugin.getDefault().getJavaTextTools(), this));		
-		fSnippetStateListeners= new ArrayList(4);
-		setPreferenceStore(JavaPlugin.getDefault().getPreferenceStore());
-		setEditorContextMenuId("#JavaSnippetEditorContext"); //$NON-NLS-1$
-		setRulerContextMenuId("#JavaSnippetRulerContext"); //$NON-NLS-1$
-	}
-	
-	protected void doSetInput(IEditorInput input) throws CoreException {
-		super.doSetInput(input);
-		String property= getPage().getPersistentProperty(new QualifiedName(JDIDebugUIPlugin.getUniqueIdentifier(), IMPORTS_CONTEXT));
-		if (property != null) {
-			fImports = JavaDebugOptionsManager.parseList(property);
-		}
-	}
-		
-	public void dispose() {
-		shutDownVM();
-		fPresentation.dispose();
-		fSnippetStateListeners= null;
-		super.dispose();
-	}
-	
-	/**
-	 * Actions for the editor popup menu
-	 * @see AbstractTextEditor#createActions
-	 */
-	protected void createActions() {
-		super.createActions();
-		Action action = new TextOperationAction(SnippetMessages.getBundle(), "SnippetEditor.ContentAssistProposal.", this, ISourceViewer.CONTENTASSIST_PROPOSALS); //$NON-NLS-1$
-		action.setActionDefinitionId(IJavaEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		setAction("ContentAssistProposal", action);//$NON-NLS-1$
-		setAction("Stop", new StopAction(this));  //$NON-NLS-1$
-		setAction("SelectImports", new SelectImportsAction(this));  //$NON-NLS-1$
-	} 
-	
-	/**
-	 * @see AbstractTextEditor#editorContextMenuAboutToShow(MenuManager)
-	 */
-	protected void editorContextMenuAboutToShow(IMenuManager menu) {
-		super.editorContextMenuAboutToShow(menu);
-		addGroup(menu, ITextEditorActionConstants.GROUP_EDIT, IContextMenuConstants.GROUP_GENERATE);		
-		addGroup(menu, ITextEditorActionConstants.GROUP_FIND, IContextMenuConstants.GROUP_SEARCH);		
-		addGroup(menu, IContextMenuConstants.GROUP_SEARCH,  IContextMenuConstants.GROUP_SHOW);
-		addAction(menu, IContextMenuConstants.GROUP_ADDITIONS, "Run"); //$NON-NLS-1$
-		addAction(menu, IContextMenuConstants.GROUP_ADDITIONS, "Stop"); //$NON-NLS-1$
-		addAction(menu, IContextMenuConstants.GROUP_ADDITIONS, "SelectImports"); //$NON-NLS-1$
-	}
-
-	protected boolean isVMLaunched() {
-		return fVM != null;
-	}
-	
-	public boolean isEvaluating() {
-		return fEvaluating;
-	}
-	
-	public void evalSelection(int resultMode) {
-		if (!isInJavaProject()) {
-			reportNotInJavaProjectError();
-			return;
-		}
-		if (isEvaluating()) {
-			return;
-		}
-		
-		checkCurrentProject();
-		
-		evaluationStarts();
-
-		fResultMode= resultMode;
-		buildAndLaunch();
-		
-		if (fVM == null) {
-			evaluationEnds();
-			return;
-		}
-		fireEvalStateChanged();
-
-		ITextSelection selection= (ITextSelection) getSelectionProvider().getSelection();
-		String snippet= selection.getText();
-		fSnippetStart= selection.getOffset();
-		fSnippetEnd= fSnippetStart + selection.getLength();
-		
-		evaluate(snippet);			
-	}
-	
-	/**
-	 * Checks if the page has been copied/moved to a different project or the project has been renamed.
-	 * Updates the launch configuration template if a copy/move/rename has occurred.
-	 */
-	protected void checkCurrentProject() {
-		try {
-			ILaunchConfiguration config = ScrapbookLauncher.getLaunchConfigurationTemplate(getPage());
-			if (config != null) {
-				String projectName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String)null);
-				IJavaProject pro = JavaCore.create(getPage().getProject());
-				if (!pro.getElementName().equals(projectName)) {
-					//the page has been moved to a "different" project
-					ScrapbookLauncher.setLaunchConfigMemento(getPage(), null);
-				}
-			}
-		} catch (CoreException ce) {
-			JDIDebugUIPlugin.log(ce);
-			ErrorDialog.openError(getShell(), SnippetMessages.getString("SnippetEditor.error.evaluating"), null, ce.getStatus()); //$NON-NLS-1$
-			evaluationEnds();
-			return;
-			
-		}
-	}	
-	
-	protected void buildAndLaunch() {
-		IJavaProject javaProject= getJavaProject();
-		if (javaProject == null) {
-			return;
-		}
-		boolean build = !javaProject.getProject().getWorkspace().isAutoBuilding()
-			|| !javaProject.hasBuildState();
-		
-		if (build) {
-			if (!performIncrementalBuild()) {
-				return;
-			}
-		}
-		
-		boolean changed= classPathHasChanged();
-		if (!changed) {
-			changed = workingDirHasChanged();
-		}
-		if (!changed) {
-			changed = vmHasChanged();
-		}
-		boolean launch= fVM == null || changed;
-
-		if (changed) {
-			shutDownVM();
-		}
-	
-		if (fVM == null) {
-			checkMultipleEditors();
-		}
-		if (launch && fVM == null) {
-			launchVM();
-			fVM= ScrapbookLauncher.getDefault().getDebugTarget(getPage());
-		}
-	}
-	
-	protected boolean performIncrementalBuild() {
-		IRunnableWithProgress r= new IRunnableWithProgress() {
-			public void run(IProgressMonitor pm) throws InvocationTargetException {
-				try {
-					getJavaProject().getProject().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, pm);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				}
-			}
-		};
-		try {
-			new ProgressMonitorDialog(getShell()).run(true, false, r);		
-		} catch (InterruptedException e) {
-			JDIDebugUIPlugin.log(e);
-			evaluationEnds();
-			return false;
-		} catch (InvocationTargetException e) {
-			JDIDebugUIPlugin.log(e);
-			evaluationEnds();
-			return false;
-		}
-		return true;
-	}
-	
-	protected void checkMultipleEditors() {
-		fVM= ScrapbookLauncher.getDefault().getDebugTarget(getPage());
-		//multiple editors are opened on the same page
-		if (fVM != null) {
-			DebugPlugin.getDefault().addDebugEventFilter(this);
-			try {
-				IThread[] threads= fVM.getThreads();
-				for (int i = 0; i < threads.length; i++) {
-					IThread iThread = threads[i];
-					if (iThread.isSuspended()) {
-						iThread.resume();
-					}
-				}
-			} catch (DebugException de) {
-				JDIDebugUIPlugin.log(de);
-			}
-		}
-	}
-	
-	protected void setImports(String[] imports) {
-		fImports= imports;
-		String serialized= null;
-		if (imports != null) {
-			serialized= JavaDebugOptionsManager.serializeList(imports);
-		}
-		// persist
-		try {
-			getPage().setPersistentProperty(new QualifiedName(JDIDebugUIPlugin.getUniqueIdentifier(), IMPORTS_CONTEXT), serialized);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-			ErrorDialog.openError(getShell(), SnippetMessages.getString("SnippetEditor.error.imports"), null, e.getStatus()); //$NON-NLS-1$
-		}
-	}
-	
-	protected String[] getImports() {
-		return fImports;
-	}
-			
-	protected IEvaluationContext getEvaluationContext() {
-		if (fEvaluationContext == null) {
-			IJavaProject project= getJavaProject();
-			if (project != null) {
-				fEvaluationContext= project.newEvaluationContext();
-			}
-		}
-		if (fEvaluationContext != null) {
-			if (getImports() != null) {		
-				fEvaluationContext.setImports(getImports());
-			} else {
-				fEvaluationContext.setImports(new String[]{});
-			}
-		}
-		return fEvaluationContext;
-	}
-	
-	protected IJavaProject getJavaProject() {
-		if (fJavaProject == null) {
-			try {
-				fJavaProject = findJavaProject();
-			} catch (JavaModelException e) {
-				JDIDebugUIPlugin.log(e);
-				showError(e.getStatus());
-			}
-		}
-		return fJavaProject;
-	}
-	
-	protected void shutDownVM() {
-		DebugPlugin.getDefault().removeDebugEventFilter(this);
-
-		// The real shut down
-		IDebugTarget target= fVM;
-		if (fVM != null) {
-			try {
-				IBreakpoint bp = ScrapbookLauncher.getDefault().getMagicBreakpoint(fVM);
-				if (bp != null) {
-					fVM.breakpointRemoved(bp, null);
-				}
-				if (getThread() != null) {
-					getThread().resume();
-				}
-				
-				fVM.terminate();
-			} catch (DebugException e) {
-				JDIDebugUIPlugin.log(e);
-				ErrorDialog.openError(getShell(), SnippetMessages.getString("SnippetEditor.error.shutdown"), null, e.getStatus()); //$NON-NLS-1$
-				return;
-			}
-			vmTerminated();
-			ScrapbookLauncher.getDefault().cleanup(target);
-		}
-	}
-	
-	/**
-	 * The VM has terminated, update state
-	 */
-	protected void vmTerminated() {
-		fVM= null;
-		fThread= null;
-		fEvaluationContext= null;
-		fLaunchedClassPath= null;
-		if (fEngine != null) {
-			fEngine.dispose();
-		}
-		fEngine= null;
-		fireEvalStateChanged();
-	}
-	
-	public void addSnippetStateChangedListener(ISnippetStateChangedListener listener) {
-		if (fSnippetStateListeners != null && !fSnippetStateListeners.contains(listener)) {
-			fSnippetStateListeners.add(listener);
-		}
-	}
-	
-	public void removeSnippetStateChangedListener(ISnippetStateChangedListener listener) {
-		if (fSnippetStateListeners != null) {
-			fSnippetStateListeners.remove(listener);
-		}
-	}
-
-	protected void fireEvalStateChanged() {
-		Runnable r= new Runnable() {
-			public void run() {
-				Shell shell= getShell();
-				if (fSnippetStateListeners != null && shell != null && !shell.isDisposed()) {
-					List v= new ArrayList(fSnippetStateListeners);
-					for (int i= 0; i < v.size(); i++) {
-						ISnippetStateChangedListener l= (ISnippetStateChangedListener) v.get(i);
-						l.snippetStateChanged(JavaSnippetEditor.this);
-					}
-				}
-			}
-		};
-		Shell shell= getShell();
-		if (shell != null) {
-			getShell().getDisplay().asyncExec(r);
-		}
-	}
-	
-	protected void evaluate(String snippet) {
-		if (getThread() == null) {
-			WaitThread eThread= new WaitThread(Display.getCurrent(), this);
-			eThread.start();
-			eThread.block();
-		}
-		if (getThread() == null) {
-			IStatus status = new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), IJavaDebugUIConstants.INTERNAL_ERROR, 
-				SnippetMessages.getString("SnippetEditor.error.nocontext"), null); //$NON-NLS-1$
-			ErrorDialog.openError(getShell(), SnippetMessages.getString("SnippetEditor.error.evaluating"), null, status); //$NON-NLS-1$
-			evaluationEnds();
-			return;
-		}
-		try {
-			getEvaluationEngine().evaluate(snippet,getThread(), this, true);
-		} catch (DebugException e) {
-			JDIDebugUIPlugin.log(e);
-			ErrorDialog.openError(getShell(), SnippetMessages.getString("SnippetEditor.error.evaluating"), null, e.getStatus()); //$NON-NLS-1$
-			evaluationEnds();
-		}
-	}
-	
-	/**
-	 * @see IEvaluationListener#evaluationComplete(IEvaluationResult)
-	 */
-	public void evaluationComplete(IEvaluationResult result) {
-		boolean severeErrors = false;
-		if (result.hasErrors()) {
-			String[] errors = result.getErrorMessages();
-			severeErrors = errors.length > 0;
-			if (result.getException() != null) {
-				showException(result.getException());
-			}
-			showAllErrors(errors);
-		} 
-		IJavaValue value= result.getValue();
-		if (value != null && !severeErrors) {
-			switch (fResultMode) {
-			case RESULT_DISPLAY:
-				displayResult(value, result.getThread());
-				break;
-			case RESULT_INSPECT:
-				String snippet= result.getSnippet().trim();
-				int snippetLength= snippet.length();
-				if (snippetLength > 30) {
-					snippet = snippet.substring(0, 15) + SnippetMessages.getString("SnippetEditor.ellipsis") + snippet.substring(snippetLength - 15, snippetLength);  //$NON-NLS-1$
-				}
-				snippet= snippet.replace('\n', ' ');
-				snippet= snippet.replace('\r', ' ');
-				snippet= snippet.replace('\t', ' ');
-				showExpressionView();
-				JavaInspectExpression exp = new JavaInspectExpression(snippet, value);
-				DebugPlugin.getDefault().getExpressionManager().addExpression(exp);
-				break;
-			case RESULT_RUN:
-				// no action
-				break;
-			}
-		}
-		evaluationEnds();
-	}
-	
-	/**
-	 * Make the expression view visible or open one
-	 * if required.
-	 */
-	protected void showExpressionView() {
-		Runnable r = new Runnable() {
-			public void run() {
-				IWorkbenchPage page = JDIDebugUIPlugin.getActivePage();
-				if (page != null) {
-					IViewPart part = page.findView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-					if (part == null) {
-						try {
-							page.showView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-						} catch (PartInitException e) {
-							JDIDebugUIPlugin.log(e);
-							showError(e.getStatus());
-						}
-					} else {
-						page.bringToTop(part);
-					}
-				}
-			}
-		};
-		
-		async(r);
-	}
-		
-	protected void codeComplete(ICompletionRequestor requestor) throws JavaModelException {
-		ITextSelection selection= (ITextSelection)getSelectionProvider().getSelection();
-		int start= selection.getOffset();
-		String snippet= getSourceViewer().getDocument().get();	
-		IEvaluationContext e= getEvaluationContext();
-		if (e != null) {
-			e.codeComplete(snippet, start, requestor);
-		}
-	}
-		 
-	protected IJavaElement[] codeResolve() throws JavaModelException {
-		ISourceViewer viewer= getSourceViewer();
-		if (viewer == null) {
-			return null;
-		}
-		ITextSelection selection= (ITextSelection) getSelectionProvider().getSelection();
-		int start= selection.getOffset();
-		int len= selection.getLength();
-		
-		String snippet= viewer.getDocument().get();	
-		IEvaluationContext e= getEvaluationContext();
-		if (e != null) {
-			return e.codeSelect(snippet, start, len);
-		}
-		return null;
-	}	
-	
-	protected void showError(IStatus status) {
-		evaluationEnds();
-		if (!status.isOK()) {
-			ErrorDialog.openError(getShell(), SnippetMessages.getString("SnippetEditor.error.evaluating2"), null, status); //$NON-NLS-1$
-		}
-	}
-	
-	protected void showError(String message) {
-		Status status= new Status(IStatus.ERROR, JDIDebugUIPlugin.getUniqueIdentifier(), IStatus.ERROR, message, null);
-		showError(status);
-	}
-	
-	protected void displayResult(IJavaValue result, IJavaThread thread) {
-		StringBuffer resultString= new StringBuffer();
-		try {
-			IJavaType type = result.getJavaType();
-			if (type != null) {
-				String sig= type.getSignature();
-				if ("V".equals(sig)) { //$NON-NLS-1$
-					resultString.append(SnippetMessages.getString("SnippetEditor.noreturnvalue")); //$NON-NLS-1$
-				} else {
-					if (sig != null) {
-						resultString.append(SnippetMessages.getFormattedString("SnippetEditor.typename", result.getReferenceTypeName())); //$NON-NLS-1$
-					} else {
-						resultString.append(" "); //$NON-NLS-1$
-					}   
-					resultString.append(evaluateToString(result, thread));
-				}
-			} else {
-				resultString.append(result.getValueString());
-			}
-		} catch(DebugException e) {
-			JDIDebugUIPlugin.log(e);
-			ErrorDialog.openError(getShell(), SnippetMessages.getString("SnippetEditor.error.toString"), null, e.getStatus()); //$NON-NLS-1$
-		}
-			
-		showAndSelect(resultString.toString(), fSnippetEnd);
-	}
-	
-	/**
-	 * Returns the result of evaluating 'toString' on the given
-	 * value.
-	 * 
-	 * @param value object or primitive data type the 'toString'
-	 *  is required for
-	 * @param thread the thread in which to evaluate 'toString'
-	 * @return the result of evaluating toString
-	 * @exception DebugException if an exception occurs during the
-	 *  evaluation.
-	 */
-	protected synchronized String evaluateToString(IJavaValue value, IJavaThread thread) throws DebugException {
-		fResult= null;
-		fPresentation.computeDetail(value, this);
-		if (fResult == null) {
-			try {
-				wait(10000);
-			} catch (InterruptedException e) {
-				return SnippetMessages.getString("SnippetEditor.error.interrupted"); //$NON-NLS-1$
-			}
-		}
-		return fResult;
-	}
-	
-	/**
-	 * @see IValueDetailListener#detailComputed(IValue, String)
-	 */
-	public synchronized void detailComputed(IValue value, final String result) {
-		fResult= result;
-		this.notifyAll();
-	}
-	
-	protected void showAllErrors(final String[] errors) {
-		if (errors.length > 0) {
-			Runnable r = new Runnable() {
-				public void run() {
-					IDocument document = getSourceViewer().getDocument();
-					String delimiter = document.getLegalLineDelimiters()[0];
-					int insertionPoint = fSnippetStart;
-					try {
-						insertionPoint = document.getLineOffset(document.getLineOfOffset(fSnippetStart));
-					} catch (BadLocationException ble) {
-						JDIDebugUIPlugin.log(ble);
-					}
-					int firstInsertionPoint = insertionPoint;
-					for (int i = 0; i < errors.length; i++) {
-						String error= errors[i];
-			
-						String message= error + delimiter;
-						try {
-							document.replace(insertionPoint, 0, message);
-						} catch (BadLocationException e) {
-							JDIDebugUIPlugin.log(e);
-						}
-						insertionPoint += message.length();
-					}
-					selectAndReveal(firstInsertionPoint, insertionPoint - firstInsertionPoint);
-					fSnippetStart = insertionPoint;
-				}
-			};
-			async(r);
-		}
-	}
-
-	protected void showException(Throwable exception) {
-		if (exception instanceof DebugException) {
-			DebugException de = (DebugException)exception;
-			Throwable t= de.getStatus().getException();
-			if (t != null) {
-				// show underlying exception
-				showUnderlyingException(t);
-				return;
-			}
-		}
-		final ByteArrayOutputStream bos= new ByteArrayOutputStream();
-		PrintStream ps= new PrintStream(bos, true);
-		exception.printStackTrace(ps);
-		
-		showAndSelect(bos.toString(), fSnippetEnd);
-	}
-	
-	protected void showUnderlyingException(Throwable t) {
-		if (t instanceof InvocationException) {
-			InvocationException ie= (InvocationException)t;
-			ObjectReference ref= ie.exception();
-			String eName= ref.referenceType().name();
-			String message= SnippetMessages.getFormattedString("SnippetEditor.exception", eName); //$NON-NLS-1$
-			showAndSelect(message, fSnippetEnd);
-		} else {
-			showException(t);
-		}
-	}
-	
-	protected IJavaProject findJavaProject() throws JavaModelException {
-		Object input= getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			IFileEditorInput file= (IFileEditorInput)input;
-			IProject p= file.getFile().getProject();
-			try {
-				if (p.getNature(JavaCore.NATURE_ID) != null) {
-					return JavaCore.create(p);
-				}
-			} catch (CoreException ce) {
-				throw new JavaModelException(ce);
-			}
-		}
-		return null;
-	}
-		
-	protected boolean classPathHasChanged() {
-		String[] classpath= getClassPath(getJavaProject());
-		if (fLaunchedClassPath != null && !classPathsEqual(fLaunchedClassPath, classpath)) {
-			MessageDialog.openWarning(getShell(), SnippetMessages.getString("SnippetEditor.warning"), SnippetMessages.getString("SnippetEditor.warning.cpchange")); //$NON-NLS-2$ //$NON-NLS-1$
-			return true;
-		}
-		return false;
-	}
-	
-	protected boolean workingDirHasChanged() {
-		String wd = getWorkingDirectoryAttribute();
-		boolean changed = false;
-		if (wd == null || fLaunchedWorkingDir == null) {
-			if (wd != fLaunchedWorkingDir) {
-				changed = true;
-			}
-		} else {
-			if (!wd.equals(fLaunchedWorkingDir)) {
-				changed = true;
-			}
-		}
-		if (changed && fVM != null) {
-			MessageDialog.openWarning(getShell(), SnippetMessages.getString("SnippetEditor.Warning_1"), SnippetMessages.getString("SnippetEditor.The_working_directory_has_changed._Restarting_the_evaluation_context._2")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return changed;
-	}
-	
-	protected boolean vmHasChanged() {
-		IVMInstall vm = getVMInstall();
-		boolean changed = false;
-		if (vm == null || fLaunchedVM == null) {
-			if (vm != fLaunchedVM) {
-				changed = true;
-			}
-		} else {
-			if (!vm.equals(fLaunchedVM)) {
-				changed = true;
-			}
-		}
-		if (changed && fVM != null) {
-			MessageDialog.openWarning(getShell(), SnippetMessages.getString("SnippetEditor.Warning_1"), SnippetMessages.getString("SnippetEditor.The_JRE_has_changed._Restarting_the_evaluation_context._2")); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return changed;
-	}
-			
-	protected boolean classPathsEqual(String[] path1, String[] path2) {
-		if (path1.length != path2.length) {
-			return false;
-		}
-		for (int i= 0; i < path1.length; i++) {
-			if (!path1[i].equals(path2[i])) {
-				return false;
-			}
-		}
-		return true;
-	}
-		
-	protected synchronized void evaluationStarts() {
-		if (fThread != null) {
-			try {
-				IThread thread = fThread;
-				fThread = null;
-				thread.resume();
-			} catch (DebugException e) {
-				JDIDebugUIPlugin.log(e);
-				showException(e);
-				return;
-			}
-		}		
-		fEvaluating = true;
-		setTitleImage();
-		fireEvalStateChanged();
-		showStatus(SnippetMessages.getString("SnippetEditor.evaluating")); //$NON-NLS-1$
-		getSourceViewer().setEditable(false);
-	}
-	
-	/** 
-	 * Sets the tab image to indicate whether in the process of
-	 * evaluating or not.
-	 */
-	protected void setTitleImage() {
-		Image image=null;
-		if (fEvaluating) {
-			fOldTitleImage= getTitleImage();
-			image= JavaDebugImages.get(JavaDebugImages.IMG_OBJS_SNIPPET_EVALUATING);
-		} else {
-			image= fOldTitleImage;
-			fOldTitleImage= null;
-		}
-		if (image != null) {
-			setTitleImage(image);
-		}
-	}
-		
-	protected void evaluationEnds() {
-		Runnable r = new Runnable() {
-			public void run() {
-				fEvaluating= false;
-				setTitleImage();
-				fireEvalStateChanged();
-				showStatus(""); //$NON-NLS-1$
-				getSourceViewer().setEditable(true);
-			}
-		};
-		async(r);
-	}
-	
-	protected void showStatus(String message) {
-		IEditorSite site=(IEditorSite)getSite();
-		EditorActionBarContributor contributor= (EditorActionBarContributor)site.getActionBarContributor();
-		contributor.getActionBars().getStatusLineManager().setMessage(message);
-	}
-	
-	protected String[] getClassPath(IJavaProject project) {
-		try {
-			return JavaRuntime.computeDefaultRuntimeClassPath(project);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-			return new String[0];
-		}
-	}
-	
-	protected Shell getShell() {
-		return getSite().getShell();
-	}
-	
-	/**
-	 * @see IDebugEventFilter#filterDebugEvents(DebugEvent[])
-	 */	
-	public DebugEvent[] filterDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent e = events[i];
-			Object source = e.getSource();
-			if (source instanceof IDebugElement) {
-				IDebugElement de = (IDebugElement)source;
-				if (de instanceof IDebugTarget) {
-					if (de.getDebugTarget().equals(fVM)) {
-						if (e.getKind() == DebugEvent.TERMINATE) {
-							setThread(null);
-							Runnable r = new Runnable() {
-								public void run() {
-									vmTerminated();
-								}
-							};
-							getShell().getDisplay().asyncExec(r);
-						}
-					}
-				} else if (de instanceof IJavaThread) {
-					if (e.getKind() == DebugEvent.SUSPEND) {
-						IJavaThread jt = (IJavaThread)de;
-						try {
-							if (jt.equals(getThread()) && e.getDetail() == DebugEvent.EVALUATION) {
-								return null;
-							}
-							IJavaStackFrame f= (IJavaStackFrame)jt.getTopStackFrame();
-							if (f != null) {
-								IBreakpoint[] bps = jt.getBreakpoints();
-								if (e.getDetail() == DebugEvent.STEP_END && f.getLineNumber() == 14 
-									&& f.getDeclaringTypeName().equals("org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain1") //$NON-NLS-1$
-									&& jt.getDebugTarget() == fVM) { 
-									setThread(jt);
-									return null;
-								} else if (e.getDetail() == DebugEvent.BREAKPOINT &&  bps.length > 0 && bps[0].equals(ScrapbookLauncher.getDefault().getMagicBreakpoint(jt.getDebugTarget()))) {
-									// locate the 'eval' method and step over
-									IStackFrame[] frames = jt.getStackFrames();
-									for (int j = 0; j < frames.length; j++) {
-										IJavaStackFrame frame = (IJavaStackFrame)frames[j];
-										if (frame.getReceivingTypeName().equals("org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain1") && frame.getName().equals("eval")) { //$NON-NLS-1$ //$NON-NLS-2$
-											frame.stepOver();
-											return null;
-										}
-									}
-								}
-							}
-						} catch (DebugException ex) {
-							JDIDebugUIPlugin.log(ex);
-						}
-					}
-				}
-			}
-		}
-		return events;
-	}
-	
-	/**
-	 * @see AbstractTextEditor#affectsTextPresentation(PropertyChangeEvent)
-	 */
-	protected boolean affectsTextPresentation(PropertyChangeEvent event) {
-		JavaTextTools textTools= JavaPlugin.getDefault().getJavaTextTools();
-		return textTools.affectsBehavior(event);
-	}
-	
-	/**
-	 * @see AbstractTextEditor#handlePreferenceStoreChanged(PropertyChangeEvent)
-	 */
-	protected void handlePreferenceStoreChanged(PropertyChangeEvent event) {
-		JDISourceViewer isv= (JDISourceViewer) getSourceViewer();
-			if (isv != null) {
-				IContentAssistant assistant= isv.getContentAssistant();
-				if (assistant instanceof ContentAssistant) {
-					JDIContentAssistPreference.changeConfiguration((ContentAssistant) assistant, event);
-				}				
-				
-				super.handlePreferenceStoreChanged(event);
-			}
-	}
-	
-	protected IJavaThread getThread() {
-		return fThread;
-	}
-	
-	/**
-	 * Sets the thread to perform any evaluations in.
-	 * Notifies the WaitThread waiting on getting an evaluation thread
-	 * to perform an evaluation.
-	 */
-	protected synchronized void setThread(IJavaThread thread) {
-		fThread= thread;
-		notifyAll();
-	}
-	
-	protected void launchVM() {
-		DebugPlugin.getDefault().addDebugEventFilter(this);
-		fLaunchedClassPath = getClassPath(getJavaProject());
-		fLaunchedWorkingDir = getWorkingDirectoryAttribute();
-		fLaunchedVM = getVMInstall();
-		Runnable r = new Runnable() {
-			public void run() {
-				ScrapbookLauncher.getDefault().launch(getPage());
-			}
-		};
-		BusyIndicator.showWhile(getShell().getDisplay(), r);
-	}
-	
-	protected IFile getPage() {
-		return ((FileEditorInput)getEditorInput()).getFile();
-	}
-	
-	/**
-	 * Updates all selection dependent actions.
-	 */
-	protected void updateSelectionDependentActions() {
-		super.updateSelectionDependentActions();
-		fireEvalStateChanged();
-	}
-	
-   /**
-    * Terminates existing VM on a rename of the editor
-	* @see WorkbenchPart#setTitle
- 	*/
-	protected void setTitle(String title) {
-		cleanupOnRenameOrMove();
-		super.setTitle(title);
-	}
-	
-	/**
-	 * If the launch configuration has been copied, moved or
-	 * renamed, shut down any running VM and clear the relevant cached information.
-	 */
-	protected void cleanupOnRenameOrMove() {
-		if(isVMLaunched()) {
-			shutDownVM();
-		} else {
-			fThread= null;
-			fEvaluationContext= null;
-			fLaunchedClassPath= null;
-			
-			if (fEngine != null) {
-				fEngine.dispose();
-				fEngine= null;
-			}	
-		}
-		fJavaProject= null;
-	}
-	
-	/**
-	 * Returns whether this editor has been opened on a resource that
-	 * is in a Java project.
-	 */
-	protected boolean isInJavaProject() {
-		try {
-			return findJavaProject() != null;
-		} catch (JavaModelException jme) {
-			JDIDebugUIPlugin.log(jme);
-		}
-		return false;
-	}
-	
-	/**
-	 * Displays an error dialog indicating that evaluation
-	 * cannot occur outside of a Java Project.
-	 */
-	protected void reportNotInJavaProjectError() {
-		String projectName= null;
-		Object input= getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			IFileEditorInput file= (IFileEditorInput)input;
-			IProject p= file.getFile().getProject();
-			projectName= p.getName();
-		}
-		String message= ""; //$NON-NLS-1$
-		if (projectName != null) {
-			message = projectName + SnippetMessages.getString("JavaSnippetEditor._is_not_a_Java_Project._n_1"); //$NON-NLS-1$
-		}
-		showError(message + SnippetMessages.getString("JavaSnippetEditor.Unable_to_perform_evaluation_outside_of_a_Java_Project_2")); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Asks the user for the workspace path
-	 * of a file resource and saves the document there.
-	 */
-	protected void performSaveAs(IProgressMonitor progressMonitor) {
-		Shell shell= getSite().getShell();
-		SaveAsDialog dialog= new SaveAsDialog(shell);
-		dialog.open();
-		IPath path= dialog.getResult();
-		
-		if (path == null) {
-			if (progressMonitor != null)
-				progressMonitor.setCanceled(true);
-			return;
-		}
-			
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IFile file= workspace.getRoot().getFile(path);
-		final IEditorInput newInput= new FileEditorInput(file);
-		
-		WorkspaceModifyOperation op= new WorkspaceModifyOperation() {
-			public void execute(final IProgressMonitor monitor) throws CoreException {
-				IDocumentProvider dp= getDocumentProvider();
-				dp.saveDocument(monitor, newInput, dp.getDocument(getEditorInput()), true);
-			}
-		};
-		
-		boolean success= false;
-		try {
-			getDocumentProvider().aboutToChange(newInput);
-			new ProgressMonitorDialog(shell).run(false, true, op);
-			success= true;
-		} catch (InterruptedException x) {
-		} catch (InvocationTargetException x) {
-			JDIDebugUIPlugin.log(x);
-			String title= SnippetMessages.getString("JavaSnippetEditor.Problems_During_Save_As..._3");  //$NON-NLS-1$
-			String msg= SnippetMessages.getString("JavaSnippetEditor.Save_could_not_be_completed.__4") +  x.getTargetException().getMessage(); //$NON-NLS-1$
-			MessageDialog.openError(shell, title, msg);
-		} finally {
-			getDocumentProvider().changed(newInput);
-			if (success) {
-				setInput(newInput);
-			}
-		}
-		
-		if (progressMonitor != null) {
-			progressMonitor.setCanceled(!success);
-		}
-	}
-	
-	/**
-	 * @see IEditorPart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return true;
-	}
-	
-	protected IClassFileEvaluationEngine getEvaluationEngine() {
-		if (fEngine == null) {
-			IPath outputLocation =	getJavaProject().getProject().getPluginWorkingLocation(JDIDebugUIPlugin.getDefault().getDescriptor());
-			java.io.File f = new java.io.File(outputLocation.toOSString());
-			fEngine = EvaluationManager.newClassFileEvaluationEngine(getJavaProject(), (IJavaDebugTarget)getThread().getDebugTarget(), f);
-		}
-		if (getImports() != null) {
-			fEngine.setImports(getImports());
-		} else {
-			fEngine.setImports(new String[]{});
-		}
-		return fEngine;
-	}
-	
-	/**
-	 * @see AbstractTextEditor#createSourceViewer(Composite, IVerticalRuler, int)
-	 */
-	protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles) {
-		return new JDISourceViewer(parent, ruler, styles);
-	}
-	
-	/**
-	 * Returns the working directory attribute for this scrapbook
-	 */
-	protected String getWorkingDirectoryAttribute() {
-		try {
-			return ScrapbookLauncher.getWorkingDirectoryAttribute(getPage());
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the vm install for this scrapbook
-	 */
-	protected IVMInstall getVMInstall() {
-		try {
-			return ScrapbookLauncher.getVMInstall(getPage());
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		return null;
-	}	
-	
-	/**
-	 * Executes the given runnable in the Display thread
-	 */
-	protected void async(Runnable r) {
-		Control control= getVerticalRuler().getControl();
-		if (!control.isDisposed()) {
-			control.getDisplay().asyncExec(r);
-		}		
-	}
-	
-	protected void showAndSelect(final String text, final int offset) {
-		Runnable r = new Runnable() {
-			public void run() {
-				try {
-					getSourceViewer().getDocument().replace(offset, 0, text);
-				} catch (BadLocationException e) {
-					JDIDebugUIPlugin.log(e);
-				}
-				selectAndReveal(offset, text.length());
-			}
-		};
-		async(r);		
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetViewerConfiguration.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetViewerConfiguration.java
deleted file mode 100644
index 8f86b77..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetViewerConfiguration.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-
-import org.eclipse.jdt.internal.debug.ui.JDIContentAssistPreference;
-import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.source.ISourceViewer;
-
-/**
- *  The source viewer configuration for the Java snippet editor.
- */
-public class JavaSnippetViewerConfiguration extends JavaSourceViewerConfiguration {
-	
-	public JavaSnippetViewerConfiguration(JavaTextTools tools, JavaSnippetEditor editor) {
-		super(tools, editor);
-	}
-	
-	/**
-	 * @see JDIViewerConfiguration#getContentAssistantProcessor()
-	 */
-	public IContentAssistProcessor getContentAssistantProcessor() {
-		return new JavaSnippetCompletionProcessor((JavaSnippetEditor)getEditor());
-	}
-	
-	/**
-	 * @see SourceViewerConfiguration#getContentAssistant(ISourceViewer)
-	 */
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-
-		ContentAssistant assistant = new ContentAssistant();
-		assistant.setContentAssistProcessor(
-			getContentAssistantProcessor(),
-			IDocument.DEFAULT_CONTENT_TYPE);
-
-		JDIContentAssistPreference.configure(assistant, getColorManager());
-
-		assistant.setContextInformationPopupOrientation(ContentAssistant.CONTEXT_INFO_ABOVE);
-		assistant.setInformationControlCreator(
-			getInformationControlCreator(sourceViewer));
-
-		return assistant;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookLauncher.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookLauncher.java
deleted file mode 100644
index 9ffb752..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookLauncher.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
- 
- 
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-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.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * Support for launching scrapbook using launch configurations.
- */
-
-public class ScrapbookLauncher implements IDebugEventSetListener {
-	
-	public static final String SCRAPBOOK_LAUNCH = IJavaDebugUIConstants.PLUGIN_ID + ".scrapbook_launch"; //$NON-NLS-1$
-	
-	public static final String SCRAPBOOK_FILE_PATH = IJavaDebugUIConstants.PLUGIN_ID + ".scrapbook_file_path"; //$NON-NLS-1$
-	
-	/**
-	 * Persistent property associated with snippet files specifying working directory.
-	 * Same format as the associated launch configuration attribute
-	 * <code>ATTR_WORKING_DIR</code>.
-	 */
-	public static final QualifiedName SNIPPET_EDITOR_LAUNCH_CONFIG_HANDLE_MEMENTO = new QualifiedName(IJavaDebugUIConstants.PLUGIN_ID, "snippet_editor_launch_config"); //$NON-NLS-1$
-		
-	private IJavaLineBreakpoint fMagicBreakpoint;
-	
-	private HashMap fScrapbookToVMs = new HashMap(10);
-	private HashMap fVMsToBreakpoints = new HashMap(10);
-	private HashMap fVMsToScrapbooks = new HashMap(10);
-	
-	private static ScrapbookLauncher fgDefault = null;
-	
-	private ScrapbookLauncher() {
-		//see getDefault()
-	}
-	
-	public static ScrapbookLauncher getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new ScrapbookLauncher();
-		}
-		return fgDefault;
-	}
-	
-	/**
-	 * Launches a VM for the given srapbook page, in debug mode.
-	 * Returns an existing launch if the page is already running.
-	 * 
-	 * @param file scrapbook page file
-	 * @return resulting launch, or <code>null</code> on failure
-	 */
-	protected ILaunch launch(IFile page) {
-
-		// clean up orphaned launch cofigs
-		cleanupLaunchConfigurations();
-							
-		if (!page.getFileExtension().equals("jpage")) { //$NON-NLS-1$
-			showNoPageDialog();
-			return null;
-		}
-		
-		IDebugTarget vm = getDebugTarget(page);
-		if (vm != null) {
-			//already launched
-			return vm.getLaunch();
-		}
-		
-		IJavaProject javaProject= JavaCore.create(page.getProject());
-			
-		URL pluginInstallURL= JDIDebugUIPlugin.getDefault().getDescriptor().getInstallURL();
-		URL jarURL = null;
-		try {
-			jarURL = new URL(pluginInstallURL, "snippetsupport.jar"); //$NON-NLS-1$
-			jarURL = Platform.asLocalURL(jarURL);
-		} catch (MalformedURLException e) {
-			JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("ScrapbookLauncher.Exception_occurred_launching_scrapbook_1"), e); //$NON-NLS-1$
-			return null;
-		} catch (IOException e) {
-			JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("ScrapbookLauncher.Exception_occurred_launching_scrapbook_1"), e); //$NON-NLS-1$
-			return null;
-		}
-		
-		List cp = new ArrayList(3);
-		IRuntimeClasspathEntry supportEntry = JavaRuntime.newArchiveRuntimeClasspathEntry(new Path(jarURL.getFile()));
-		cp.add(supportEntry);
-		// get bootpath entries
-		try {
-			IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedRuntimeClasspath(javaProject);
-			for (int i = 0; i < entries.length; i++) {
-				if (entries[i].getClasspathProperty() != IRuntimeClasspathEntry.USER_CLASSES) {
-					cp.add(entries[i]);
-				}
-			}
-			IRuntimeClasspathEntry[] classPath = (IRuntimeClasspathEntry[])cp.toArray(new IRuntimeClasspathEntry[cp.size()]);
-			
-			return doLaunch(javaProject, page, classPath);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("ScrapbookLauncher.Unable_to_launch_scrapbook_VM_6"), e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	private ILaunch doLaunch(IJavaProject p, IFile page, IRuntimeClasspathEntry[] classPath) {
-		try {
-			if (fVMsToScrapbooks.isEmpty()) {
-				// register for debug events if a scrapbook is not currently running
-				DebugPlugin.getDefault().addDebugEventListener(this);
-			}
-			ILaunchConfiguration config = null;
-			ILaunchConfigurationWorkingCopy wc = null;
-			try {
-				config = getLaunchConfigurationTemplate(page);
-				if (config != null) {
-					wc = config.getWorkingCopy();		
-				}
-			} catch (CoreException e) {
-				config = null;
-				wc = null;
-				JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("ScrapbookLauncher.Unable_to_retrieve_scrapbook_runtime_settings._Settings_will_revert_to_default._1"), e); //$NON-NLS-1$
-			}
-			
-			if (config == null) {
-				config = createLaunchConfigurationTemplate(page);
-				wc = config.getWorkingCopy();
-			}							
-			
-						
-			IPath outputLocation =	p.getProject().getPluginWorkingLocation(JDIDebugUIPlugin.getDefault().getDescriptor());
-			File f = outputLocation.toFile();
-			URL u = null;
-			try {
-				u = getEncodedURL(f);
-			} catch (MalformedURLException e) {
-				JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("ScrapbookLauncher.Exception_occurred_launching_scrapbook_1"),e); //$NON-NLS-1$
-				return null;
-			}
-			String[] defaultClasspath = JavaRuntime.computeDefaultRuntimeClassPath(p);
-			String[] urls = new String[defaultClasspath.length + 1];
-			urls[0] = u.toExternalForm();
-			for (int i = 0; i < defaultClasspath.length; i++) {
-				f = new File(defaultClasspath[i]);
-				try {
-					urls[i + 1] = getEncodedURL(f).toExternalForm();
-				} catch (MalformedURLException e) {
-					JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("ScrapbookLauncher.Exception_occurred_launching_scrapbook_1"), e);				 //$NON-NLS-1$
-				 	return null;
-				}
-			}
-			
-			// convert to mementos 
-			List classpathList= new ArrayList(classPath.length);
-			for (int i = 0; i < classPath.length; i++) {
-				classpathList.add(classPath[i].getMemento());
-			}
-			
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, classpathList);
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, p.getElementName());
-			
-			StringBuffer urlsString = new StringBuffer();
-			for (int i = 0; i < urls.length; i++) {
-				urlsString.append(' ');
-				urlsString.append(urls[i]);
-			}
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, urlsString.toString());
-			wc.setAttribute(SCRAPBOOK_LAUNCH, SCRAPBOOK_LAUNCH);
-			
-			config = wc.doSave();
-			
-			ILaunch launch = config.launch(ILaunchManager.DEBUG_MODE, null);
-			if (launch != null) {
-				IDebugTarget dt = launch.getDebugTarget();
-				IBreakpoint magicBreakpoint = createMagicBreakpoint("org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain"); //$NON-NLS-1$
-				fScrapbookToVMs.put(page, dt);
-				fVMsToScrapbooks.put(dt, page);
-				fVMsToBreakpoints.put(dt, magicBreakpoint);
-				dt.breakpointAdded(magicBreakpoint);
-				launch.setAttribute(SCRAPBOOK_LAUNCH, SCRAPBOOK_LAUNCH);
-				return launch;
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("ScrapbookLauncher.Unable_to_launch_scrapbook_VM_6"), e); //$NON-NLS-1$
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates an "invisible" line breakpoint. 
-	 */
-	IBreakpoint createMagicBreakpoint(String typeName) throws CoreException{
-	
-		fMagicBreakpoint= JDIDebugModel.createLineBreakpoint(ResourcesPlugin.getWorkspace().getRoot(), typeName, 51, -1, -1, 0, false, null);
-		fMagicBreakpoint.setPersisted(false);
-		return fMagicBreakpoint;
-	}
-
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getSource() instanceof IDebugTarget && event.getKind() == DebugEvent.TERMINATE) {
-				cleanup((IDebugTarget)event.getSource());
-			}
-		}
-	}
-	
-	/**
-	 * Returns the debug target associated with the given
-	 * scrapbook page, or <code>null</code> if none.
-	 * 
-	 * @param page file representing scrapbook page
-	 * @return associated debug target or <code>null</code>
-	 */
-	public IDebugTarget getDebugTarget(IFile page) {
-		return (IDebugTarget)fScrapbookToVMs.get(page);
-	}
-	
-	/**
-	 * Returns the magic breakpoint associated with the given
-	 * scrapbook VM. The magic breakpoint is the location at
-	 * which an evaluation begins.
-	 * 
-	 * @param target a scrapbook debug target 
-	 * @return the breakpoint at which an evaluation begins
-	 *  or <code>null</code> if none
-	 */
-	public IBreakpoint getMagicBreakpoint(IDebugTarget target) {
-		return (IBreakpoint)fVMsToBreakpoints.get(target);
-	}
-	
-	protected void showNoPageDialog() {
-		String title= SnippetMessages.getString("ScrapbookLauncher.error.title"); //$NON-NLS-1$
-		String msg= SnippetMessages.getString("ScrapbookLauncher.error.pagenotfound"); //$NON-NLS-1$
-		MessageDialog.openError(JDIDebugUIPlugin.getActiveWorkbenchShell(),title, msg);
-	}
-	
-	protected void cleanup(IDebugTarget target) {
-		Object page = fVMsToScrapbooks.get(target);
-		if (page != null) {
-			fVMsToScrapbooks.remove(target);
-			fScrapbookToVMs.remove(page);
-			fVMsToBreakpoints.remove(target);
-			ILaunch launch = target.getLaunch();
-			if (launch != null) {
-				getLaunchManager().removeLaunch(launch);
-			}
-			if (fVMsToScrapbooks.isEmpty()) {
-				// no need to listen to events if no scrapbooks running
-				DebugPlugin.getDefault().removeDebugEventListener(this);
-			}
-		}
-	}
-	
-	protected URL getEncodedURL(File file) throws MalformedURLException {
-		//looking at File.toURL the delimiter is always '/' 
-		// NOT File.separatorChar
-		String urlDelimiter= "/"; //$NON-NLS-1$
-		String unencoded= file.toURL().toExternalForm();
-		StringBuffer encoded= new StringBuffer();
-		StringTokenizer tokenizer= new StringTokenizer(unencoded, urlDelimiter);
-		
-		encoded.append(tokenizer.nextToken()); //file:
-		encoded.append(urlDelimiter);
-		encoded.append(tokenizer.nextToken()); //drive letter and ':'
-		
-		while (tokenizer.hasMoreElements()) {
-			encoded.append(urlDelimiter);
-			String token= tokenizer.nextToken();
-			encoded.append(URLEncoder.encode(token));
-		}
-		if (file.isDirectory()) {
-			encoded.append(urlDelimiter);
-		}
-		return new URL(encoded.toString());
-	}
-	
-	/**
-	 * Returns the launch configuration used as a template for launching the
-	 * given scrapbook file, or <code>null</code> if none. The template contains
-	 * working directory and JRE settings to use when launching the scrapbook.
-	 */
-	public static ILaunchConfiguration getLaunchConfigurationTemplate(IFile file) throws CoreException {
-		String memento = getLaunchConfigMemento(file);
-		if (memento != null) {
-			return getLaunchManager().getLaunchConfiguration(memento);
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates and saves template launch configuration for the given scrapbook file.
-	 */
-	public static ILaunchConfiguration createLaunchConfigurationTemplate(IFile page) throws CoreException {
-		ILaunchConfigurationType lcType = getLaunchManager().getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
-		String name = page.getName() + "-Scrapbook-" + System.currentTimeMillis(); //$NON-NLS-1$
-		ILaunchConfigurationWorkingCopy wc = lcType.newInstance(null, name);
-		wc.setAttribute(IDebugUIConstants.ATTR_PRIVATE, true);
-		wc.setAttribute(IDebugUIConstants.ATTR_TARGET_DEBUG_PERSPECTIVE, IDebugUIConstants.PERSPECTIVE_NONE);		
-		wc.setAttribute(IDebugUIConstants.ATTR_TARGET_RUN_PERSPECTIVE, IDebugUIConstants.PERSPECTIVE_NONE);		
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain"); //$NON-NLS-1$			
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, page.getProject().getName());
-		wc.setAttribute(SCRAPBOOK_LAUNCH, SCRAPBOOK_LAUNCH);
-		wc.setAttribute(SCRAPBOOK_FILE_PATH, page.getFullPath().toString());
-		
-		ILaunchConfiguration config = wc.doSave();
-		setLaunchConfigMemento(page, config.getMemento());
-		return config;		
-	}	
-		
-	/**
-	 * Returns the handle memento for the given scrapbook's launch configuration
-	 * template, or <code>null</code> if none.
-	 */
-	private static String getLaunchConfigMemento(IFile file) {
-		try {
-			return file.getPersistentProperty(SNIPPET_EDITOR_LAUNCH_CONFIG_HANDLE_MEMENTO);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-		return null;
-	}	
-	
-	/**
-	 * Sets the handle memento for the given scrapbook's launch configuration
-	 * template.
-	 */
-	protected static void setLaunchConfigMemento(IFile file, String memento) {
-		try {
-			file.setPersistentProperty(SNIPPET_EDITOR_LAUNCH_CONFIG_HANDLE_MEMENTO, memento);
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.log(e);
-		}
-	}	
-
-	/**
-	 * Returns the launch manager.
-	 */
-	protected static ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	/**
-	 * Returns the working directory attribute for the given snippet file,
-	 * possibly <code>null</code>.
-	 * 
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public static String getWorkingDirectoryAttribute(IFile file) throws CoreException {
-		ILaunchConfiguration config = getLaunchConfigurationTemplate(file);
-		if (config != null) {
-			return config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String)null);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the VM install used to launch the given snippet file.
-	 * 
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public static IVMInstall getVMInstall(IFile file) throws CoreException {
-		ILaunchConfiguration config = getLaunchConfigurationTemplate(file);
-		if (config == null) {
-			IJavaProject pro = JavaCore.create(file.getProject());
-			return JavaRuntime.getVMInstall(pro);
-		} else {
-			return JavaRuntime.computeVMInstall(config);
-		}
-	}	
-	
-	/**
-	 * Deletes any scrapbook launch configurations for scrapbooks that
-	 * have been deleted. Rather than listening to all resource deltas,
-	 * configs are deleted each time a scrapbook is launched - which is
-	 * infrequent.
-	 */
-	public void cleanupLaunchConfigurations() {
-		try {
-			ILaunchConfigurationType lcType = getLaunchManager().getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
-			ILaunchConfiguration[] configs = getLaunchManager().getLaunchConfigurations(lcType);
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			for (int i = 0; i < configs.length; i++) {
-				String path = configs[i].getAttribute(SCRAPBOOK_FILE_PATH, (String)null);
-				if (path != null) {
-					IPath pagePath = new Path(path);
-					IResource res = root.findMember(pagePath);
-					if (res == null) {
-						// config without a page - delete it
-						configs[i].delete();
-					}
-				}
-			}
-		} catch (CoreException e) {
-			// log quietly
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookMain.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookMain.java
deleted file mode 100644
index 907cdd0..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookMain.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.net.URLDecoder;
-import java.security.CodeSource;
-import java.security.ProtectionDomain;
-
-/**
- * Support class for launching a snippet evaluation
- */
-public class ScrapbookMain {
-	
-	public static void main(String[] args) {
-
-		URL[] urls= getClasspath(args);
-		if (urls == null) return;
-		
-		while (true) {
-			try {
-				evalLoop(urls);
-			} catch (ClassNotFoundException e) {
-				return;
-			} catch (NoSuchMethodException e) {
-				return;
-			} catch (InvocationTargetException e) {
-				return;
-			} catch (IllegalAccessException e) {
-				return;
-			}
-		}
-	
-	}
-	
-	static void evalLoop(URL[] urls) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
-
-		ClassLoader cl= new URLClassLoader(urls, null);
-		Class clazz= cl.loadClass("org.eclipse.jdt.internal.debug.ui.snippeteditor.ScrapbookMain1"); //$NON-NLS-1$
-		Method method= clazz.getDeclaredMethod("eval", new Class[] {Class.class}); //$NON-NLS-1$
-		method.invoke(null, new Object[] {ScrapbookMain.class});
-	}
-	
-	public static void nop() {
-		try {
-			Thread.sleep(100);
-		} catch(InterruptedException e) {
-		}
-	}
-	
-	
-	static URL[] getClasspath(String[] urlStrings) {
-		
-		//The URL Strings MUST be properly encoded
-		//using URLEncoder...see ScrapbookLauncher for details
-		URL[] urls= new URL[urlStrings.length + 1];
-		
-		for (int i = 0; i < urlStrings.length; i++) {
-			try {
-				urls[i + 1] = new URL(URLDecoder.decode(urlStrings[i]));
-			} catch (MalformedURLException e) {
-				return null;
-			}
-		}
-
-		ProtectionDomain pd = ScrapbookMain.class.getProtectionDomain();
-		if (pd == null) return null;
-		CodeSource cs = pd.getCodeSource();
-		if (cs == null) return null;
-		urls[0] = cs.getLocation();
-
-		return urls;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookMain1.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookMain1.java
deleted file mode 100644
index a975d3a..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/ScrapbookMain1.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-public class ScrapbookMain1 {
-	public static void eval(Class clazz) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
-		Method method=clazz.getDeclaredMethod("nop", new Class[0]); //$NON-NLS-1$
-		method.invoke(null, new Object[0]);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SelectImportsAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SelectImportsAction.java
deleted file mode 100644
index 81d6778..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SelectImportsAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.ui.ISharedImages;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class SelectImportsAction extends SnippetAction {
-	
-	public SelectImportsAction(JavaSnippetEditor editor) {
-		super(editor);
-		setText(SnippetMessages.getString("SelectImports.label")); //$NON-NLS-1$
-		setToolTipText(SnippetMessages.getString("SelectImports.tooltip")); //$NON-NLS-1$
-		setDescription(SnippetMessages.getString("SelectImports.description")); //$NON-NLS-1$
-		ISharedImages sharedImages= JavaUI.getSharedImages();
-		setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_OBJS_IMPCONT));
-		WorkbenchHelp.setHelp(this, IJavaDebugHelpContextIds.SCRAPBOOK_IMPORTS_ACTION);
-	}
-	
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		if (!getEditor().isInJavaProject()) {
-			getEditor().reportNotInJavaProjectError();
-			return;
-		}
-		chooseImports();
-	} 
-	
-	private void chooseImports() {
-		String[] imports= getEditor().getImports();
-		Dialog dialog= new SelectImportsDialog(getEditor(), imports);
-		dialog.open();		
-	}
-	
-	/**
-	 * @see ISnippetStateChangedListener#snippetStateChanged(JavaSnippetEditor)
-	 */
-	public void snippetStateChanged(JavaSnippetEditor editor) {
-		setEnabled(editor != null && !editor.isEvaluating());
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SelectImportsDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SelectImportsDialog.java
deleted file mode 100644
index 768fccf..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SelectImportsDialog.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
- 
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.internal.debug.ui.ExceptionHandler;
-import org.eclipse.jdt.internal.debug.ui.Filter;
-import org.eclipse.jdt.internal.debug.ui.FilterLabelProvider;
-import org.eclipse.jdt.internal.debug.ui.FilterViewerSorter;
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-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.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.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class SelectImportsDialog extends TitleAreaDialog {
-
-	private String[] fImports;
-	private Button fAddPackageButton;
-	private Button fAddTypeButton;
-	private Button fRemoveImportsButton;
-	private TableViewer fImportsViewer;
-	private Table fImportsTable;
-	private JavaSnippetEditor fEditor;
-	
-	private ImportsContentProvider fImportContentProvider;
-	
-	/**
-	 * Content provider for the table.  Content consists of instances of Filter.
-	 */	
-	protected class ImportsContentProvider implements IStructuredContentProvider {
-		
-		private TableViewer fViewer;
-		private List fImportNames;
-		
-		public ImportsContentProvider(TableViewer viewer) {
-			fViewer = viewer;
-			populateImports();
-		}
-		
-		protected void populateImports() {
-			fImportNames= new ArrayList(1);
-			if (fImports != null) {
-				for (int i = 0; i < fImports.length; i++) {
-					String name = fImports[i];
-					addImport(name);
-				}
-			}
-		}
-		
-		protected void addImport(String name) {
-			Filter imprt = new Filter(name, false);
-			if (!fImportNames.contains(imprt)) {
-				fImportNames.add(imprt);
-				fViewer.add(imprt);
-			}
-		}
-		
-		
-		protected void removeImports(Object[] imports) {
-			for (int i = 0; i < imports.length; i++) {
-				Filter imprt = (Filter)imports[i];
-				fImportNames.remove(imprt);
-			}
-			fViewer.remove(imports);
-		}
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return fImportNames.toArray();
-		}
-		
-		/**
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-		
-		/**
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}		
-	}
-	
-	public SelectImportsDialog(JavaSnippetEditor editor, String[] imports) {
-		super(editor.getShell());
-		fEditor= editor;
-		fImports= imports;
-	}
-	
-	private void createImportButtons(Composite container) {
-		WorkbenchHelp.setHelp(container, IJavaDebugHelpContextIds.SNIPPET_IMPORTS_DIALOG);
-		Font font = container.getFont();
-		
-		// button container
-		Composite buttonContainer = new Composite(container, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_VERTICAL);
-		buttonContainer.setLayoutData(gd);
-		GridLayout buttonLayout = new GridLayout();
-		buttonLayout.numColumns = 1;
-		buttonLayout.marginHeight = 0;
-		buttonLayout.marginWidth = 0;
-		buttonContainer.setLayout(buttonLayout);
-		
-		// Add type button
-		fAddTypeButton = new Button(buttonContainer, SWT.PUSH);
-		fAddTypeButton.setText(SnippetMessages.getString("SelectImportsDialog.Add_&Type_1")); //$NON-NLS-1$
-		fAddTypeButton.setToolTipText(SnippetMessages.getString("SelectImportsDialog.Choose_a_Type_to_Add_as_an_Import_2")); //$NON-NLS-1$
-		gd = getButtonGridData(fAddTypeButton);
-		fAddTypeButton.setLayoutData(gd);
-		fAddTypeButton.setFont(font);
-		fAddTypeButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent se) {
-				addType();
-			}
-			public void widgetDefaultSelected(SelectionEvent se) {
-			}
-		});
-		
-		// Add package button
-		fAddPackageButton = new Button(buttonContainer, SWT.PUSH);
-		fAddPackageButton.setText(SnippetMessages.getString("SelectImportsDialog.Add_&Package_3")); //$NON-NLS-1$
-		fAddPackageButton.setToolTipText(SnippetMessages.getString("SelectImportsDialog.Choose_a_Package_to_Add_as_an_Import_4")); //$NON-NLS-1$
-		gd = getButtonGridData(fAddPackageButton);
-		fAddPackageButton.setLayoutData(gd);
-		fAddPackageButton.setFont(font);
-		fAddPackageButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent se) {
-				addPackage();
-			}
-			public void widgetDefaultSelected(SelectionEvent se) {
-			}
-		});
-		
-		// Remove button
-		fRemoveImportsButton = new Button(buttonContainer, SWT.PUSH);
-		fRemoveImportsButton.setText(SnippetMessages.getString("SelectImportsDialog.&Remove_5")); //$NON-NLS-1$
-		fRemoveImportsButton.setToolTipText(SnippetMessages.getString("SelectImportsDialog.Remove_All_Selected_Imports_6")); //$NON-NLS-1$
-		gd = getButtonGridData(fRemoveImportsButton);
-		fRemoveImportsButton.setLayoutData(gd);
-		fRemoveImportsButton.setFont(font);
-		fRemoveImportsButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent se) {
-				removeImports();
-			}
-			public void widgetDefaultSelected(SelectionEvent se) {
-			}
-		});
-		fRemoveImportsButton.setEnabled(false);
-		
-	}
-	
-	private GridData getButtonGridData(Button button) {
-		GridData gd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		GC gc = new GC(button);
-		gc.setFont(button.getFont());
-		FontMetrics fontMetrics= gc.getFontMetrics();
-		gc.dispose();
-		int widthHint= Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint= Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		
-		gd.heightHint= Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_HEIGHT);
-		return gd;
-	}
-		
-	private void removeImports() {
-		IStructuredSelection selection = (IStructuredSelection)fImportsViewer.getSelection();		
-		fImportContentProvider.removeImports(selection.toArray());
-	}
-	
-	private void addPackage() {
-		Shell shell= fAddPackageButton.getDisplay().getActiveShell();
-		ElementListSelectionDialog dialog = null;
-		try {
-			IJavaProject project= fEditor.getJavaProject();
-			List projects= new ArrayList();
-			projects.add(project);
-			IPackageFragmentRoot[] roots= project.getAllPackageFragmentRoots();
-			for (int i = 0; i < roots.length; i++) {
-				IPackageFragmentRoot root = roots[i];
-				projects.add(root.getParent());
-			}
-			dialog = JDIDebugUIPlugin.createAllPackagesDialog(shell, (IJavaProject[])projects.toArray(new IJavaProject[projects.size()]), false);
-		} catch (JavaModelException jme) {
-			String title= SnippetMessages.getString("SelectImportsDialog.Add_package_as_import_7"); //$NON-NLS-1$
-			String message= SnippetMessages.getString("SelectImportsDialog.Could_not_open_package_selection_dialog_8");  //$NON-NLS-1$
-			ExceptionHandler.handle(jme, title, message);
-			return;			
-		}
-	
-		dialog.setTitle(SnippetMessages.getString("SelectImportsDialog.Add_package_as_import_7"));  //$NON-NLS-1$
-		dialog.setMessage(SnippetMessages.getString("SelectImportsDialog.&Select_a_package_to_add_as_an_Import_10")); //$NON-NLS-1$
-		dialog.setMultipleSelection(true);
-		if (dialog.open() == IDialogConstants.CANCEL_ID) {
-			return;
-		}
-		Object[] packages= dialog.getResult();
-		if (packages != null) {
-			for (int i = 0; i < packages.length; i++) {
-				IJavaElement pkg = (IJavaElement)packages[i];
-				String filter = pkg.getElementName();
-				filter += ".*"; //$NON-NLS-1$
-				fImportContentProvider.addImport(filter);
-			}
-		}		
-	}
-				
-	private void addType() {
-		Shell shell= fAddTypeButton.getDisplay().getActiveShell();
-		SelectionDialog dialog= null;
-		try {
-			dialog= JavaUI.createTypeDialog(shell, new ProgressMonitorDialog(shell),
-				SearchEngine.createJavaSearchScope(new IJavaElement[]{fEditor.getJavaProject()}, true), IJavaElementSearchConstants.CONSIDER_TYPES, false);
-		} catch (JavaModelException jme) {
-			String title= SnippetMessages.getString("SelectImportsDialog.Add_Type_as_Import_12"); //$NON-NLS-1$
-			String message= SnippetMessages.getString("SelectImportsDialog.Could_not_open_class_selection_dialog_13"); //$NON-NLS-1$
-			ExceptionHandler.handle(jme, title, message);
-			return;
-		}
-	
-		dialog.setTitle(SnippetMessages.getString("SelectImportsDialog.Add_Type_as_Import_12")); //$NON-NLS-1$
-		dialog.setMessage(SnippetMessages.getString("SelectImportsDialog.&Select_a_type_to_add_to_add_as_an_import_15")); //$NON-NLS-1$
-		if (dialog.open() == IDialogConstants.CANCEL_ID) {
-			return;
-		}
-		
-		Object[] types= dialog.getResult();
-		if (types != null && types.length > 0) {
-			IType type = (IType)types[0];
-			fImportContentProvider.addImport(type.getFullyQualifiedName());
-		}		
-	}
-	
-	/**
-	 * @see Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite dialogComp = (Composite)super.createDialogArea(parent);
-		// top level container
-		Composite outer = new Composite(dialogComp, SWT.NONE);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 2;
-		topLayout.marginHeight = 5;
-		topLayout.marginWidth = 0;
-		outer.setLayout(topLayout);
-		outer.setFont(font);
-		
-		setTitle(MessageFormat.format(SnippetMessages.getString("SelectImportsDialog.Manage_the_Java_Snippet_Editor_Imports_for___{0}__1"), new String[]{fEditor.getPage().getName()})); //$NON-NLS-1$
-		
-		GridData gd = new GridData();
-		gd.verticalAlignment = GridData.FILL;
-		gd.horizontalAlignment = GridData.FILL;
-		outer.setLayoutData(gd);
-		
-		// filter table
-		fImportsTable= new Table(outer, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		
-		TableLayout tableLayout= new TableLayout();
-		ColumnLayoutData[] columnLayoutData= new ColumnLayoutData[1];
-		columnLayoutData[0]= new ColumnWeightData(100);		
-		tableLayout.addColumnData(columnLayoutData[0]);
-		fImportsTable.setLayout(tableLayout);
-		fImportsTable.setFont(font);
-		new TableColumn(fImportsTable, SWT.NONE);
-
-		fImportsViewer = new TableViewer(fImportsTable);
-		fImportsViewer.setLabelProvider(new FilterLabelProvider());
-		fImportsViewer.setSorter(new FilterViewerSorter());
-		fImportContentProvider = new ImportsContentProvider(fImportsViewer);
-		fImportsViewer.setContentProvider(fImportContentProvider);
-		// input just needs to be non-null
-		fImportsViewer.setInput(this);
-		gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		gd.widthHint = 100;
-		gd.heightHint= 300;
-		fImportsViewer.getTable().setLayoutData(gd);
-		fImportsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = event.getSelection();
-				if (selection.isEmpty()) {
-					fRemoveImportsButton.setEnabled(false);
-				} else {
-					fRemoveImportsButton.setEnabled(true);					
-				}
-			}
-		});		
-		
-		createImportButtons(outer);
-		applyDialogFont(outer);
-		return outer;
-	}
-
-	/**
-	 * @see Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		String[] imports= null;
-		Object[] results= fImportContentProvider.getElements(null);
-		if (results != null && results.length > 0) {
-			imports= new String[results.length];
-			for (int i = 0; i < results.length; i++) {
-				Filter imprt = (Filter)results[i];
-				imports[i]= imprt.getName();
-			}
-		}
-		fEditor.setImports(imports);
-		super.okPressed();
-	}
-	
-	/**
-	 * Sets the title for the dialog and establishes the help context.
-	 * 
-	 * @see org.eclipse.jface.window.Window#configureShell(Shell);
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(SnippetMessages.getString("SelectImportsDialog.Java_Snippet_Imports_18")); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetAction.java
deleted file mode 100644
index aadeeb3..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetAction.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.ITextSelection;
-
-/**
- * Base class for evaluation state dependent actions and
- * supports to retarget the action to a different viewer.
- */
-public abstract class SnippetAction extends Action implements ISnippetStateChangedListener {
-		
-	private JavaSnippetEditor fEditor;
-	
-	public SnippetAction(JavaSnippetEditor editor) {
-		setEditor(editor);
-	}
-		
-	public void setEditor(JavaSnippetEditor editor) {
-		if (fEditor != null) {
-			fEditor.removeSnippetStateChangedListener(this);
-		}
-		fEditor= editor;
-		if (fEditor != null) {
-			fEditor.addSnippetStateChangedListener(this);	
-		}
-		snippetStateChanged(fEditor);
-	} 
-	
-	/**
-	 * @see ISnippetStateChangedListener#snippetStateChanged(JavaSnippetEditor)
-	 */
-	public void snippetStateChanged(JavaSnippetEditor editor) {
-		if (editor != null && !editor.isEvaluating()) {
-			update();
-		} else {
-			setEnabled(false);
-		}
-	}
-	
-	protected boolean textHasContent(String text) {
-		int length= text.length();
-		if (length > 0) {
-			for (int i= 0; i < length; i++) {
-				if (Character.isLetterOrDigit(text.charAt(i))) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Updates the enabled state based on the current text selection.
-	 */
-	protected void update() {
-		if (fEditor != null) {
-			ITextSelection selection= (ITextSelection)fEditor.getSelectionProvider().getSelection();
-			String text= selection.getText();
-			boolean enabled= false;
-			if (text != null) {
-				enabled= textHasContent(text);
-			} 
-			setEnabled(enabled);
-		} else {
-			setEnabled(false);
-		}
-	}
-	
-	protected JavaSnippetEditor getEditor() {
-		return fEditor;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorActionContributor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorActionContributor.java
deleted file mode 100644
index 3b222d5..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorActionContributor.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
- 
-import org.eclipse.jdt.debug.ui.IJavaDebugUIConstants;
-import org.eclipse.jdt.internal.ui.javaeditor.BasicEditorActionContributor;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- * Contributions of the Java Snippet Editor to the Workbench's tool and menu bar.
- */
-public class SnippetEditorActionContributor extends BasicEditorActionContributor {
- 	
-	protected JavaSnippetEditor fSnippetEditor;
-	
-	private StopAction fStopAction;
-	private SelectImportsAction fSelectImportsAction;
-	private SnippetOpenOnSelectionAction fOpenOnSelectionAction;
-	private SnippetOpenHierarchyOnSelectionAction fOpenOnTypeSelectionAction;
-	
-	public SnippetEditorActionContributor() {
-		super();
-	}
-	
-	/**
-	 * @see EditorActionBarContributor#contributeToToolBar(IToolBarManager)
-	 */
-	public void contributeToToolBar(IToolBarManager toolBarManager) {
-		
-		if (fStopAction == null) {
-			toolBarManager.add(new Separator(IJavaDebugUIConstants.EVALUATION_GROUP));
-			return;
-		}
-		toolBarManager.add(fStopAction);
-		toolBarManager.add(fSelectImportsAction);
-		toolBarManager.update(false);
-	}
-			
-	/**
-	 *	@see EditorActionBarContributor#contributeToMenu(IMenuManager)
-	 */
-	public void contributeToMenu(IMenuManager menu) {
-		if (fOpenOnSelectionAction == null) {
-			return;
-		}
-		super.contributeToMenu(menu);
-		
-		IMenuManager navigateMenu= menu.findMenuUsingPath(IWorkbenchActionConstants.M_NAVIGATE);
-		if (navigateMenu != null) {
-			navigateMenu.appendToGroup(IWorkbenchActionConstants.OPEN_EXT, fOpenOnSelectionAction);
-			navigateMenu.appendToGroup(IWorkbenchActionConstants.OPEN_EXT, fOpenOnTypeSelectionAction);
-			navigateMenu.setVisible(true);
-		}
-	}
-	
-	/**
-	 *	@see IEditorActionBarContributor#setActiveEditor(IEditorPart)
-	 */
-	public void setActiveEditor(IEditorPart part) {
-		
-		super.setActiveEditor(part);
-		fSnippetEditor= null;
-		if (part instanceof JavaSnippetEditor) {
-			fSnippetEditor= (JavaSnippetEditor) part;
-			if (fOpenOnSelectionAction == null) {
-				initializeActions();
-				contributeToMenu(getActionBars().getMenuManager());
-				contributeToToolBar(getActionBars().getToolBarManager());
-			}
-		}
-
-		if (fOpenOnSelectionAction != null) {
-			fStopAction.setEditor(fSnippetEditor);		
-			fSelectImportsAction.setEditor(fSnippetEditor);
-			fOpenOnSelectionAction.setEditor(fSnippetEditor);
-			fOpenOnTypeSelectionAction.setEditor(fSnippetEditor);
-		}
-			
-		updateStatus(fSnippetEditor);			
-	}
-	 
-	protected void initializeActions() {
-		 
-		fOpenOnSelectionAction= new SnippetOpenOnSelectionAction(fSnippetEditor);
-		fOpenOnTypeSelectionAction= new SnippetOpenHierarchyOnSelectionAction(fSnippetEditor);
-		fStopAction= new StopAction(fSnippetEditor);
-		fSelectImportsAction= new SelectImportsAction(fSnippetEditor);
-	}	
-	
-	protected void updateStatus(JavaSnippetEditor editor) {
-		String message= ""; //$NON-NLS-1$
-		if (editor != null && editor.isEvaluating()) {
-			message= SnippetMessages.getString("SnippetActionContributor.evalMsg");  //$NON-NLS-1$
-		} 
-		getActionBars().getStatusLineManager().setMessage(message);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorPropertyPage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorPropertyPage.java
deleted file mode 100644
index 8ba5966..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetEditorPropertyPage.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.VMArgumentsBlock;
-import org.eclipse.jdt.internal.debug.ui.launcher.WorkingDirectoryBlock;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * Page to set working directory property on scrapbook page.
- */
-public class SnippetEditorPropertyPage extends PropertyPage {
-	
-
-
-	private WorkingDirectoryBlock fWorkingDirBlock = new WorkingDirectoryBlock();
-	
-	private JavaJRETab fJRETab = new JavaJRETab();
-	
-	private VMArgumentsBlock fVMArgumentsBlock = new VMArgumentsBlock();
-	
-	// launch config template for this scrapbook file
-	private ILaunchConfiguration fConfig;
-	private ILaunchConfigurationWorkingCopy fWorkingCopy;
-	
-	private Proxy fProxy;
-
-	class Proxy implements ILaunchConfigurationDialog {
-		/**
-		 * @see ILaunchConfigurationDialog#generateName(String)
-		 */
-		public String generateName(String name) {
-			return null;
-		}
-
-		/**
-		 * @see ILaunchConfigurationDialog#getMode()
-		 */
-		public String getMode() {
-			return ILaunchManager.DEBUG_MODE;
-		}
-
-		/**
-		 * @see ILaunchConfigurationDialog#getTabs()
-		 */
-		public ILaunchConfigurationTab[] getTabs() {
-			return new ILaunchConfigurationTab[] {fWorkingDirBlock};
-		}
-
-		/**
-		 * @see ILaunchConfigurationDialog#getActiveTab()
-		 */
-		public ILaunchConfigurationTab getActiveTab() {
-			return fWorkingDirBlock;
-		}
-
-		/**
-		 * @see ILaunchConfigurationDialog#setName(String)
-		 */
-		public void setName(String name) {
-		}
-
-		/**
-		 * @see ILaunchConfigurationDialog#updateButtons()
-		 */
-		public void updateButtons() {
-			
-		}
-
-		/**
-		 * @see ILaunchConfigurationDialog#updateMessage()
-		 */
-		public void updateMessage() {
-			setValid(isValid());
-			setMessage(getMessage());
-			setErrorMessage(getErrorMessage());
-		}
-
-		/**
-		 * @see IRunnableContext#run(boolean, boolean, IRunnableWithProgress)
-		 */
-		public void run(
-			boolean fork,
-			boolean cancelable,
-			IRunnableWithProgress runnable)
-			throws InvocationTargetException, InterruptedException {
-		}
-
-		/**
-		 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#setActiveTab(org.eclipse.debug.ui.ILaunchConfigurationTab)
-		 */
-		public void setActiveTab(ILaunchConfigurationTab tab) {
-		}
-
-		/**
-		 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#setActiveTab(int)
-		 */
-		public void setActiveTab(int index) {
-		}
-
-	}
-		
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 1;
-		comp.setLayout(topLayout);
-		comp.setFont(parent.getFont());		
-		
-		// fake launch config dialog
-		fProxy = new Proxy();
-		
-		try {
-			fConfig = ScrapbookLauncher.getLaunchConfigurationTemplate(getFile());
-			if (fConfig != null) {
-				fWorkingCopy = fConfig.getWorkingCopy();
-			}
-		} catch (CoreException e) {
-			// unable to retrieve launch config, create a new one
-			fConfig = null;
-			fWorkingCopy = null;
-			JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("SnippetEditorPropertyPage.Unable_to_retrieve_scrapbook_runtime_settings._Settings_will_revert_to_defaults._1"), e); //$NON-NLS-1$
-		}
-
-		if (fConfig == null) {
-			try {
-				fConfig = ScrapbookLauncher.createLaunchConfigurationTemplate(getFile());
-				fWorkingCopy = fConfig.getWorkingCopy();
-			} catch (CoreException e) {
-				JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("SnippetEditorPropertyPage.Unable_to_create_launch_configuration_for_scrapbook_file_2"), e); //$NON-NLS-1$
-			}
-		}
-				
-		fWorkingDirBlock.setLaunchConfigurationDialog(fProxy);
-		fWorkingDirBlock.createControl(comp);		
-		fWorkingDirBlock.initializeFrom(fConfig);
-		
-		fVMArgumentsBlock.setLaunchConfigurationDialog(fProxy);
-		fVMArgumentsBlock.createControl(comp);
-		fVMArgumentsBlock.initializeFrom(fConfig);		
-		
-		fJRETab.setLaunchConfigurationDialog(fProxy);
-		fJRETab.setVMSpecificArgumentsVisible(false);
-		fJRETab.createControl(comp);
-		fJRETab.initializeFrom(fConfig);
-		
-		return comp;
-	}
-	
-	/**
-	 * Returns the snippet page (file)
-	 */
-	protected IFile getFile() {
-		return (IFile)getElement();
-	}
-	
-	/**
-	 * @see PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		fWorkingDirBlock.setDefaults(fWorkingCopy);
-		fJRETab.setDefaults(fWorkingCopy);
-		fVMArgumentsBlock.setDefaults(fWorkingCopy);
-		fWorkingDirBlock.initializeFrom(fWorkingCopy);
-		fJRETab.initializeFrom(fWorkingCopy);
-		fVMArgumentsBlock.initializeFrom(fWorkingCopy);
-	}
-	
-	/**
-	 * @see IPreferencePage#isValid()
-	 */
-	public boolean isValid() {
-		return fWorkingDirBlock.isValid(fConfig);
-	}
-
-	/**
-	 * @see IDialogPage#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		String message = fWorkingDirBlock.getErrorMessage();
-		if (message == null) {
-			return fJRETab.getErrorMessage();
-		}
-		return message;
-	}
-
-	/**
-	 * @see IMessageProvider#getMessage()
-	 */
-	public String getMessage() {
-		String message = fWorkingDirBlock.getMessage();
-		if (message == null) {
-			return fJRETab.getMessage();
-		}
-		return message;
-	}
-
-	/**
-	 * @see IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		fWorkingDirBlock.performApply(fWorkingCopy);
-		fJRETab.performApply(fWorkingCopy);
-		fVMArgumentsBlock.performApply(fWorkingCopy);
-		try {
-			if (!fWorkingCopy.contentsEqual(fConfig)) {
-				fConfig = fWorkingCopy.doSave();
-				fWorkingCopy = fConfig.getWorkingCopy();
-			}
-		} catch (CoreException e) {
-			JDIDebugUIPlugin.errorDialog(SnippetMessages.getString("SnippetEditorPropertyPage.Unable_to_save_scrapbook_settings._3"), e); //$NON-NLS-1$
-		}
-		return super.performOk();
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetFileDocumentProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetFileDocumentProvider.java
deleted file mode 100644
index 6bb822e..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetFileDocumentProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.ui.text.JavaTextTools;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.ui.editors.text.FileDocumentProvider;
-
-public class SnippetFileDocumentProvider extends FileDocumentProvider {
-	
-	/**
-	 * @see AbstractDocumentProvider#createDocument(Object)
-	 */ 
-	protected IDocument createDocument(Object element) throws CoreException {
-		IDocument document= super.createDocument(element);
-		JavaTextTools tools= JavaPlugin.getDefault().getJavaTextTools();
-		IDocumentPartitioner partitioner= tools.createDocumentPartitioner();
-		partitioner.connect(document);
-		document.setDocumentPartitioner(partitioner);
-		return document;
-	}		
-}
-
-
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetMessages.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetMessages.java
deleted file mode 100644
index f187c08..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetMessages.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class SnippetMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.jdt.internal.debug.ui.snippeteditor.SnippetMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private SnippetMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Gets a string from the resource bundle and formats it with the argument
-	 * 
-	 * @param key	the string used to get the bundle value, must not be null
-	 */
-	public static String getFormattedString(String key, Object arg) {
-		String format= null;
-		try {
-			format= fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-		if (arg == null)
-			arg= ""; //$NON-NLS-1$
-		return MessageFormat.format(format, new Object[] { arg });
-	}
-
-	static ResourceBundle getBundle() {
-		return fgResourceBundle;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetMessages.properties
deleted file mode 100644
index bec1667..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetMessages.properties
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-CompletionProcessor.errorMessage=Cannot access the snippet page
-CompletionProcessor.errorTitle=Problem Accessing Page
-
-JavaSnippetEditor._is_not_a_Java_Project._n_1=\ is not a Java Project.\n
-JavaSnippetEditor.Problems_During_Save_As..._3=Problems During Save As...
-JavaSnippetEditor.Save_could_not_be_completed.__4=Save could not be completed. 
-JavaSnippetEditor.Unable_to_perform_evaluation_outside_of_a_Java_Project_2=Unable to perform evaluation outside of a Java Project
-
-ScrapbookLauncher.error.pagenotfound=Could not find a scrapbook page to launch
-ScrapbookLauncher.error.title=Java Scrapbook Launcher
-ScrapbookLauncher.Exception_occurred_launching_scrapbook_1=Exception occurred launching scrapbook
-ScrapbookLauncher.Unable_to_launch_scrapbook_VM_6=Unable to launch scrapbook VM
-
-SelectImports.description=Sets the Import Declarations with which Code is Run
-SelectImports.label=Set Impo&rts
-SelectImports.tooltip=Sets the Import Declarations for Running Code
-
-SelectImportsDialog.&Remove_5=&Remove
-SelectImportsDialog.&Select_a_package_to_add_as_an_Import_10=&Select the packages to add as imports:
-SelectImportsDialog.&Select_a_type_to_add_to_add_as_an_import_15=&Select a type to add as an import:
-SelectImportsDialog.Add_&Package_3=Add &Packages...
-SelectImportsDialog.Add_&Type_1=Add &Type...
-SelectImportsDialog.Add_package_as_import_7=Add Packages as Imports
-SelectImportsDialog.Add_Type_as_Import_12=Add Type as Import
-SelectImportsDialog.Choose_a_Package_to_Add_as_an_Import_4=Choose the Packages to Add as Imports
-SelectImportsDialog.Choose_a_Type_to_Add_as_an_Import_2=Choose a Type to Add as an Import
-SelectImportsDialog.Could_not_open_class_selection_dialog_13=Could not open class selection dialog
-SelectImportsDialog.Could_not_open_package_selection_dialog_8=Could not open package selection dialog
-SelectImportsDialog.Java_Snippet_Imports_18=Java Snippet Imports
-SelectImportsDialog.Manage_the_Java_Snippet_Editor_Imports_for___{0}__1=Manage the Java Snippet Editor Imports for \"{0}\"
-SelectImportsDialog.Remove_All_Selected_Imports_6=Remove All Selected Imports
-
-SnippetActionContributor.evalMsg=Evaluating...
-
-SnippetEditor.ContentAssistProposal.description=Content Assist
-SnippetEditor.ContentAssistProposal.label=Co&ntent Assist@Ctrl+Space
-SnippetEditor.ContentAssistProposal.tooltip=Content Assist
-SnippetEditor.ellipsis=...
-SnippetEditor.error.evaluating=Problems evaluating expression
-SnippetEditor.error.evaluating2=Error during evaluation
-SnippetEditor.error.imports=Error setting imports for page
-SnippetEditor.error.interrupted=\ (Evaluation interrupted)
-SnippetEditor.error.nocontext=Evaluation failed: internal error - unable to obtain an execution context.
-SnippetEditor.error.shutdown=Cannot shutdown VM
-SnippetEditor.error.toString=Problems evaluating toString of expression
-SnippetEditor.evaluating=Evaluating...
-SnippetEditor.exception=An exception occurred during evaluation:  {0}
-SnippetEditor.noreturnvalue=\ (No explicit return value)
-SnippetEditor.typename= ({0}) 
-SnippetEditor.warning.cpchange=The class path of the Project has changed. Restarting the evaluation context.
-SnippetEditor.warning=Warning
-SnippetEditor.Warning_1=Warning
-SnippetEditor.The_working_directory_has_changed._Restarting_the_evaluation_context._2=The working directory has changed. Restarting the evaluation context.
-SnippetEditor.The_JRE_has_changed._Restarting_the_evaluation_context._2=The JRE has changed. Restarting the evaluation context.
-
-SnippetOpenHierarchyOnSelectionAction.description=Show the type hierarchy of the selected element
-SnippetOpenHierarchyOnSelectionAction.label=Open Type Hie&rarchy@F4
-SnippetOpenHierarchyOnSelectionAction.tooltip=Show the type hierarchy of the selected element
-SnippetOpenHierarchyOnSelectionDialog.message=&Select the type to open:
-SnippetOpenHierarchyOnSelectionDialog.title=Open Type Hierarchy
-
-SnippetOpenOnSelectionAction.description=Open an editor on the selected element
-SnippetOpenOnSelectionAction.label=&Open Declaration@F3
-SnippetOpenOnSelectionAction.tooltip=Open an editor on the selected element
-SnippetOpenOnSelectionDialog.message=&Select or enter the element to open:
-SnippetOpenOnSelectionDialog.title=Open on Selection
-
-StopAction.description=Stop the evaluation and terminate the evaluation context
-StopAction.label=St&op Evaluation
-StopAction.tooltip=Stop the Evaluation
-
-ScrapbookLauncher.Unable_to_retrieve_scrapbook_runtime_settings._Settings_will_revert_to_default._1=Unable to retrieve scrapbook runtime settings. Settings will revert to default.
-
-SnippetEditorPropertyPage.Unable_to_retrieve_scrapbook_runtime_settings._Settings_will_revert_to_defaults._1=Unable to retrieve scrapbook runtime settings. Settings will revert to defaults.
-SnippetEditorPropertyPage.Unable_to_create_launch_configuration_for_scrapbook_file_2=Unable to create launch configuration for scrapbook file
-SnippetEditorPropertyPage.Unable_to_save_scrapbook_settings._3=Unable to save scrapbook settings.
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenHierarchyOnSelectionAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenHierarchyOnSelectionAction.java
deleted file mode 100644
index e96fdb2..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenHierarchyOnSelectionAction.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
- 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.ISourceReference;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
-import org.eclipse.jdt.ui.actions.OpenTypeHierarchyAction;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-/**
- * This action opens a Java editor on the element represented by text selection of
- * the connected Java source editor. In addition, if the element is a type, it also 
- * opens shows the element in the type hierarchy viewer.
- */
-public class SnippetOpenHierarchyOnSelectionAction extends OpenTypeHierarchyAction {
-	
-	private JavaSnippetEditor fEditor;
-	private String fDialogTitle;
-	private String fDialogMessage;
-	
-	public SnippetOpenHierarchyOnSelectionAction(JavaSnippetEditor editor) {
-		super(editor.getSite());
-		fEditor= editor;
-		setResources();
-		setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_TYPE_HIERARCHY);
-		editor.getSite().getKeyBindingService().registerAction(this);
-	}
-	
-	protected void setResources() {
-		setText(SnippetMessages.getString("SnippetOpenHierarchyOnSelectionAction.label")); //$NON-NLS-1$
-		setDescription(SnippetMessages.getString("SnippetOpenHierarchyOnSelectionAction.tooltip")); //$NON-NLS-1$
-		setToolTipText(SnippetMessages.getString("SnippetOpenHierarchyOnSelectionAction.description")); //$NON-NLS-1$
-		setDialogTitle(SnippetMessages.getString("SnippetOpenHierarchyOnSelectionDialog.title")); //$NON-NLS-1$
-		setDialogMessage(SnippetMessages.getString("SnippetOpenHierarchyOnSelectionDialog.message")); //$NON-NLS-1$
-	}
-	
-	protected void setDialogTitle(String title) {
-		fDialogTitle= title;
-	}
-	
-	protected void setDialogMessage(String message) {
-		fDialogMessage= message;
-	}
-	
-	public void run() {
-		if (fEditor == null) {
-			return;
-		}
-		try {
-			IJavaElement[] result= fEditor.codeResolve();
-			if (result != null && result.length > 0) {
-				IJavaElement chosen= selectJavaElement(filterResolveResults(result), getShell(), fDialogTitle, fDialogMessage);
-				if (chosen != null) {
-					run(new StructuredSelection(chosen));
-					return;
-				}
-			}
-		} catch (JavaModelException x) {
-			JDIDebugUIPlugin.log(x);
-		}
-		
-		getShell().getDisplay().beep();		
-	}
-	
-	protected void setEditor(JavaSnippetEditor contentEditor) {
-		fEditor= contentEditor;
-	}
-	
-	/**
-	 * Filters out source references from the given code resolve results.
-	 * A utility method that can be called by subclassers. 
-	 */
-	protected List filterResolveResults(IJavaElement[] codeResolveResults) {
-		int nResults= codeResolveResults.length;
-		List refs= new ArrayList(nResults);
-		for (int i= 0; i < nResults; i++) {
-			if (codeResolveResults[i] instanceof ISourceReference) {
-				refs.add(codeResolveResults[i]);
-			}
-		}
-		return refs;
-	}
-			
-
-	/**
-	 * Shows a dialog for resolving an ambigous Java element.
-	 * Utility method that can be called by subclassers.
-	 */
-	protected IJavaElement selectJavaElement(List elements, Shell shell, String title, String message) {
-		
-		int nResults= elements.size();
-		
-		if (nResults == 0) {
-			return null;
-		}
-		
-		if (nResults == 1) {
-			return (IJavaElement) elements.get(0);
-		}
-		
-		int flags= JavaElementLabelProvider.SHOW_DEFAULT
-						| JavaElementLabelProvider.SHOW_QUALIFIED
-						| JavaElementLabelProvider.SHOW_ROOT;
-						
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(shell, new JavaElementLabelProvider(flags));
-		dialog.setTitle(title);
-		dialog.setMessage(message);
-		dialog.setElements(elements.toArray());
-		
-		if (dialog.open() == ElementListSelectionDialog.OK) {
-			Object[] selection= dialog.getResult();
-			if (selection != null && selection.length > 0) {
-				nResults= selection.length;
-				for (int i= 0; i < nResults; i++) {
-					Object current= selection[i];
-					if (current instanceof IJavaElement) {
-						return (IJavaElement) current;
-					}
-				}
-			}
-		}		
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenOnSelectionAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenOnSelectionAction.java
deleted file mode 100644
index 3d878f8..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/SnippetOpenOnSelectionAction.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
- 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.ISourceReference;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
-import org.eclipse.jdt.ui.actions.OpenAction;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-/**
- * This action opens a Java editor on the element represented by text selection of
- * the code snippet.
- */
-public class SnippetOpenOnSelectionAction extends OpenAction {
-	
-	protected JavaSnippetEditor fEditor;
-	private String fDialogTitle;
-	private String fDialogMessage;
-	
-	public SnippetOpenOnSelectionAction(JavaSnippetEditor editor) {
-		super(editor.getSite());
-		fEditor= editor;
-		setResources();
-		setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_EDITOR);
-		editor.getSite().getKeyBindingService().registerAction(this);
-	}
-	
-	protected void setResources() {
-		setText(SnippetMessages.getString("SnippetOpenOnSelectionAction.label")); //$NON-NLS-1$
-		setDescription(SnippetMessages.getString("SnippetOpenOnSelectionAction.tooltip")); //$NON-NLS-1$
-		setToolTipText(SnippetMessages.getString("SnippetOpenOnSelectionAction.description")); //$NON-NLS-1$
-		setDialogTitle(SnippetMessages.getString("SnippetOpenOnSelectionDialog.title")); //$NON-NLS-1$
-		setDialogMessage(SnippetMessages.getString("SnippetOpenOnSelectionDialog.message")); //$NON-NLS-1$
-	}
-	
-	protected void setDialogTitle(String title) {
-		fDialogTitle= title;
-	}
-	
-	protected void setDialogMessage(String message) {
-		fDialogMessage= message;
-	}
-	
-	protected void setEditor(JavaSnippetEditor contentEditor) {
-		fEditor= contentEditor;
-	}
-	
-	/**
-	 * Shows a dialog for resolving an ambigous java element.
-	 * Utility method that can be called by subclassers.
-	 */
-	protected IJavaElement selectJavaElement(List elements, Shell shell, String title, String message) {
-		
-		int nResults= elements.size();
-		
-		if (nResults == 0)
-			return null;
-		
-		if (nResults == 1)
-			return (IJavaElement) elements.get(0);
-		
-		int flags= JavaElementLabelProvider.SHOW_DEFAULT
-						| JavaElementLabelProvider.SHOW_QUALIFIED
-						| JavaElementLabelProvider.SHOW_ROOT;
-						
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(shell, new JavaElementLabelProvider(flags));
-		dialog.setTitle(title);
-		dialog.setMessage(message);
-		dialog.setElements(elements.toArray());
-		
-		if (dialog.open() == ElementListSelectionDialog.OK) {
-			Object[] selection= dialog.getResult();
-			if (selection != null && selection.length > 0) {
-				nResults= selection.length;
-				for (int i= 0; i < nResults; i++) {
-					Object current= selection[i];
-					if (current instanceof IJavaElement)
-						return (IJavaElement) current;
-				}
-			}
-		}		
-		return null;
-	}
-	
-	
-	/**
-	 * Filters out source references from the given code resolve results.
-	 * A utility method that can be called by subclassers. 
-	 */
-	protected List filterResolveResults(IJavaElement[] codeResolveResults) {
-		int nResults= codeResolveResults.length;
-		List refs= new ArrayList(nResults);
-		for (int i= 0; i < nResults; i++) {
-			if (codeResolveResults[i] instanceof ISourceReference)
-				refs.add(codeResolveResults[i]);
-		}
-		return refs;
-	}
-			
-	public void run() {
-		if (fEditor == null) {
-			return;
-		}
-		try {
-			IJavaElement[] result= fEditor.codeResolve();
-			if (result != null && result.length > 0) {
-				IJavaElement chosen= selectJavaElement(filterResolveResults(result), getShell(), fDialogTitle, fDialogMessage);
-				if (chosen != null) {
-					run(new StructuredSelection(chosen));
-					return;
-				}
-			}
-		} catch (JavaModelException x) {
-			JDIDebugUIPlugin.log(x);
-		}
-		
-		getShell().getDisplay().beep();		
-	}
-	/**
-	 * @see SelectionDispatchAction#selectionChanged(ITextSelection)
-	 */
-	protected void selectionChanged(ITextSelection selection) {
-		setEnabled(fEditor != null);
-	}
-}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/StopAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/StopAction.java
deleted file mode 100644
index 3872e73..0000000
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/StopAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.debug.ui.snippeteditor;
-
-
-import org.eclipse.jdt.internal.debug.ui.IJavaDebugHelpContextIds;
-import org.eclipse.jdt.internal.debug.ui.JavaDebugImages;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Stops the VM used to run a snippet.
- *
- */
-public class StopAction extends SnippetAction {
-	
-	public StopAction(JavaSnippetEditor editor) {
-		super(editor);
-		
-		setText(SnippetMessages.getString("StopAction.label"));  //$NON-NLS-1$
-		setToolTipText(SnippetMessages.getString("StopAction.tooltip")); //$NON-NLS-1$
-		setDescription(SnippetMessages.getString("StopAction.description"));  //$NON-NLS-1$
-
-		setImageDescriptor(JavaDebugImages.DESC_TOOL_TERMSNIPPET);
-		setDisabledImageDescriptor(JavaDebugImages.DESC_TOOL_TERMSNIPPET_DISABLED);
-		setHoverImageDescriptor(JavaDebugImages.DESC_TOOL_TERMSNIPPET_HOVER);
-		WorkbenchHelp.setHelp(this, IJavaDebugHelpContextIds.TERMINATE_SCRAPBOOK_VM_ACTION);
-	}
-	
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		getEditor().shutDownVM();
-	}
-	
-	/**
-	 * @see ISnippetStateChangedListener#snippetStateChanged(JavaSnippetEditor)
-	 */
-	public void snippetStateChanged(JavaSnippetEditor editor) {
-		setEnabled(editor != null && editor.isVMLaunched());
-	}
-}
diff --git a/org.eclipse.jdt.launching.macosx/.classpath b/org.eclipse.jdt.launching.macosx/.classpath
deleted file mode 100644
index 8b61743..0000000
--- a/org.eclipse.jdt.launching.macosx/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="macosx"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.launching"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.debug.core"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.core"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.debug"/>
-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.launching.macosx/.cvsignore b/org.eclipse.jdt.launching.macosx/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.jdt.launching.macosx/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.jdt.launching.macosx/.project b/org.eclipse.jdt.launching.macosx/.project
deleted file mode 100644
index 9ea27a4..0000000
--- a/org.eclipse.jdt.launching.macosx/.project
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.launching.macosx</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.debug.core</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.debug</project>
-		<project>org.eclipse.jdt.launching</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.jdt.launching.macosx/about.html b/org.eclipse.jdt.launching.macosx/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.jdt.launching.macosx/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.jdt.launching.macosx/build.properties b/org.eclipse.jdt.launching.macosx/build.properties
deleted file mode 100644
index b1400e6..0000000
--- a/org.eclipse.jdt.launching.macosx/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               *.jar
-source.macosxlaunching.jar = macosx/
diff --git a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/JavaApplicationStub b/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/JavaApplicationStub
deleted file mode 100644
index 38ceef8..0000000
--- a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/JavaApplicationStub
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXDebugVMRunner.java b/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXDebugVMRunner.java
deleted file mode 100644
index 8be0dc6..0000000
--- a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXDebugVMRunner.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching.macosx;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.internal.launching.StandardVMDebugger;
-import org.eclipse.jdt.launching.IVMInstall;
-
-public class MacOSXDebugVMRunner extends StandardVMDebugger {
-	
-	public MacOSXDebugVMRunner(IVMInstall vmInstance) {
-		super(vmInstance);
-	}
-	
-	protected Process exec(String[] cmdLine, File workingDirectory) throws CoreException {
-		return super.exec(MacOSXLaunchingPlugin.wrap(getClass(), cmdLine), workingDirectory);
-	}
-}
diff --git a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXLauncherMessages.properties b/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXLauncherMessages.properties
deleted file mode 100644
index 5d0a348..0000000
--- a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXLauncherMessages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-######################################################################
-# Copyright (c) 2002, 2003 IBM Corp. and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v0.5
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v05.html
-#
-# Contributors:
-#    Andre Weinand - Initial implementation
-######################################################################
-			
-MacOSXVMType.jvmName= JVM {0}
-MacOSXVMType.jvmDefaultName= JVM {0} (MacOS X Default)
-MacOSXVMType.error.notRoot=Not a JDK Root; MacOS X executable was not found
-MacOSXVMType.name=MacOS X VM
-
diff --git a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXLaunchingPlugin.java b/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXLaunchingPlugin.java
deleted file mode 100644
index f881667..0000000
--- a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXLaunchingPlugin.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching.macosx;
-
-import java.io.*;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Plugin;
-
-public class MacOSXLaunchingPlugin extends Plugin {
-	
-	private static MacOSXLaunchingPlugin fgPlugin;
-	private static final String RESOURCE_BUNDLE= "org.eclipse.jdt.internal.launching.macosx.MacOSXLauncherMessages";//$NON-NLS-1$
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	public MacOSXLaunchingPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgPlugin= this;
-	}
-	
-	public static MacOSXLaunchingPlugin getDefault() {
-		return fgPlugin;
-	}
-	
-	static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	static String getUniqueIdentifier() {
-		if (getDefault() == null) {
-			// If the default instance is not yet initialized,
-			// return a static identifier. This identifier must
-			// match the plugin id defined in plugin.xml
-			return "org.eclipse.jdt.launching.macosx"; //$NON-NLS-1$
-		}
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	static String[] wrap(Class clazz, String[] cmdLine) {
-		
-		for (int i= 0; i < cmdLine.length; i++) {
-			String arg= cmdLine[i];
-			if (arg.indexOf("swt.jar") >= 0 || arg.indexOf("org.eclipse.swt") >= 0 || "-ws".equals(arg)) {	//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				try {
-					return new String[] { createBundle(clazz, cmdLine) };
-				} catch (IOException e) {
-					e.printStackTrace();
-				}		
-			}
-		}
-		return cmdLine;
-	}
-	
-	static String createBundle(Class clazz, String[] cmdLine) throws IOException {
-		
-		String javaApplicationStub= "JavaApplicationStub"; //$NON-NLS-1$
-		String version= "2.1"; //$NON-NLS-1$
-		String signature= "????"; //$NON-NLS-1$
-		
-		String jvmVersion= "1.3.1"; //$NON-NLS-1$
-		String vm= cmdLine[0];
-		if (vm.indexOf("1.4.1") >= 0) //$NON-NLS-1$
-			jvmVersion= "1.4.1"; //$NON-NLS-1$
-
-		String jvmOptions= ""; //$NON-NLS-1$
-		String classPath= null;
-		String mainClass= null;
-		String arguments= ""; //$NON-NLS-1$
-		
-		String workingDir= System.getProperty("user.dir"); //$NON-NLS-1$
-		if (workingDir == null)
-			workingDir= new File(".").getAbsolutePath(); //$NON-NLS-1$
-			
-		int i= 1;
-		
-		for (; i < cmdLine.length; i++) {
-			String arg= cmdLine[i];
-			
-			if ("-classpath".equals(arg) || "-cp".equals(arg)) { //$NON-NLS-1$ //$NON-NLS-2$
-				classPath= cmdLine[++i];
-				continue;
-			}
-			
-			if (arg.charAt(0) == '-') {
-				jvmOptions+= "    <string>"+arg+"</string>\n"; //$NON-NLS-1$ //$NON-NLS-2$
-				continue;
-			}
-			
-			// main class
-			mainClass= arg;
-			i++;
-			break;
-		}
-		
-		for (; i < cmdLine.length; i++)
-			arguments+= "    <string>"+cmdLine[i]+"</string>\n"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		int pos= mainClass.lastIndexOf('.');
-		String appName= mainClass.substring(pos+1);
-		
-		File tmp_dir= new File("/tmp"); //$NON-NLS-1$
-		File swt_dir= createDir(tmp_dir, "swt_stubs", false); //$NON-NLS-1$
-		File app_dir= createDir(swt_dir, appName + ".app", true); //$NON-NLS-1$
-		File contents_dir= createDir(app_dir, "Contents", false); //$NON-NLS-1$
-		File macos_dir= createDir(contents_dir, "MacOS", false); //$NON-NLS-1$
-		
-		// JavaApplicationBundle
-		InputStream is= clazz.getResourceAsStream(javaApplicationStub);
-		File stub= new File(macos_dir, javaApplicationStub);
-		copyFile(is, stub);
-		Process p= Runtime.getRuntime().exec(new String[] { "/bin/chmod", "a+x", stub.getAbsolutePath() }); //$NON-NLS-1$ //$NON-NLS-2$
-		if (p != null) {						
-			try {
-				p.waitFor();
-			} catch (InterruptedException e) {
-					// silently ignore
-			}
-		}
-			
-		// Info.plist
-		File info= new File(contents_dir, "Info.plist"); //$NON-NLS-1$
-		FileOutputStream fos= new FileOutputStream(info);
-		OutputStreamWriter ow= new OutputStreamWriter(fos, "UTF8"); //$NON-NLS-1$
-		PrintWriter w= new PrintWriter(ow);
-		w.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); //$NON-NLS-1$
-		w.println("<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">"); //$NON-NLS-1$
-		w.println("<plist version=\"1.0\">"); //$NON-NLS-1$
-		w.println(" <dict>"); //$NON-NLS-1$
-		w.println("  <key>CFBundleDevelopmentRegion</key><string>English</string>"); //$NON-NLS-1$
-		w.println("  <key>CFBundleExecutable</key><string>"+javaApplicationStub+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		w.println("  <key>CFBundleGetInfoString</key><string>"+appName+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		w.println("  <key>CFBundleInfoDictionaryVersion</key><string>6.0</string>"); //$NON-NLS-1$
-		w.println("  <key>CFBundleName</key><string>"+appName+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		w.println("  <key>CFBundlePackageType</key><string>APPL</string>"); //$NON-NLS-1$
-		w.println("  <key>CFBundleShortVersionString</key><string>"+version+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		w.println("  <key>CFBundleSignature</key><string>"+signature+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		w.println("  <key>CFBundleVersion</key><string>1.0.1</string>"); //$NON-NLS-1$
-		w.println("  <key>Java</key><dict>"); //$NON-NLS-1$
-		w.println("   <key>JVMVersion</key><string>"+jvmVersion+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (jvmOptions.length() > 0) {
-			w.println("   <key>VMOptions</key><array>"); //$NON-NLS-1$
-			w.print(jvmOptions);
-			w.println("   </array>"); //$NON-NLS-1$
-		}
-		if (classPath != null)
-			w.println("   <key>ClassPath</key><string>"+classPath+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (mainClass != null)
-			w.println("   <key>MainClass</key><string>"+mainClass+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (workingDir != null)
-			w.println("   <key>WorkingDirectory</key><string>"+workingDir+"</string>"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (arguments.length() > 0) {
-			w.println("   <key>Arguments</key><array>"); //$NON-NLS-1$
-			w.print(arguments);
-			w.println("   </array>"); //$NON-NLS-1$
-		}
-		w.println("  </dict>"); //$NON-NLS-1$
-		w.println(" </dict>"); //$NON-NLS-1$
-		w.println("</plist>"); //$NON-NLS-1$
-		w.close();
-		
-		return stub.getAbsolutePath();
-	}
-	
-	static void deleteDir(File dir) {
-		File[] files= dir.listFiles();
-		if (files != null) {
-			for (int i= 0; i < files.length; i++)
-				deleteDir(files[i]);
-		}
-		dir.delete();
-	}
-	
-	static File createDir(File parent_dir, String dir_name, boolean remove) throws IOException {
-		File dir= new File(parent_dir, dir_name);
-		if (dir.exists()) {
-			if (!remove)
-				return dir;
-			deleteDir(dir);
-		}
-		if (! dir.mkdir())
-			throw new IOException("cannot create dir " + dir_name); //$NON-NLS-1$
-		return dir;
-	}
-	
-	static void copyFile(InputStream from, File to) throws IOException {		
-		FileOutputStream os= new FileOutputStream(to);
-		try {
-			byte[] buffer= new byte[2048];
-			while (true) {
-				int n= from.read(buffer);
-				if (n == -1)
-					break;
-				os.write(buffer, 0, n);
-			}
-			os.flush();
-		} finally {
-			try {
-				from.close();
-			} catch (IOException e) {
-				// we don't log these
-			}
-			try {
-				os.close();
-			} catch(IOException e) {
-				// we don't log these
-			}
-		}
-	}
-}
diff --git a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMInstall.java b/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMInstall.java
deleted file mode 100644
index 3d7395f..0000000
--- a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMInstall.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching.macosx;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.launching.AbstractVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.IVMRunner;
-
-public class MacOSXVMInstall extends AbstractVMInstall {
-
-	MacOSXVMInstall(IVMInstallType type, String id) {
-		super(type, id);
-	}
-
-	public IVMRunner getVMRunner(String mode) {
-		if (ILaunchManager.RUN_MODE.equals(mode))
-			return new MacOSXVMRunner(this);
-		
-		if (ILaunchManager.DEBUG_MODE.equals(mode))
-			return new MacOSXDebugVMRunner(this);
-		
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMInstallType.java b/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMInstallType.java
deleted file mode 100644
index 7d75a22..0000000
--- a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMInstallType.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching.macosx;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jdt.internal.launching.LibraryInfo;
-import org.eclipse.jdt.internal.launching.StandardVMType;
-
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.VMStandin;
-
-/**
- * This plugins into the org.eclipse.jdt.launching.vmInstallTypes extension point
- */
-public class MacOSXVMInstallType extends StandardVMType {
-	
-	/*
-	 * The directory structure for Java VMs is as follows:
-	 * 	/System/Library/Frameworks/JavaVM.framework/Versions/
-	 * 		1.3.1
-	 * 			Classes
-	 * 			Home
-	 * 		1.4.1
-	 * 			Classes
-	 * 			Home
-	 * 		CurrentJDK -> 1.3.1
-	 */
-	 
-	private static final String JAVA_VM_NAME= "Java HotSpot(TM) Client VM";	//$NON-NLS-1$
-	
-	/** The OS keeps all the JVM versions in this directory */
-	private static final String JVM_VERSION_LOC= "/System/Library/Frameworks/JavaVM.framework/Versions/";	//$NON-NLS-1$
-	/** The name of a Unix link to MacOS X's default VM */
-	private static final String CURRENT_JVM= "CurrentJDK";	//$NON-NLS-1$
-	/** The root of a JVM */
-	private static final String JVM_ROOT= "Home";	//$NON-NLS-1$
-	/** The doc (for all JVMs) lives here (if the developer kit has been expanded)*/
-	private static final String JAVADOC_LOC= "/Developer/Documentation/Java/Reference/";	//$NON-NLS-1$
-		
-				
-	public String getName() {
-		return MacOSXLaunchingPlugin.getString("MacOSXVMType.name"); //$NON-NLS-1$
-	}
-	
-	public IVMInstall doCreateVMInstall(String id) {
-		return new MacOSXVMInstall(this, id);
-	}
-			
-	/**
-	 * @see IVMInstallType#detectInstallLocation()
-	 */
-	public File detectInstallLocation() {
-		
-		String javaVMName= System.getProperty("java.vm.name");	//$NON-NLS-1$
-		if (javaVMName == null || !JAVA_VM_NAME.equals(javaVMName)) 
-			return null;
-
-		// find all installed VMs
-		File defaultLocation= null;
-		File versionDir= new File(JVM_VERSION_LOC);
-		if (versionDir.exists() && versionDir.isDirectory()) {
-			File currentJDK= new File(versionDir, CURRENT_JVM);
-			try {
-				currentJDK= currentJDK.getCanonicalFile();
-			} catch (IOException ex) {
-			}
-			File[] versions= versionDir.listFiles();
-			for (int i= 0; i < versions.length; i++) {
-				String version= versions[i].getName();
-				File home=  new File(versions[i], JVM_ROOT);
-				if (home.exists() && findVMInstall(version) == null && !CURRENT_JVM.equals(version)) {
-					
-					boolean isDefault= currentJDK.equals(versions[i]);
-					
-					VMStandin vm= new VMStandin(this, version);
-					vm.setInstallLocation(home);
-					String format= MacOSXLaunchingPlugin.getString(isDefault
-												? "MacOSXVMType.jvmDefaultName"		//$NON-NLS-1$
-												: "MacOSXVMType.jvmName");				//$NON-NLS-1$
-					vm.setName(MessageFormat.format(format, new Object[] { version } ));
-					vm.setLibraryLocations(getDefaultLibraryLocations(home));
-					URL doc= getDefaultJavadocLocation(home);
-					if (doc != null)
-						vm.setJavadocLocation(doc);
-					
-					IVMInstall rvm= vm.convertToRealVM();
-					
-					if (isDefault) {
-						defaultLocation= home;
-						try {
-							JavaRuntime.setDefaultVMInstall(rvm, null);
-						} catch (CoreException e) {
-							// exception intentionally ignored
-						}
-					}
-				}
-			}
-		}
-		return defaultLocation;
-	}
-
-	/**
-	 * Returns default library info for the given install location.
-	 * 
-	 * @param installLocation
-	 * @return LibraryInfo
-	 */
-	protected LibraryInfo getDefaultLibraryInfo(File installLocation) {
-
-		File classes = new File(installLocation, "../Classes"); //$NON-NLS-1$
-		File lib1= new File(classes, "classes.jar"); //$NON-NLS-1$
-		File lib2= new File(classes, "ui.jar"); //$NON-NLS-1$
-		
-		String[] libs = new String[] { lib1.toString(),lib2.toString() };
-		
-		File lib = new File(installLocation, "lib"); //$NON-NLS-1$
-		File extDir = new File(lib, "ext"); //$NON-NLS-1$
-		String[] dirs = null;
-		if (extDir == null)
-			dirs = new String[0];
-		else
-			dirs = new String[] {extDir.getAbsolutePath()};
-
-		File endDir = new File(lib, "endorsed"); //$NON-NLS-1$
-		String[] endDirs = null;
-		if (endDir == null)
-			endDirs = new String[0]; 
-		else
-			endDirs = new String[] {endDir.getAbsolutePath()};
-		
-		return new LibraryInfo("???", libs, dirs, endDirs);		 //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.launching.IVMInstallType#validateInstallLocation(java.io.File)
-	 */
-	public IStatus validateInstallLocation(File javaHome) {
-		/*
-		IStatus status = null;
-		File javaExecutable = findJavaExecutable(javaHome);
-		if (javaExecutable == null) {
-			status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), 0, LaunchingMessages.getString("StandardVMType.Not_a_JDK_Root;_Java_executable_was_not_found_1"), null); //$NON-NLS-1$			
-		} else {
-			if (canDetectDefaultSystemLibraries(javaHome, javaExecutable)) {
-				status = new Status(IStatus.OK, LaunchingPlugin.getUniqueIdentifier(), 0, LaunchingMessages.getString("StandardVMType.ok_2"), null); //$NON-NLS-1$
-			} else {
-				status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), 0, LaunchingMessages.getString("StandardVMType.Not_a_JDK_root._System_library_was_not_found._1"), null); //$NON-NLS-1$
-			}
-		}
-		return status;
-		*/
-		String id= MacOSXLaunchingPlugin.getUniqueIdentifier();
-		File java= new File(javaHome, "bin"+File.separator+"java"); //$NON-NLS-2$ //$NON-NLS-1$
-		if (java.isFile())
-			return new Status(IStatus.OK, id, 0, "ok", null); //$NON-NLS-1$
-		return new Status(IStatus.ERROR, id, 0, MacOSXLaunchingPlugin.getString("MacOSXVMType.error.notRoot"), null); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.launching.AbstractVMInstallType#getDefaultJavadocLocation(java.io.File)
-	 */
-	public URL getDefaultJavadocLocation(File installLocation) {
-		
-		// try in local filesystem
-		String id= null;	
-		try {
-			String post= File.separator + JVM_ROOT;
-			String path= installLocation.getCanonicalPath();
-			if (path.startsWith(JVM_VERSION_LOC) && path.endsWith(post))
-				id= path.substring(JVM_VERSION_LOC.length(), path.length()-post.length());
-		} catch (IOException ex) {
-		}
-		if (id != null) {
-			File docLocation= new File(JAVADOC_LOC + id);
-			if (docLocation.exists()) {
-				try {
-					return new URL("file", "", JAVADOC_LOC + id);	//$NON-NLS-1$ //$NON-NLS-2$
-				} catch (MalformedURLException ex) {
-				}
-			}
-		}
-		
-		// fall back
-		return super.getDefaultJavadocLocation(installLocation);
-	}
-}
diff --git a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMRunner.java b/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMRunner.java
deleted file mode 100644
index 3c03f90..0000000
--- a/org.eclipse.jdt.launching.macosx/macosx/org/eclipse/jdt/internal/launching/macosx/MacOSXVMRunner.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching.macosx;
-
-import java.io.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.internal.launching.StandardVMRunner;
-import org.eclipse.jdt.launching.IVMInstall;
-
-public class MacOSXVMRunner extends StandardVMRunner {
-	
-	public MacOSXVMRunner(IVMInstall vmInstance) {
-		super(vmInstance);
-	}
-	
-	protected Process exec(String[] cmdLine, File workingDirectory) throws CoreException {
-		return super.exec(MacOSXLaunchingPlugin.wrap(getClass(), cmdLine), workingDirectory);
-	}
-}
diff --git a/org.eclipse.jdt.launching.macosx/plugin.properties b/org.eclipse.jdt.launching.macosx/plugin.properties
deleted file mode 100644
index debec9f..0000000
--- a/org.eclipse.jdt.launching.macosx/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName = Mac OS X Launcher
-providerName=Eclipse.org
diff --git a/org.eclipse.jdt.launching.macosx/plugin.xml b/org.eclipse.jdt.launching.macosx/plugin.xml
deleted file mode 100644
index e6511cc..0000000
--- a/org.eclipse.jdt.launching.macosx/plugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- File written by PDE 1.0 -->
-<plugin
-   id="org.eclipse.jdt.launching.macosx"
-   name="%pluginName"
-   version="2.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.jdt.internal.launching.macosx.MacOSXLaunchingPlugin">
-
-<!-- Required plugins -->
-
-<requires>
-   <import plugin="org.eclipse.jdt.debug"/>
-   <import plugin="org.eclipse.debug.core"/>
-   <import plugin="org.eclipse.core.resources"/>
-   <import plugin="org.eclipse.jdt.core"/>
-   <import plugin="org.eclipse.jdt.launching"/>
-</requires>
-
-<!-- Runtime -->
-
-<runtime>
-   <library name="macosxlaunching.jar"/>
-</runtime>
-
-<!-- Extension points -->
-
-<!-- Extensions -->
-
-<extension point="org.eclipse.jdt.launching.vmInstallTypes">
-	<vmInstallType
-		id="org.eclipse.jdt.internal.launching.macosx.MacOSXType"
-		class="org.eclipse.jdt.internal.launching.macosx.MacOSXVMInstallType"
-	/>
-</extension>
-
-</plugin>
diff --git a/org.eclipse.jdt.launching.macosx/scripts/exportplugin.xml b/org.eclipse.jdt.launching.macosx/scripts/exportplugin.xml
deleted file mode 100644
index 5226037..0000000
--- a/org.eclipse.jdt.launching.macosx/scripts/exportplugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<!-- build script to create a plugin from org.eclipse.jdt.launching.macosx -->
-
-<project name="org.eclipse.jdt.launching.macosx" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.jdt.launching.macosx_2.1.0" />
-		<property name="dest"  value="${destdir}/${plugin}" />
-	</target>
-
-	<target name="build" depends="init">
-    	<eclipse.incrementalBuild project="${plugin}" kind="incr"/>
-	</target>
-
-	<target name="export" depends="build">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar 
-			jarfile="${dest}/macosxlaunching.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/macosxlaunchingsrc.zip">
-		    <fileset dir="macosx" />
-  		</zip>		
-	</target>
-</project>
diff --git a/org.eclipse.jdt.launching/.classpath b/org.eclipse.jdt.launching/.classpath
deleted file mode 100644
index bce676d..0000000
--- a/org.eclipse.jdt.launching/.classpath
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="launching/"/>
-    <classpathentry kind="src" path="support"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.core"/>
-    <classpathentry kind="src" path="/org.eclipse.debug.core"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.debug"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.launching/.cvsignore b/org.eclipse.jdt.launching/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.jdt.launching/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.jdt.launching/.project b/org.eclipse.jdt.launching/.project
deleted file mode 100644
index aad7991..0000000
--- a/org.eclipse.jdt.launching/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.launching</name>
-	<comment></comment>
-	<projects>
-		<project>org.apache.xerces</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.debug.core</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.debug</project>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.runtime</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</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.jdt.launching/about.html b/org.eclipse.jdt.launching/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.jdt.launching/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.jdt.launching/build.properties b/org.eclipse.jdt.launching/build.properties
deleted file mode 100644
index 955a17e..0000000
--- a/org.eclipse.jdt.launching/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               java.policy.applet,\
-               *.jar
-source.launching.jar = launching/
-
-source.lib/launchingsupport.jar = support/
-
-src.includes=about.html, schema/
-
-jars.compile.order=launching.jar,lib/launchingsupport.jar
diff --git a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching.html b/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching.html
deleted file mode 100644
index 7ce6573..0000000
--- a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Workbench Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-Eclipse Java Launching</h1></center>
-This document lists the published extension points that the Java Launching
-plugin makes available to tool developers.
-<h1>
-Extension Points</h1>
-
-<ul>
-<li>
-<a href="org_eclipse_jdt_launching_vmConnectors.html">org.eclipse.jdt.launching.vmConnectors</a></li>
-<li>
-<a href="org_eclipse_jdt_launching_vmInstallTypes.html">org.eclipse.jdt.launching.vmInstallTypes</a></li>
-<li>
-<a href="org_eclipse_jdt_launching_runtimeClasspathEntryResolvers.html">org.eclipse.jdt.launching.runtimeClasspathEntryResolvers</a></li>
-<li>
-<a href="org_eclipse_jdt_launching_classpathProviders.html">org.eclipse.jdt.launching.classpathProviders</a></li>
-</ul>
-<a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_classpathProviders.html b/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_classpathProviders.html
deleted file mode 100644
index 7eedf0a..0000000
--- a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_classpathProviders.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Java Runtime Classpath Providers</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.jdt.launching.classpathProviders<p>
-<b><i>Since: </i></b>2.1<p>
-<b><i>Description: </i></b>This extension point allows clients to dynamically compute and resolve classpaths and source lookup paths for Java launch configurations. A Java launch configuration is can be associated with a custom classpath provider via the launch configuration attriubte ATTR_CLASSPATH_PROVIDER and a custom source path provider via the attribute ATTR_SOURCE_PATH_PROVIDER. When specified, the launch configuration attribues correspond to the id of a classpath provider extension.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.classpathProvider">classpathProvider</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.classpathProvider">classpathProvider</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST classpathProvider</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - a unique identifier that can be used to reference this classpath provider</li>
-<li><b>class</b> - the class that implements this classpath provider. The class must implement IRuntimeClasspathProvider</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a classpath provider: 
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.jdt.launching.classpathProviders&quot;</font>&gt;</font>
-  <font color="#000080">&lt;classpathProvider
-   class=<font color="#008000">&quot;com.example.ProviderImplementation&quot;</font>
-   id=<font color="#008000">&quot;com.example.ProviderId&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/classpathProvider&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p><p>
-<b><i>Supplied Implementation: </i></b>A default implementation is provided for all launch configurations that do not specify a custom classpath provider.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_runtimeClasspathEntryResolvers.html b/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_runtimeClasspathEntryResolvers.html
deleted file mode 100644
index 80cb14d..0000000
--- a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_runtimeClasspathEntryResolvers.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Java Runtime Classpath Entry Resolvers</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.jdt.launching.runtimeClasspathEntryResolvers<p>
-<b><i>Description: </i></b>This extension point allows clients to dynamically resolve entries used on the runtime classpath and source
-lookup path, for corresponding classpath variables and classpath containers.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.runtimeClasspathEntryResolver">runtimeClasspathEntryResolver</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.runtimeClasspathEntryResolver">runtimeClasspathEntryResolver</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST runtimeClasspathEntryResolver</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variable&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;container&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - a unique identifier that can be used to reference this resolver.</li>
-<li><b>class</b> - the class that implements this resolver.  The class must implement <samp>IRuntimeClasspathEntryResolver</samp>.</li>
-<li><b>variable</b> - the name of the classpath variable this resolver is registered for.
-                  At least one of variable or container must be specified, and at most one resolver can be registered for a variable or container.</li>
-<li><b>container</b> - the identifier of the classpath container this resolver is registered for.
-                  At least one of variable or container must be specified, and at most one resolver can be registered for a variable or container.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a resolver:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.jdt.launching.runtimeClasspathEntryResolvers&quot;</font>&gt;</font>
-  <font color="#000080">&lt;runtimeClasspathEntryResolver
-   class=<font color="#008000">&quot;com.example.ResolverImplementation&quot;</font>
-   id=<font color="#008000">&quot;com.example.ResolverId&quot;</font>
-   variable=<font color="#008000">&quot;CLASSPATH_VARIABLE&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/runtimeClasspathEntryResolver&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p><p>
-<b><i>Supplied Implementation: </i></b>Implementations are provided for the standard JRE_LIB classpath variable and JRE_CONTAINER classpath container.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_vmConnectors.html b/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_vmConnectors.html
deleted file mode 100644
index 584269e..0000000
--- a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_vmConnectors.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Java VM Connectors</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.jdt.launching.vmConnectors<p>
-<b><i>Description: </i></b>This extension point represents different kinds of connections to remote VMs.  Each extension must implement
-<samp>org.eclipse.jdt.launching.IVMConnector</samp>.  An IVMConnector is responsible for establishing a connection
-with a remote VM.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.vmConnector">vmConnector</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.vmConnector">vmConnector</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST vmConnector</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - a unique identifier that can be used to reference this IVMConnector.</li>
-<li><b>class</b> - the class that implements this connector.  The class must implement <samp>IVMConnector</samp>.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of an IVMConnector:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.jdt.launching.vmConnectors&quot;</font>&gt;</font>
-  <font color="#000080">&lt;vmConnector
-   class=<font color="#008000">&quot;com.example.ConnectorImplementation&quot;</font>
-   id=<font color="#008000">&quot;com.example.ConnectorId&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/vmConnector&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p><p>
-<b><i>Supplied Implementation: </i></b>An implementation of a standard socket attach connector is provided.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_vmInstallTypes.html b/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_vmInstallTypes.html
deleted file mode 100644
index 6624246..0000000
--- a/org.eclipse.jdt.launching/doc/org_eclipse_jdt_launching_vmInstallTypes.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Java VM Install Types</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.jdt.launching.vmInstallTypes<p>
-<b><i>Description: </i></b>This extension point represents different kinds of Java runtime environments and development kits.
-Each extension must implement <samp>org.eclipse.jdt.launching.IVMInstallType</samp>. 
-An IVMInstallType is responsible for creating and managing a set of instances of its corresponding IVMInstall class.
-Through creating different IVMInstall objects, an IVMInstallType allows for specific behaviour for various Java VMs.
-A UI for managing IVMInstalls is provided by the Java Debug UI plug-in.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.vmInstallType">vmInstallType</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.vmInstallType">vmInstallType</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST vmInstallType</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - a unique identifier that can be used to reference this IVMInstallType.</li>
-<li><b>class</b> - the class that implements this VM install type.  The class must implement IVMInstallType.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of an IVMInstallType for the J9 VM:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.jdt.launching.vmInstallTypes&quot;</font>&gt;</font>
-  <font color="#000080">&lt;vmInstallType
-   class=<font color="#008000">&quot;org.eclipse.jdt.internal.launching.j9.J9VMInstallType&quot;</font>
-   id=<font color="#008000">&quot;org.eclipse.jdt.internal.launching.j9.J9Type&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/vmInstallType&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p><p>
-<b><i>Supplied Implementation: </i></b>Abstract implementations of IVMInstall and IVMInstallType are provided.  The Java Development Tools Launching Support plug-in defines a VM
-install type for the standard 1.1.* and 1.2/1.3/1.4 level <b>JRE</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.jdt.launching/hglegal2003.htm b/org.eclipse.jdt.launching/hglegal2003.htm
deleted file mode 100644
index 47c8540..0000000
--- a/org.eclipse.jdt.launching/hglegal2003.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.jdt.launching/java.policy.applet b/org.eclipse.jdt.launching/java.policy.applet
deleted file mode 100644
index 35527af..0000000
--- a/org.eclipse.jdt.launching/java.policy.applet
+++ /dev/null
@@ -1,7 +0,0 @@
-/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/

-/* DO NOT EDIT */

-

-grant {

-  permission java.security.AllPermission;

-};

-

diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/CompositeId.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/CompositeId.java
deleted file mode 100644
index d84690d..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/CompositeId.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-import java.util.ArrayList;
-
-/**
- * Utility class for id's made of multiple Strings
- */
-public class CompositeId {
-	private String[] fParts;
-	
-	public CompositeId(String[] parts) {
-		fParts= parts;
-	}
-	
-	public static CompositeId fromString(String idString) {
-		ArrayList parts= new ArrayList();
-		int commaIndex= idString.indexOf(',');
-		while (commaIndex > 0) {
-			int length= Integer.valueOf(idString.substring(0, commaIndex)).intValue();
-			String part= idString.substring(commaIndex+1, commaIndex+1+length);
-			parts.add(part);
-			idString= idString.substring(commaIndex+1+length);
-			commaIndex= idString.indexOf(',');
-		}
-		String[] result= (String[])parts.toArray(new String[parts.size()]);
-		return new CompositeId(result);
-	}
-	
-	public String toString() {
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < fParts.length; i++) {
-			buf.append(fParts[i].length());
-			buf.append(',');
-			buf.append(fParts[i]);
-		}
-		return buf.toString();
-	}
-	
-	public String get(int index) {
-		return fParts[index];
-	}
-	
-	public int getPartCount() {
-		return fParts.length;
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JREContainer.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JREContainer.java
deleted file mode 100644
index d25dfb2..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JREContainer.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallChangedListener;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.jdt.launching.PropertyChangeEvent;
-
-/** 
- * JRE Container - resolves a classpath container variable to a JRE
- */
-public class JREContainer implements IClasspathContainer {
-
-	/**
-	 * Corresponding JRE
-	 */
-	private IVMInstall fVMInstall = null;
-	
-	/**
-	 * Container path used to resolve to this JRE
-	 */
-	private IPath fPath = null;
-	
-	/**
-	 * Cache of classpath entries per VM install. Cleared when a VM changes.
-	 */
-	private static Map fgClasspathEntries = null;
-	
-	/**
-	 * Returns the classpath entries associated with the given VM.
-	 * 
-	 * @param vm
-	 * @return classpath entries
-	 */
-	private static IClasspathEntry[] getClasspathEntries(IVMInstall vm) {
-		if (fgClasspathEntries == null) {
-			fgClasspathEntries = new HashMap(10);
-			// add a listener to clear cached value when a VM changes or is removed
-			IVMInstallChangedListener listener = new IVMInstallChangedListener() {
-				public void defaultVMInstallChanged(IVMInstall previous, IVMInstall current) {
-				}
-
-				public void vmChanged(PropertyChangeEvent event) {
-					if (event.getSource() != null) {
-						fgClasspathEntries.remove(event.getSource());
-					}
-				}
-
-				public void vmAdded(IVMInstall vm) {
-				}
-
-				public void vmRemoved(IVMInstall vm) {
-					fgClasspathEntries.remove(vm);
-				}
-			};
-			JavaRuntime.addVMInstallChangedListener(listener);
-		}
-		IClasspathEntry[] entries = (IClasspathEntry[])fgClasspathEntries.get(vm);
-		if (entries == null) {
-			entries = computeClasspathEntries(vm);
-			fgClasspathEntries.put(vm, entries);
-		}
-		return entries;
-	}
-	
-	/**
-	 * Computes the classpath entries associated with a VM - one entry per library.
-	 * 
-	 * @param vm
-	 * @return classpath entries
-	 */
-	private static IClasspathEntry[] computeClasspathEntries(IVMInstall vm) {
-		LibraryLocation[] libs = JavaRuntime.getLibraryLocations(vm);
-		List entries = new ArrayList(libs.length);
-		for (int i = 0; i < libs.length; i++) {
-			if (!libs[i].getSystemLibraryPath().isEmpty()) {
-				entries.add(JavaCore.newLibraryEntry(libs[i].getSystemLibraryPath(), libs[i].getSystemLibrarySourcePath(), libs[i].getPackageRootPath()));
-			}
-		}
-		return (IClasspathEntry[])entries.toArray(new IClasspathEntry[entries.size()]);		
-	}
-	
-	/**
-	 * Constructs a JRE classpath conatiner on the given VM install
-	 * 
-	 * @param vm vm install - cannot be <code>null</code>
-	 * @param path container path used to resolve this JRE
-	 */
-	public JREContainer(IVMInstall vm, IPath path) {
-		fVMInstall = vm;
-		fPath = path;
-	}
-	
-	/**
-	 * @see IClasspathContainer#getClasspathEntries()
-	 */
-	public IClasspathEntry[] getClasspathEntries() {
-		return getClasspathEntries(fVMInstall);
-	}
-
-	/**
-	 * @see IClasspathContainer#getDescription()
-	 */
-	public String getDescription() {
-		StringBuffer desc = new StringBuffer(LaunchingMessages.getString("JREContainer.JRE_System_Library_1")); //$NON-NLS-1$
-		desc.append(" ["); //$NON-NLS-1$
-		desc.append(fVMInstall.getName());
-		desc.append("]"); //$NON-NLS-1$
-		return desc.toString();
-	}
-
-	/**
-	 * @see IClasspathContainer#getKind()
-	 */
-	public int getKind() {
-		return IClasspathContainer.K_DEFAULT_SYSTEM;
-	}
-
-	/**
-	 * @see IClasspathContainer#getPath()
-	 */
-	public IPath getPath() {
-		return fPath;
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JREContainerInitializer.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JREContainerInitializer.java
deleted file mode 100644
index 2d21c2c..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JREContainerInitializer.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-
-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.jdt.core.ClasspathContainerInitializer;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.jdt.launching.VMStandin;
-
-/**
- * Resolves a container for a JRE classpath container entry.
- */
-public class JREContainerInitializer extends ClasspathContainerInitializer {
-
-	/**
-	 * @see ClasspathContainerInitializer#initialize(IPath, IJavaProject)
-	 */
-	public void initialize(IPath containerPath, IJavaProject project) throws CoreException {		
-		int size = containerPath.segmentCount();
-		if (size > 0) {
-			if (containerPath.segment(0).equals(JavaRuntime.JRE_CONTAINER)) {
-				IVMInstall vm = resolveVM(containerPath);
-				JREContainer container = null;
-				if (vm != null) {
-					container = new JREContainer(vm, containerPath);
-				}
-				JavaCore.setClasspathContainer(containerPath, new IJavaProject[] {project}, new IClasspathContainer[] {container}, null);
-			}
-		}
-	}
-	
-	/**
-	 * Returns the VM install associated with the container path, or <code>null</code>
-	 * if it does not exist.
-	 */
-	public static IVMInstall resolveVM(IPath containerPath) {
-		IVMInstall vm = null;
-		if (containerPath.segmentCount() > 1) {
-			// specific JRE
-			String vmTypeId = getVMTypeId(containerPath);
-			String vmName = getVMName(containerPath);
-			IVMInstallType vmType = JavaRuntime.getVMInstallType(vmTypeId);
-			if (vmType != null) {
-				vm = vmType.findVMInstallByName(vmName);
-			}
-		} else {
-			// workspace default JRE
-			vm = JavaRuntime.getDefaultVMInstall();
-		}		
-		return vm;
-	}
-	
-	/**
-	 * Returns the VM type identifier from the given container ID path.
-	 * 
-	 * @return the VM type identifier from the given container ID path
-	 */
-	public static String getVMTypeId(IPath path) {
-		return path.segment(1);
-	}
-	
-	/**
-	 * Returns the VM name from the given container ID path.
-	 * 
-	 * @return the VM name from the given container ID path
-	 */
-	public static String getVMName(IPath path) {
-		return path.removeFirstSegments(2).toString();
-	}	
-	
-	/**
-	 * The container can be updated if it refers to an existing VM.
-	 * 
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#canUpdateClasspathContainer(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) {
-		if (containerPath != null && containerPath.segmentCount() > 0) {
-			if (JavaRuntime.JRE_CONTAINER.equals(containerPath.segment(0))) {
-				return resolveVM(containerPath) != null;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#requestClasspathContainerUpdate(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.IClasspathContainer)
-	 */
-	public void requestClasspathContainerUpdate(IPath containerPath, IJavaProject project, IClasspathContainer containerSuggestion) throws CoreException {
-		IVMInstall vm = resolveVM(containerPath);
-		if (vm == null) { 
-			IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_VM_INSTALL_DOES_NOT_EXIST, MessageFormat.format(LaunchingMessages.getString("JREContainerInitializer.JRE_referenced_by_classpath_container_{0}_does_not_exist._1"), new String[]{containerPath.toString()}), null); //$NON-NLS-1$
-			throw new CoreException(status);
-		} else {
-			// update of the vm with new library locations
-			
-			IClasspathEntry[] entries = containerSuggestion.getClasspathEntries();
-			LibraryLocation[] libs = new LibraryLocation[entries.length];
-			for (int i = 0; i < entries.length; i++) {
-				IClasspathEntry entry = entries[i];
-				if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
-					IPath path = entry.getPath();
-					File lib = path.toFile();
-					if (lib.exists() && lib.isFile()) {
-						IPath srcPath = entry.getSourceAttachmentPath();
-						if (srcPath == null) {
-							srcPath = Path.EMPTY;
-						}
-						IPath rootPath = entry.getSourceAttachmentRootPath();
-						if (rootPath == null) {
-							rootPath = Path.EMPTY;
-						}
-						libs[i] = new LibraryLocation(path, srcPath, rootPath);
-					} else {
-						IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, MessageFormat.format(LaunchingMessages.getString("JREContainerInitializer.Classpath_entry_{0}_does_not_refer_to_an_existing_library._2"), new String[]{entry.getPath().toString()}), null); //$NON-NLS-1$
-						throw new CoreException(status);
-					}
-				} else {
-					IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, MessageFormat.format(LaunchingMessages.getString("JREContainerInitializer.Classpath_entry_{0}_does_not_refer_to_a_library._3"), new String[]{entry.getPath().toString()}), null); //$NON-NLS-1$
-					throw new CoreException(status);
-				}
-			}
-			VMStandin standin = new VMStandin(vm);
-			standin.setLibraryLocations(libs);
-			standin.convertToRealVM();
-			JavaRuntime.saveVMConfiguration();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getDescription(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public String getDescription(IPath containerPath, IJavaProject project) {
-		if (containerPath.segmentCount() == 3) {
-			StringBuffer desc = new StringBuffer(LaunchingMessages.getString("JREContainer.JRE_System_Library_1")); //$NON-NLS-1$
-			desc.append(" ["); //$NON-NLS-1$
-			desc.append(containerPath.segment(2));
-			desc.append("]"); //$NON-NLS-1$
-			return desc.toString();
-		} else {
-			return LaunchingMessages.getString("JREContainerInitializer.Default_System_Library_1"); //$NON-NLS-1$
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JRERuntimeClasspathEntryResolver.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JRERuntimeClasspathEntryResolver.java
deleted file mode 100644
index 7ab1445..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JRERuntimeClasspathEntryResolver.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-
-/**
- * Resolves for JRELIB_VARIABLE and JRE_CONTAINER
- */
-public class JRERuntimeClasspathEntryResolver implements IRuntimeClasspathEntryResolver {
-
-	/**
-	 * @see IRuntimeClasspathEntryResolver#resolveRuntimeClasspathEntry(IRuntimeClasspathEntry, ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, ILaunchConfiguration configuration) throws CoreException {
-		IVMInstall configJRE = JavaRuntime.computeVMInstall(configuration);
-		return resolveLibraryLocations(configJRE, entry.getClasspathProperty());
-	}
-	
-	/**
-	 * @see IRuntimeClasspathEntryResolver#resolveRuntimeClasspathEntry(IRuntimeClasspathEntry, IJavaProject)
-	 */
-	public IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, IJavaProject project) throws CoreException {
-		IVMInstall projectJRE = JavaRuntime.getVMInstall(project);
-		return resolveLibraryLocations(projectJRE, entry.getClasspathProperty());
-	}
-
-	/**
-	 * Resolves libray locations for the given VM install
-	 */
-	protected IRuntimeClasspathEntry[] resolveLibraryLocations(IVMInstall vm, int kind) {
-		IRuntimeClasspathEntry[] resolved = null;
-		LibraryLocation[] libs = vm.getLibraryLocations();
-		if (libs == null) {
-			// default system libs
-			libs = vm.getVMInstallType().getDefaultLibraryLocations(vm.getInstallLocation());
-		} else {
-			// custom system libs - place on bootpath explicitly
-			kind = IRuntimeClasspathEntry.BOOTSTRAP_CLASSES;
-		}
-		resolved = new IRuntimeClasspathEntry[libs.length];
-		for (int i = 0; i < libs.length; i++) {
-			resolved[i] = JavaRuntime.newArchiveRuntimeClasspathEntry(libs[i].getSystemLibraryPath());
-			IPath path = libs[i].getSystemLibrarySourcePath();
-			if (path != null && !path.isEmpty()) {
-				resolved[i].setSourceAttachmentPath(path);
-				resolved[i].setSourceAttachmentRootPath(libs[i].getPackageRootPath());
-			}
-			resolved[i].setClasspathProperty(kind);
-		}
-		return resolved;
-	}
-		
-	/**
-	 * @see IRuntimeClasspathEntryResolver#resolveVMInstall(IClasspathEntry)
-	 */
-	public IVMInstall resolveVMInstall(IClasspathEntry entry) throws CoreException {
-		switch (entry.getEntryKind()) {
-			case IClasspathEntry.CPE_VARIABLE:
-				if (entry.getPath().segment(0).equals(JavaRuntime.JRELIB_VARIABLE)) {
-					return JavaRuntime.getDefaultVMInstall();
-				}
-				break;
-			case IClasspathEntry.CPE_CONTAINER:
-				if (entry.getPath().segment(0).equals(JavaRuntime.JRE_CONTAINER)) {
-					return JREContainerInitializer.resolveVM(entry.getPath());
-				}
-				break;
-			default:
-				break;
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaAppletLaunchConfigurationDelegate.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaAppletLaunchConfigurationDelegate.java
deleted file mode 100644
index 61c6a7a..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaAppletLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,399 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-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.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.ExecutionArguments;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-public class JavaAppletLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate
-													implements IDebugEventSetListener {
-		
-	/**
-	 * Mapping of ILaunch objects to File objects that represent the .html file
-	 * used to initiate the applet launch.  This is used to delete the .html
-	 * file when the launch terminates.
-	 */
-	private static Map fgLaunchToFileMap = new HashMap();
-	
-	/**
-	 * @see ILaunchConfigurationDelegate#launch(ILaunchConfiguration, String, ILaunch, IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-			
-		if (configuration == null) {
-			abort(LaunchingMessages.getString("JavaAppletLaunchConfigurationDelegate.No_launch_configuration_specified_1"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_LAUNCH_CONFIG); //$NON-NLS-1$
-		}
-		
-		monitor.beginTask(MessageFormat.format(LaunchingMessages.getString("JavaAppletLaunchConfigurationDelegate.Starting_Applet_{0}..._1"), new String[]{configuration.getName()}), 3); //$NON-NLS-1$
-		monitor.subTask(LaunchingMessages.getString("JavaAppletLaunchConfigurationDelegate.Verifying_launch_attributes..._1")); //$NON-NLS-1$
-		
-		String mainTypeName = verifyMainTypeName(configuration);
-
-		IJavaProject javaProject = getJavaProject(configuration);
-		if (javaProject != null) {
-			IType type = JavaLaunchConfigurationUtils.getMainType(mainTypeName, javaProject);
-			ITypeHierarchy hierarchy = type.newSupertypeHierarchy(new NullProgressMonitor());
-			IType javaLangApplet = JavaLaunchConfigurationUtils.getMainType("java.applet.Applet", javaProject); //$NON-NLS-1$
-			if (!hierarchy.contains(javaLangApplet)) {
-				abort(LaunchingMessages.getString("JavaAppletLaunchConfigurationDelegate.error.not_an_applet"), null, IJavaLaunchConfigurationConstants.ERR_NOT_AN_APPLET); //$NON-NLS-1$
-			}
-		}
-
-		IVMInstall vm = verifyVMInstall(configuration);
-
-		IVMRunner runner = vm.getVMRunner(mode);
-		if (runner == null) {
-			if (mode == ILaunchManager.DEBUG_MODE) {
-				abort(MessageFormat.format(LaunchingMessages.getString("JavaLocalApplicationLaunchConfigurationDelegate.JRE_{0}_does_not_support_debug_mode._1"), new String[]{vm.getName()}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST);  //$NON-NLS-1$
-			} else {
-				abort(MessageFormat.format(LaunchingMessages.getString("JavaLocalApplicationLaunchConfigurationDelegate.JRE_{0}_does_not_support_run_mode._2"), new String[]{vm.getName()}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST);  //$NON-NLS-1$
-			}
-		}
-
-		File workingDir = verifyWorkingDirectory(configuration);
-		String workingDirName = workingDir.getAbsolutePath();
-		
-		// Program & VM args
-		String javaPolicy = getJavaPolicyFile(workingDir);
-		ExecutionArguments execArgs = new ExecutionArguments(getVMArguments(configuration), ""); //$NON-NLS-1$
-		// Classpath
-		String[] classpath = getClasspath(configuration);
-		
-		// Create VM config
-		String appletViewerClassName = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_APPLETVIEWER_CLASS, IJavaLaunchConfigurationConstants.DEFAULT_APPLETVIEWER_CLASS);
-		VMRunnerConfiguration runConfig = new VMRunnerConfiguration(appletViewerClassName, classpath);
-		
-		// Construct the HTML file and set its name as a program argument
-		File htmlFile = buildHTMLFile(configuration, workingDir);
-		if (htmlFile == null) {
-			abort(LaunchingMessages.getString("JavaAppletLaunchConfigurationDelegate.Could_not_build_HTML_file_for_applet_launch_1"), null, IJavaLaunchConfigurationConstants.ERR_COULD_NOT_BUILD_HTML); //$NON-NLS-1$
-		}			
-		runConfig.setProgramArguments(new String[] {htmlFile.getName()});
-		
-		// Retrieve & set the VM arguments
-		String[] vmArgs = execArgs.getVMArgumentsArray();
-		String[] realArgs = new String[vmArgs.length+1];
-		System.arraycopy(vmArgs, 0, realArgs, 1, vmArgs.length);
-		realArgs[0] = javaPolicy;
-		runConfig.setVMArguments(realArgs);
-		
-		runConfig.setWorkingDirectory(workingDirName);
-
-		// Bootpath
-		String[] bootpath = getBootpath(configuration);
-		runConfig.setBootClassPath(bootpath);
-		
-		// VM-specific attributes
-		Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-		runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-		
-		monitor.worked(1);
-		
-		// Add a debug listener if necessary 
-		if (fgLaunchToFileMap.isEmpty()) {
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-		
-		// Add a mapping of the launch to the html file 
-		fgLaunchToFileMap.put(launch, htmlFile);
-		
-		monitor.subTask(LaunchingMessages.getString("JavaAppletLaunchConfigurationDelegate.Creating_source_locator..._2")); //$NON-NLS-1$
-		// Set default source locator if none specified
-		setDefaultSourceLocator(launch, configuration);
-		monitor.worked(1);		
-
-		// Launch the configuration
-		try {
-			runner.run(runConfig, launch, monitor);		
-		} catch (CoreException ce) {
-			htmlFile.delete();
-			throw ce;
-		}
-		
-		monitor.done();
-	}
-
-	/**
-	 * Returns the system property string for the policy file
-	 * 
-	 * @param workingDir the working directory
-	 * @return system property for the policy file
-	 */
-	public String getJavaPolicyFile(File workingDir)
-		throws CoreException {
-			File file = new File(workingDir, "java.policy.applet");//$NON-NLS-1$ 
-			if (!file.exists()) {
-				// copy it to the working directory
-				File test = LaunchingPlugin.getFileInPlugin(new Path("java.policy.applet")); //$NON-NLS-1$
-				try {
-					byte[] bytes = getFileByteContent(test);
-					BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file));
-					outputStream.write(bytes);
-					outputStream.close();
-				} catch (IOException e) {
-					return "";//$NON-NLS-1$
-				}
-			}
-		return "-Djava.security.policy=java.policy.applet";//$NON-NLS-1$
-	}
-
-	/**
-	 * Using the specified launch configuration, build an HTML file that specifies the
-	 * applet to launch.  Return the name of the HTML file.
-	 * 
-	 * @param dir the directoru in which to make the file
-	 */
-	private File buildHTMLFile(ILaunchConfiguration configuration, File dir) {
-		FileWriter writer = null;
-		File tempFile = null;
-		try {
-			String name = getMainTypeName(configuration);
-			tempFile = new File(dir, name + System.currentTimeMillis() + ".html"); //$NON-NLS-1$ //$NON-NLS-2$
-			writer = new FileWriter(tempFile);
-			writer.write("<html>\n"); //$NON-NLS-1$
-			writer.write("<body>\n"); //$NON-NLS-1$
-			writer.write("<applet code="); //$NON-NLS-1$
-			writer.write(name);
-			writer.write(".class "); //$NON-NLS-1$
-			String appletName = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_NAME, ""); //$NON-NLS-1$
-			if (appletName.length() != 0) {
-				writer.write("NAME =\"" + appletName + "\" "); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			writer.write("width=\""); //$NON-NLS-1$
-			writer.write(Integer.toString(configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_WIDTH, 200))); //$NON-NLS-1$
-			writer.write("\" height=\""); //$NON-NLS-1$
-			writer.write(Integer.toString(configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_HEIGHT, 200))); //$NON-NLS-1$
-			writer.write("\" >\n"); //$NON-NLS-1$
-			Map parameters = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_APPLET_PARAMETERS, new HashMap());
-			if (parameters.size() != 0) {
-				Iterator iterator = parameters.keySet().iterator();
-				while(iterator.hasNext()) {
-		 			String next = (String) iterator.next();
-					writer.write("<param name="); //$NON-NLS-1$
-					writer.write(next);
-					writer.write(" value="); //$NON-NLS-1$
-					writer.write((String) parameters.get(next));
-					writer.write(">\n"); //$NON-NLS-1$
-				}
-			}
-			writer.write("</applet>\n"); //$NON-NLS-1$
-			writer.write("</body>\n"); //$NON-NLS-1$
-			writer.write("</html>\n"); //$NON-NLS-1$
-		} catch(IOException e) {
-		} catch(CoreException e) {
-		} finally {
-			if (writer != null) {
-				try {
-					writer.close();
-				} catch(IOException e) {
-				}
-			}
-		}
-		if (tempFile == null) {
-			return null;
-		}
-		return tempFile;
-	}
-	
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			Object eventSource = event.getSource();
-			switch(event.getKind()) {
-				
-				// Delete the HTML file used for the launch
-				case DebugEvent.TERMINATE :
-					if (eventSource != null) {
-						ILaunch launch = null;
-						if (eventSource instanceof IProcess) {
-							IProcess process = (IProcess) eventSource;
-							launch = process.getLaunch();
-						} else if (eventSource instanceof IDebugTarget) {
-							IDebugTarget debugTarget = (IDebugTarget) eventSource;
-							launch = debugTarget.getLaunch();
-						}
-						File temp = (File) fgLaunchToFileMap.get(launch);
-						if (temp != null) {
-							try {
-								fgLaunchToFileMap.remove(launch);
-								temp.delete();
-							} finally {
-								if (fgLaunchToFileMap.isEmpty()) {
-									DebugPlugin.getDefault().removeDebugEventListener(this);
-								}
-							}
-						}
-					}
-					break;
-			}
-		}
-	}
-
-	/**
-	 * Returns the contents of the given file as a byte array.
-	 * @throws IOException if a problem occured reading the file.
-	 */
-	protected static byte[] getFileByteContent(File file) throws IOException {
-		InputStream stream = null;
-		try {
-			stream = new BufferedInputStream(new FileInputStream(file));
-			return getInputStreamAsByteArray(stream, (int) file.length());
-		} finally {
-			if (stream != null) {
-				try {
-					stream.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the given input stream's contents as a byte array.
-	 * If a length is specified (ie. if length != -1), only length bytes
-	 * are returned. Otherwise all bytes in the stream are returned.
-	 * Note this doesn't close the stream.
-	 * @throws IOException if a problem occured reading the stream.
-	 */
-	protected static byte[] getInputStreamAsByteArray(InputStream stream, int length)
-		throws IOException {
-		byte[] contents;
-		if (length == -1) {
-			contents = new byte[0];
-			int contentsLength = 0;
-			int bytesRead = -1;
-			do {
-				int available = stream.available();
-
-				// resize contents if needed
-				if (contentsLength + available > contents.length) {
-					System.arraycopy(
-						contents,
-						0,
-						contents = new byte[contentsLength + available],
-						0,
-						contentsLength);
-				}
-
-				// read as many bytes as possible
-				bytesRead = stream.read(contents, contentsLength, available);
-
-				if (bytesRead > 0) {
-					// remember length of contents
-					contentsLength += bytesRead;
-				}
-			} while (bytesRead > 0);
-
-			// resize contents if necessary
-			if (contentsLength < contents.length) {
-				System.arraycopy(
-					contents,
-					0,
-					contents = new byte[contentsLength],
-					0,
-					contentsLength);
-			}
-		} else {
-			contents = new byte[length];
-			int len = 0;
-			int readSize = 0;
-			while ((readSize != -1) && (len != length)) {
-				// See PR 1FMS89U
-				// We record first the read size. In this case len is the actual read size.
-				len += readSize;
-				readSize = stream.read(contents, len, length - len);
-			}
-		}
-
-		return contents;
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#verifyWorkingDirectory(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public File verifyWorkingDirectory(ILaunchConfiguration configuration) throws CoreException {
-		IPath path = getWorkingDirectoryPath(configuration);
-		if (path == null) {
-			// default working dir for applets is the project's output directory
-			String outputDir = JavaRuntime.getProjectOutputDirectory(configuration);
-			if (outputDir == null) {
-				// if no project attribute, default to eclipse directory
-				return new File(System.getProperty("user.dir"));  //$NON-NLS-1$
-			}
-			IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(outputDir);
-			if (resource == null || !resource.exists()) {
-				//default to eclipse directory
-				return new File(System.getProperty("user.dir"));  //$NON-NLS-1$
-			}
-			return resource.getLocation().toFile(); 
-		} else {
-			if (path.isAbsolute()) {
-				File dir = new File(path.toOSString());
-				if (dir.isDirectory()) {
-					return dir;
-				} else {
-					abort(MessageFormat.format(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.Working_directory_does_not_exist__{0}_12"), new String[] {path.toString()}), null, IJavaLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST); //$NON-NLS-1$
-				}
-			} else {
-				IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
-				if (res instanceof IContainer && res.exists()) {
-					return res.getLocation().toFile();
-				} else {
-					abort(MessageFormat.format(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.Working_directory_does_not_exist__{0}_12"), new String[] {path.toString()}), null, IJavaLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST); //$NON-NLS-1$
-				}
-			}
-		}
-		// cannot return null - an exception will be thrown
-		return null;		
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaClasspathVariablesInitializer.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaClasspathVariablesInitializer.java
deleted file mode 100644
index bbe00f8..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaClasspathVariablesInitializer.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
- 
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ClasspathVariableInitializer;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-
-public class JavaClasspathVariablesInitializer extends ClasspathVariableInitializer {
-
-	/**
-	 * The monitor to use for progress reporting.
-	 * May be null
-	 */
-	private IProgressMonitor fMonitor;
-	
-	/**
-	 * @see ClasspathVariableInitializer#initialize(String)
-	 */
-	public void initialize(String variable) {
-		IVMInstall vmInstall= JavaRuntime.getDefaultVMInstall();
-		if (vmInstall != null) {
-			IPath newPath= null;
-			LibraryLocation[] locations= JavaRuntime.getLibraryLocations(vmInstall);
-			// look for rt.jar or classes.zip (both may exist, so do exhaustive search)
-			LibraryLocation rtjar = null;
-			LibraryLocation classeszip = null;
-			for (int i = 0; i < locations.length; i++) {
-				LibraryLocation location = locations[i];
-				String name = location.getSystemLibraryPath().lastSegment();
-				if (name.equalsIgnoreCase("rt.jar")) { //$NON-NLS-1$
-					rtjar = location;
-				} else if (name.equalsIgnoreCase("classes.zip")) { //$NON-NLS-1$
-					classeszip = location;
-				}
-			}
-			// rt.jar if present, then classes.zip, else the first library
-			LibraryLocation systemLib = rtjar;
-			if (systemLib == null) {
-				systemLib = classeszip;
-			}
-			if (systemLib == null && locations.length > 0) {
-				systemLib = locations[0];
-			}
-			if (systemLib != null) {
-				if (variable.equals(JavaRuntime.JRELIB_VARIABLE)) {
-					newPath= systemLib.getSystemLibraryPath();
-				} else if (variable.equals(JavaRuntime.JRESRC_VARIABLE)) {
-					newPath= systemLib.getSystemLibrarySourcePath();
-				} else if (variable.equals(JavaRuntime.JRESRCROOT_VARIABLE)){
-					newPath= systemLib.getPackageRootPath();
-				}
-				if (newPath == null) {
-					return;
-				}
-				IWorkspace workspace= ResourcesPlugin.getWorkspace();
-				IWorkspaceDescription wsDescription= workspace.getDescription();				
-				boolean wasAutobuild= wsDescription.isAutoBuilding();
-				try {
-					setAutobuild(workspace, false);
-					setJREVariable(newPath, variable);	
-				} catch (CoreException ce) {
-					LaunchingPlugin.log(ce);
-					return;
-				} finally {
-					try {
-						setAutobuild(workspace, wasAutobuild);
-					} catch (CoreException ce) {
-						LaunchingPlugin.log(ce);
-					}
-				}
-			}
-		}
-	}
-
-	
-	private boolean changedJREVariable(IPath newPath, String var) throws CoreException {
-		IPath oldPath= JavaCore.getClasspathVariable(var);
-		return !newPath.equals(oldPath);
-	}
-	
-	private void setJREVariable(IPath newPath, String var) throws CoreException {
-		if (changedJREVariable(newPath, var)) {
-			JavaCore.setClasspathVariable(var, newPath, getMonitor());
-		}
-	}
-	
-	private boolean setAutobuild(IWorkspace ws, boolean newState) throws CoreException {
-		IWorkspaceDescription wsDescription= ws.getDescription();
-		boolean oldState= wsDescription.isAutoBuilding();
-		if (oldState != newState) {
-			wsDescription.setAutoBuilding(newState);
-			ws.setDescription(wsDescription);
-		}
-		return oldState;
-	}
-	
-	protected IProgressMonitor getMonitor() {
-		if (fMonitor == null) {
-			return new NullProgressMonitor();
-		}
-		return fMonitor;
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLaunchConfigurationUtils.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLaunchConfigurationUtils.java
deleted file mode 100644
index 9dc0fb9..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLaunchConfigurationUtils.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-
-import org.apache.xml.serialize.Method;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.Serializer;
-import org.apache.xml.serialize.SerializerFactory;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.w3c.dom.Document;
-
-/**
- * This class contains a number of static helper methods useful for the 'local java' delegate.
- */
-public class JavaLaunchConfigurationUtils {
-																		 		
-	/**
-	 * Return the <code>IType</code> referenced in the specified configuration and contained in 
-	 * the specified project or throw a <code>CoreException</code> whose message explains why 
-	 * this couldn't be done.
-	 */
-	public static IType getMainType(ILaunchConfiguration configuration, IJavaProject javaProject) throws CoreException {
-		String mainTypeName = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)null);
-		return getMainType(mainTypeName, javaProject);
-	}
-	
-	/**
-	 * Return the <code>IType</code> referenced by the specified name and contained in 
-	 * the specified project or throw a <code>CoreException</code> whose message explains why 
-	 * this couldn't be done.
-	 */
-	public static IType getMainType(String mainTypeName, IJavaProject javaProject) throws CoreException {
-		if ((mainTypeName == null) || (mainTypeName.trim().length() < 1)) {
-			abort(LaunchingMessages.getString("JavaLaunchConfigurationUtils.Main_type_not_specified_3"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE); //$NON-NLS-1$
-		}
-		IType mainType = null;
-		try {
-			mainType = findType(javaProject, mainTypeName);
-		} catch (JavaModelException jme) {
-		}
-		if (mainType == null) {
-			abort(LaunchingMessages.getString("JavaLaunchConfigurationUtils.Main_type_does_not_exist_4"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE); //$NON-NLS-1$
-		}
-		return mainType;
-	}	
-	
-	/**
-	 * Find the specified (fully-qualified) type name in the specified java project.
-	 */
-	public static IType findType(IJavaProject javaProject, String mainTypeName) throws JavaModelException {
-		String pathStr= mainTypeName.replace('.', '/') + ".java"; //$NON-NLS-1$
-		IJavaElement javaElement= javaProject.findElement(new Path(pathStr));
-		if (javaElement == null) {
-			return null;
-		} else if (javaElement instanceof IType) {
-			return (IType)javaElement;
-		} else if (javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
-			String simpleName= Signature.getSimpleName(mainTypeName);
-			return ((ICompilationUnit) javaElement).getType(simpleName);
-		} else if (javaElement.getElementType() == IJavaElement.CLASS_FILE) {
-			return ((IClassFile) javaElement).getType();
-		}
-		return null; 
-	}
-		
-	/**
-	 * Throws a core exception with the given message and optional
-	 * exception. The exception's status code will indicate an error.
-	 * 
-	 * @param message error message
-	 * @param exception cause of the error, or <code>null</code>
-	 * @exception CoreException with the given message and underlying
-	 *  exception
-	 */
-	protected static void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(),
-		  code, message, exception));
-	}
-
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 */
-	public static String serializeDocument(Document doc) throws IOException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		OutputFormat format = new OutputFormat();
-		format.setIndenting(true);
-		format.setLineSeparator(System.getProperty("line.separator"));  //$NON-NLS-1$
-		
-		Serializer serializer =
-			SerializerFactory.getSerializerFactory(Method.XML).makeSerializer(
-				new OutputStreamWriter(s, "UTF8"), //$NON-NLS-1$
-				format);
-		serializer.asDOMSerializer().serialize(doc);
-		return s.toString("UTF8"); //$NON-NLS-1$		
-	}	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLocalApplicationLaunchConfigurationDelegate.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLocalApplicationLaunchConfigurationDelegate.java
deleted file mode 100644
index bab3d13..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaLocalApplicationLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.ExecutionArguments;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-/**
- * Launches a local VM.
- */
-public class JavaLocalApplicationLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	/**
-	 * @see ILaunchConfigurationDelegate#launch(ILaunchConfiguration, String, ILaunch, IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		
-		monitor.beginTask(MessageFormat.format(LaunchingMessages.getString("JavaLocalApplicationLaunchConfigurationDelegate.Launching_{0}..._1"), new String[]{configuration.getName()}), 3); //$NON-NLS-1$
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		monitor.subTask(LaunchingMessages.getString("JavaLocalApplicationLaunchConfigurationDelegate.Verifying_launch_attributes..._1")); //$NON-NLS-1$
-						
-		String mainTypeName = verifyMainTypeName(configuration);
-
-		IVMInstall vm = verifyVMInstall(configuration);
-
-		IVMRunner runner = vm.getVMRunner(mode);
-		if (runner == null) {
-			if (mode == ILaunchManager.DEBUG_MODE) {
-				abort(MessageFormat.format(LaunchingMessages.getString("JavaLocalApplicationLaunchConfigurationDelegate.JRE_{0}_does_not_support_debug_mode._1"), new String[]{vm.getName()}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST);  //$NON-NLS-1$
-			} else {
-				abort(MessageFormat.format(LaunchingMessages.getString("JavaLocalApplicationLaunchConfigurationDelegate.JRE_{0}_does_not_support_run_mode._2"), new String[]{vm.getName()}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST);  //$NON-NLS-1$
-			}
-		}
-
-		File workingDir = verifyWorkingDirectory(configuration);
-		String workingDirName = null;
-		if (workingDir != null) {
-			workingDirName = workingDir.getAbsolutePath();
-		}
-		
-		// Program & VM args
-		String pgmArgs = getProgramArguments(configuration);
-		String vmArgs = getVMArguments(configuration);
-		ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
-		
-		// VM-specific attributes
-		Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-		
-		// Classpath
-		String[] classpath = getClasspath(configuration);
-		
-		// Create VM config
-		VMRunnerConfiguration runConfig = new VMRunnerConfiguration(mainTypeName, classpath);
-		runConfig.setProgramArguments(execArgs.getProgramArgumentsArray());
-		runConfig.setVMArguments(execArgs.getVMArgumentsArray());
-		runConfig.setWorkingDirectory(workingDirName);
-		runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
-		// Bootpath
-		String[] bootpath = getBootpath(configuration);
-		runConfig.setBootClassPath(bootpath);
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		// stop in main
-		prepareStopInMain(configuration);
-		
-		// done the verification phase
-		monitor.worked(1);
-		
-		monitor.subTask(LaunchingMessages.getString("JavaLocalApplicationLaunchConfigurationDelegate.Creating_source_locator..._2")); //$NON-NLS-1$
-		// set the default source locator if required
-		setDefaultSourceLocator(launch, configuration);
-		monitor.worked(1);		
-		
-		// Launch the configuration - 1 unit of work
-		runner.run(runConfig, launch, monitor);
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}	
-		
-		monitor.done();
-	}	
-}
-
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaRemoteApplicationLaunchConfigurationDelegate.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaRemoteApplicationLaunchConfigurationDelegate.java
deleted file mode 100644
index cb91829..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/JavaRemoteApplicationLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.text.MessageFormat;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMConnector;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-/**
- * Launch configuration delegate for a remote Java application.
- */
-public class JavaRemoteApplicationLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	/**
-	 * @see ILaunchConfigurationDelegate#launch(ILaunchConfiguration, String, ILaunch, IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-
-		monitor.beginTask(MessageFormat.format(LaunchingMessages.getString("JavaRemoteApplicationLaunchConfigurationDelegate.Attaching_to_{0}..._1"), new String[]{configuration.getName()}), 3); //$NON-NLS-1$
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}						
-					
-		monitor.subTask(LaunchingMessages.getString("JavaRemoteApplicationLaunchConfigurationDelegate.Verifying_launch_attributes..._1")); //$NON-NLS-1$
-						
-		String connectorId = getVMConnectorId(configuration);
-		IVMConnector connector = null;
-		if (connectorId == null) {
-			connector = JavaRuntime.getDefaultVMConnector();
-		} else {
-			connector = JavaRuntime.getVMConnector(connectorId);
-		}
-		if (connector == null) {
-			abort(LaunchingMessages.getString("JavaRemoteApplicationLaunchConfigurationDelegate.Connector_not_specified_2"), null, IJavaLaunchConfigurationConstants.ERR_CONNECTOR_NOT_AVAILABLE); //$NON-NLS-1$
-		}
-		
-		Map argMap = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, (Map)null);
-
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		monitor.worked(1);
-		
-		monitor.subTask(LaunchingMessages.getString("JavaRemoteApplicationLaunchConfigurationDelegate.Creating_source_locator..._2")); //$NON-NLS-1$
-		// set the default source locator if required
-		setDefaultSourceLocator(launch, configuration);
-		monitor.worked(1);		
-		
-		// connect to remote VM
-		connector.connect(argMap, monitor, launch);
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		monitor.done();
-	}
-	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingMessages.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingMessages.java
deleted file mode 100644
index 9e8fd32..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingMessages.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class LaunchingMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.jdt.internal.launching.LaunchingMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-		public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingMessages.properties b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingMessages.properties
deleted file mode 100644
index 1fa6976..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingMessages.properties
+++ /dev/null
@@ -1,154 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AbstractJavaLaunchConfigurationDelegate.Java_project_not_specified_9=Java project not specified
-AbstractJavaLaunchConfigurationDelegate.JRE_home_directory_for_{0}_does_not_exist__{1}_6=JRE home directory for {0} does not exist: {1}
-AbstractJavaLaunchConfigurationDelegate.JRE_home_directory_not_specified_for_{0}_5=JRE home directory not specified for {0}
-AbstractJavaLaunchConfigurationDelegate.Main_type_not_specified_11=Main type not specified
-AbstractJavaLaunchConfigurationDelegate.Project_does_not_exist_or_is_not_a_Java_project_10=Project does not exist or is not a Java project
-AbstractJavaLaunchConfigurationDelegate.The_specified_JRE_installation_does_not_exist_4=The specified JRE installation does not exist
-AbstractJavaLaunchConfigurationDelegate.Working_directory_does_not_exist__{0}_12=Working directory does not exist: {0}
-
-JavaLaunchConfigurationUtils.Main_type_does_not_exist_4=Main type does not exist
-JavaLaunchConfigurationUtils.Main_type_not_specified_3=Main type not specified
-
-JavaLocalApplicationLaunchConfigurationDelegate.JRE_{0}_does_not_support_debug_mode._1=JRE {0} does not support debug mode.
-JavaLocalApplicationLaunchConfigurationDelegate.JRE_{0}_does_not_support_run_mode._2=JRE {0} does not support run mode.
-JavaLocalApplicationLaunchConfigurationDelegate.Launching_{0}..._1=Launching {0}...
-JavaLocalApplicationLaunchConfigurationDelegate.Verifying_launch_attributes..._1=Verifying launch attributes...
-JavaLocalApplicationLaunchConfigurationDelegate.Creating_source_locator..._2=Creating source locator...
-
-JavaRemoteApplicationLaunchConfigurationDelegate.Connector_not_specified_2=Connector not specified
-JavaRemoteApplicationLaunchConfigurationDelegate.Attaching_to_{0}..._1=Attaching to {0}...
-JavaRemoteApplicationLaunchConfigurationDelegate.Verifying_launch_attributes..._1=Verifying launch attributes...
-JavaRemoteApplicationLaunchConfigurationDelegate.Creating_source_locator..._2=Creating source locator...
-
-JavaAppletLaunchConfigurationDelegate.error.not_an_applet=The applet type is not a subclass of java.applet.Applet.
-JavaAppletLaunchConfigurationDelegate.Starting_Applet_{0}..._1=Starting Applet {0}...
-JavaAppletLaunchConfigurationDelegate.Verifying_launch_attributes..._1=Verifying launch attributes...
-JavaAppletLaunchConfigurationDelegate.Creating_source_locator..._2=Creating source locator...
-
-JavaRuntime.badFormat=Invalid format
-JavaRuntime.exceptionOccurred=Exceptions occurred
-JavaRuntime.ioExceptionOccurred=An IOException occurred while saving VM's
-JavaRuntime.Library_location_element_incorrectly_specified_3=Library location element is specified incorrectly
-JavaRuntime.VM_element_specified_with_no_id_attribute_2=id attribute missing from VM element specification
-JavaRuntime.VM_type_element_with_unknown_id_1=VM type element with unknown id
-JavaRuntime.Specified_VM_install_type_does_not_exist__{0}_2=Specified VM install type does not exist: {0}
-JavaRuntime.VM_not_fully_specified_in_launch_configuration_{0}_-_missing_VM_name._Reverting_to_default_VM._1=VM not fully specified in launch configuration {0} - missing VM name. Reverting to default VM.
-JavaRuntime.Specified_VM_install_not_found__type_{0},_name_{1}_2=Specified VM install not found: type {0}, name {1}
-JavaRuntime.Launch_configuration_{0}_references_non-existing_project_{1}._1=Launch configuration {0} references non-existing project {1}.
-JavaRuntime.Could_not_resolve_classpath_container__{0}_1=Could not resolve classpath container: {0}
-JavaRuntime.Classpath_references_non-existant_project__{0}_1=Project: {0} referenced by classpath, does not exist.
-JavaRuntime.Classpath_references_closed_project__{0}_2=Classpath references closed project: {0}
-JavaRuntime.Classpath_references_non-existant_project__{0}_3=The project: {0} which is referenced by the classpath, does not exist.
-JavaRuntime.Classpath_references_non-existant_archive__{0}_4=The archive: {0} which is referenced by the classpath, does not exist.
-JavaRuntime.Classpath_references_non-existant_archive__{0}_5=The archive: {0} which is referenced by the classpath, does not exist.
-
-LaunchingPlugin.Exception_occurred_reading_vmConnectors_extensions_1=Exception occurred reading vmConnectors extensions
-
-libraryLocation.assert.libraryNotNull=library cannot be null
-
-SocketAttachConnector.Failed_to_connect_to_remote_VM_1=Failed to connect to remote VM
-SocketAttachConnector.Socket_attaching_connector_not_available_3=Socket attaching connector not available
-SocketAttachConnector.Standard_(Socket_Attach)_4=Standard (Socket Attach)
-SocketAttachConnector.Failed_to_connect_to_remote_VM_because_of_unknown_host___{0}__1=Failed to connect to remote VM because of unknown host \"{0}"
-SocketAttachConnector.Failed_to_connect_to_remote_VM_as_connection_was_refused_2=Failed to connect to remote VM. Connection refused.
-SocketAttachConnector.Connecting..._1=Connecting...
-SocketAttachConnector.Configuring_connection..._1=Configuring connection...
-SocketAttachConnector.Establishing_connection..._2=Establishing connection...
-
-StandardVMDebugger.Could_not_find_a_free_socket_for_the_debugger_1=Cannot find a free socket for the debugger
-StandardVMDebugger.Couldn__t_connect_to_VM_4=Cannot connect to VM
-StandardVMDebugger.Couldn__t_connect_to_VM_5=Cannot connect to VM
-StandardVMDebugger.Couldn__t_find_an_appropriate_debug_connector_2=Cannot find an appropriate debug connector
-StandardVMDebugger.Launching_VM..._1=Launching VM...
-StandardVMDebugger.Finding_free_socket..._2=Finding free socket...
-StandardVMDebugger.Constructing_command_line..._3=Constructing command line...
-StandardVMDebugger.Starting_virtual_machine..._4=Starting virtual machine...
-StandardVMDebugger.Establishing_debug_connection..._5=Establishing debug connection...
-
-StandardVMRunner.{0}_({1})_2={0} ({1})
-StandardVMRunner.{0}_at_localhost_{1}_1={0} at localhost:{1}
-StandardVMRunner.Specified_working_directory_does_not_exist_or_is_not_a_directory__{0}_3=Specified working directory does not exist or is not a directory: {0}
-StandardVMRunner.Launching_VM..._1=Launching VM...
-StandardVMRunner.Constructing_command_line..._2=Constructing command line...
-StandardVMRunner.Starting_virtual_machine..._3=Starting virtual machine...
-StandardVMRunner.Unable_to_locate_executable_for_{0}_1=Unable to locate executable for {0}
-StandardVMRunner.Specified_executable_{0}_does_not_exist_for_{1}_4=Specified executable {0} does not exist for {1}
-
-StandardVMType.Not_a_JDK_Root;_Java_executable_was_not_found_1=Target is not a JDK Root. Java executable was not found
-StandardVMType.ok_2=ok
-StandardVMType.Standard_VM_3=Standard VM
-StandardVMType.Not_a_JDK_root._System_library_was_not_found._1=Target is not a JDK root. System library was not found.
-StandardVMType.Standard_VM_not_supported_on_MacOS._1=Standard VM not supported on MacOS.
-
-vmInstall.assert.idNotNull=id cannot be null
-vmInstall.assert.typeNotNull=VM type cannot be null
-
-vmInstallType.duplicateVM=Duplicate VM: {0}
-
-vmRunnerConfig.assert.classNotNull=classToLaunch cannot be null
-vmRunnerConfig.assert.classPathNotNull=classPath cannot be null
-vmRunnerConfig.assert.programArgsNotNull=args cannot be null
-vmRunnerConfig.assert.vmArgsNotNull=args cannot be null
-
-RuntimeClasspathEntry.An_exception_occurred_generating_runtime_classpath_memento_8=An exception occurred generating runtime classpath memento
-RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_type_2=Unable to recover runtime class path entry type
-RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_location_3=Unable to recover runtime class path entry location
-RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_missing_project_name_4=Unable to recover runtime class path entry - missing project name
-RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_missing_archive_path_5=Unable to recover runtime class path entry - missing archive path
-RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_missing_variable_name_6=Unable to recover runtime class path entry - missing variable name
-RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_parsing_error_8=Unable to recover runtime class path entry - parsing error
-RuntimeClasspathEntry.Illegal_classpath_entry_{0}_1=Illegal classpath entry {0}
-
-JREContainer.JRE_System_Library_1=JRE System Library
-
-SocketAttachConnector.Port_unspecified_for_remote_connection._2=Port unspecified for remote connection.
-SocketAttachConnector.Hostname_unspecified_for_remote_connection._4=Hostname unspecified for remote connection.
-
-JREContainerInitializer.JRE_referenced_by_classpath_container_{0}_does_not_exist._1=JRE referenced by classpath container {0} does not exist.
-JREContainerInitializer.Classpath_entry_{0}_does_not_refer_to_an_existing_library._2=Classpath entry {0} does not refer to an existing library.
-JREContainerInitializer.Classpath_entry_{0}_does_not_refer_to_a_library._3=Classpath entry {0} does not refer to a library.
-JREContainerInitializer.Default_System_Library_1=Default System Library
-
-ArchiveSourceLocation.Unable_to_create_memento_for_archive_source_location_{0}_1=Unable to create memento for archive source location {0}
-ArchiveSourceLocation.Unable_to_initialize_source_location_-_missing_archive_path._3=Unable to initialize source location - missing archive path.
-ArchiveSourceLocation.Exception_occurred_initializing_source_location._5=Exception occurred initializing source location.
-ArchiveSourceLocation.Unable_to_locate_source_element_in_archive_{0}_1=Unable to locate source element in archive {0}
-
-DirectorySourceLocation.Unable_to_create_memento_for_directory_source_location_{0}_1=Unable to create memento for directory source location {0}
-DirectorySourceLocation.Unable_to_initialize_source_location_-_missing_directory_path_3=Unable to initialize source location - missing directory path
-DirectorySourceLocation.Unable_to_initialize_source_location_-_directory_does_not_exist__{0}_4=Unable to initialize source location - directory does not exist: {0}
-DirectorySourceLocation.Exception_occurred_initializing_source_location._5=Exception occurred initializing source location.
-
-JavaProjectSourceLocation.Unable_to_create_memento_for_Java_project_source_location_{0}_1=Unable to create memento for Java project source location {0}
-JavaProjectSourceLocation.Unable_to_initialize_source_location_-_missing_project_name_3=Unable to initialize source location - missing project name
-JavaProjectSourceLocation.Exception_occurred_initializing_source_location._4=Exception occurred initializing source location.
-
-JavaSourceLocator.Illegal_to_have_a_container_resolved_to_a_container_1=A container cannot resolve to another container
-JavaSourceLocator.Unable_to_create_memento_for_Java_source_locator._4=Unable to create memento for Java source locator.
-JavaSourceLocator.Unable_to_restore_Java_source_locator_-_invalid_format._6=Unable to restore Java source locator - invalid format.
-JavaSourceLocator.Unable_to_restore_Java_source_locator_-_invalid_format._10=Unable to restore Java source locator - invalid format.
-JavaSourceLocator.Unable_to_restore_source_location_-_class_not_found__{0}_11=Unable to restore source location - class not found: {0}
-JavaSourceLocator.Unable_to_restore_source_location._12=Unable to restore source location.
-JavaSourceLocator.Unable_to_restore_Java_source_locator_-_invalid_format._14=Unable to restore Java source locator - invalid format.
-JavaSourceLocator.Exception_occurred_initializing_source_locator._15=Exception occurred initializing source locator.
-
-Standard11xVMType.Standard_1.1.x_VM_1=Standard 1.1.x VM
-
-PackageFragmentRootSourceLocation.Unable_to_create_memento_for_package_fragment_root_source_location_{0}_5=Unable to create memento for package fragment root source location {0}
-PackageFragmentRootSourceLocation.Unable_to_initialize_source_location_-_missing_handle_identifier_for_package_fragment_root._6=Unable to initialize source location - missing handle identifier for package fragment root.
-PackageFragmentRootSourceLocation.Unable_to_initialize_source_location_-_package_fragment_root_does_not_exist._7=Unable to initialize source location - package fragment root does not exist.
-PackageFragmentRootSourceLocation.Exception_occurred_initializing_source_location._8=Exception occurred initializing source location.
-JavaAppletLaunchConfigurationDelegate.No_launch_configuration_specified_1=No launch configuration specified
-JavaAppletLaunchConfigurationDelegate.Could_not_build_HTML_file_for_applet_launch_1=Could not build HTML file for applet launch
-
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingPlugin.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingPlugin.java
deleted file mode 100644
index 467e278..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LaunchingPlugin.java
+++ /dev/null
@@ -1,847 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Hashtable;
-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 org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.internal.events.ResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-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.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMConnector;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallChangedListener;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.VMStandin;
-import org.eclipse.jdt.launching.sourcelookup.ArchiveSourceLocation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class LaunchingPlugin extends Plugin implements Preferences.IPropertyChangeListener, IVMInstallChangedListener, IResourceChangeListener, ILaunchesListener, IDebugEventSetListener {
-	
-	/**
-	 * Identifier for 'vmConnectors' extension point
-	 */
-	public static final String ID_EXTENSION_POINT_VM_CONNECTORS = getUniqueIdentifier() + ".vmConnectors"; //$NON-NLS-1$
-	
-	private static LaunchingPlugin fgLaunchingPlugin;
-	
-	private HashMap fVMConnectors = null;
-
-	private String fOldVMPrefString = EMPTY_STRING;
-	
-	private boolean fIgnoreVMDefPropertyChangeEvents = false;
-		
-	private static final String EMPTY_STRING = "";    //$NON-NLS-1$
-			
-	/**
-	 * Mapping of top-level VM installation directories to library info for that
-	 * VM.
-	 */
-	private static Map fgLibraryInfoMap = null;	
-	
-	/**
-	 * Whether changes in VM preferences are being batched. When being batched
-	 * the plug-in can ignore processing and changes.
-	 */
-	private boolean fBatchingChanges = false;
-	
-	/**
-	 * Stores VM changes resulting from a JRE preference change.
-	 */
-	class VMChanges implements IVMInstallChangedListener {
-		
-		// true if the default VM changes
-		private boolean fDefaultChanged = false;
-		
-		// old container ids to new
-		private HashMap fRenamedContainerIds = new HashMap();
-		
-		/**
-		 * Returns the JRE container id that the given VM would map to, or
-		 * <code>null</code> if none.
-		 * 
-		 * @param vm
-		 * @return container id or <code>null</code>
-		 */
-		private IPath getContainerId(IVMInstall vm) {
-			if (vm != null) {
-				String name = vm.getName();
-				if (name != null) {
-					IPath path = new Path(JavaRuntime.JRE_CONTAINER);
-					path = path.append(new Path(vm.getVMInstallType().getId()));				
-					path = path.append(new Path(name));
-					return path;
-				}
-			}
-			return null;
-		}
-		
-		/**
-		 * @see org.eclipse.jdt.launching.IVMInstallChangedListener#defaultVMInstallChanged(org.eclipse.jdt.launching.IVMInstall, org.eclipse.jdt.launching.IVMInstall)
-		 */
-		public void defaultVMInstallChanged(IVMInstall previous, IVMInstall current) {
-			fDefaultChanged = true;
-		}
-
-		/**
-		 * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmAdded(org.eclipse.jdt.launching.IVMInstall)
-		 */
-		public void vmAdded(IVMInstall vm) {
-		}
-
-		/**
-		 * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmChanged(org.eclipse.jdt.launching.PropertyChangeEvent)
-		 */
-		public void vmChanged(org.eclipse.jdt.launching.PropertyChangeEvent event) {
-			String property = event.getProperty();
-			IVMInstall vm = (IVMInstall)event.getSource();
-			if (property.equals(IVMInstallChangedListener.PROPERTY_NAME)) {
-				IPath newId = getContainerId(vm);
-				IPath oldId = new Path(JavaRuntime.JRE_CONTAINER);
-				oldId = oldId.append(vm.getVMInstallType().getId());
-				String oldName = (String)event.getOldValue();
-				// bug 33746 - if there is no old name, then this is not a re-name.
-				if (oldName != null) {
-					oldId = oldId.append(oldName);
-					fRenamedContainerIds.put(oldId, newId);					
-				}
-			}
-		}
-
-		/**
-		 * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmRemoved(org.eclipse.jdt.launching.IVMInstall)
-		 */
-		public void vmRemoved(IVMInstall vm) {
-		}
-	
-		/**
-		 * Re-bind classpath variables and containers affected by the JRE
-		 * changes.
-		 */
-		public void process() throws CoreException {
-			IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					rebind();
-				}
-			};
-			ResourcesPlugin.getWorkspace().run(runnable, new NullProgressMonitor());
-		}
-				
-		/**
-		 * Re-bind classpath variables and containers affected by the JRE
-		 * changes.
-		 */
-		private void rebind() throws CoreException {
-			
-			IJavaProject[] projects = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()).getJavaProjects();
-			 
-			if (fDefaultChanged) {
-				// re-bind JRELIB if the default VM changed
-				JavaClasspathVariablesInitializer initializer = new JavaClasspathVariablesInitializer();
-				initializer.initialize(JavaRuntime.JRELIB_VARIABLE);
-				initializer.initialize(JavaRuntime.JRESRC_VARIABLE);
-				initializer.initialize(JavaRuntime.JRESRCROOT_VARIABLE);
-			}
-														
-			// re-bind all container entries, noting which project need to be re-built
-			for (int i = 0; i < projects.length; i++) {
-				IJavaProject project = projects[i];
-				IClasspathEntry[] entries = project.getRawClasspath();
-				boolean replace = false;
-				for (int j = 0; j < entries.length; j++) {
-					IClasspathEntry entry = entries[j];
-					switch (entry.getEntryKind()) {
-						case IClasspathEntry.CPE_CONTAINER:
-							IPath reference = entry.getPath();
-							IPath newBinding = null;
-							String firstSegment = reference.segment(0);
-							if (JavaRuntime.JRE_CONTAINER.equals(firstSegment)) {
-								if (reference.segmentCount() > 1) {
-									IPath renamed = (IPath)fRenamedContainerIds.get(reference);
-									if (renamed != null) {
-										// The JRE was re-named. This changes the identifier of
-										// the container entry.
-										newBinding = renamed;
-									}									
-								}
-								JREContainerInitializer initializer = new JREContainerInitializer();
-								if (newBinding == null){
-									// rebind old path
-									initializer.initialize(reference, project);
-								} else {
-									// replace old cp entry with a new one
-									IClasspathEntry newEntry = JavaCore.newContainerEntry(newBinding, entry.isExported());
-									entries[j] = newEntry;
-									replace = true;
-								}
-							}
-							break;
-						default:
-							break;
-					}
-				}
-				if (replace) {
-					project.setRawClasspath(entries, null);
-				}
-			}
-
-		}
-
-	}
-	
-	
-	
-	public LaunchingPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgLaunchingPlugin= this;
-	}
-	
-	/**
-	 * Returns the library info that corresponds to the specified JRE install
-	 * path, or <code>null</code> if none.
-	 * 
-	 * @return the library info that corresponds to the specified JRE install
-	 * path, or <code>null</code> if none
-	 */
-	public static LibraryInfo getLibraryInfo(String javaInstallPath) {
-		if (fgLibraryInfoMap == null) {
-			restoreLibraryInfo(); 
-		}
-		return (LibraryInfo) fgLibraryInfoMap.get(javaInstallPath);
-	}
-	
-	/**
-	 * Sets the library info that corresponds to the specified JRE install
-	 * path.
-	 * 
-	 * @param javaInstallPath home location for a JRE
-	 * @param info the libary information, or <code>null</code> to remove
-	 */
-	public static void setLibraryInfo(String javaInstallPath, LibraryInfo info) {
-		if (fgLibraryInfoMap == null) {
-			restoreLibraryInfo(); 
-		}		
-		if (info == null) {
-			fgLibraryInfoMap.remove(javaInstallPath);
-		} else {
-			fgLibraryInfoMap.put(javaInstallPath, info);
-		}
-		saveLibraryInfo();
-	}	
-		
-	/**
-	 * Return a <code>java.io.File</code> object that corresponds to the specified
-	 * <code>IPath</code> in the plugin directory.
-	 */
-	public static File getFileInPlugin(IPath path) {
-		try {
-			URL installURL =
-				new URL(getDefault().getDescriptor().getInstallURL(), path.toString());
-			URL localURL = Platform.asLocalURL(installURL);
-			return new File(localURL.getFile());
-		} catch (IOException ioe) {
-			return null;
-		}
-	}
-		
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		if (getDefault() == null) {
-			// If the default instance is not yet initialized,
-			// return a static identifier. This identifier must
-			// match the plugin id defined in plugin.xml
-			return "org.eclipse.jdt.launching"; //$NON-NLS-1$
-		}
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	public static LaunchingPlugin getDefault() {
-		return fgLaunchingPlugin;
-	}
-	
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	public static void log(String message) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), IStatus.ERROR, message, null));
-	}	
-		
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), IStatus.ERROR, e.getMessage(), e));
-	}	
-	
-	/**
-	 * Clears zip file cache.
-	 * Shutdown the launch config helper.
-	 * 
-	 * @see Plugin#shutdown()
-	 */
-	public void shutdown() throws CoreException {
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		ArchiveSourceLocation.closeArchives();
-		getPluginPreferences().removePropertyChangeListener(this);
-		JavaRuntime.removeVMInstallChangedListener(this);
-		JavaRuntime.saveVMConfiguration();
-		savePluginPreferences();
-		super.shutdown();
-	}
-		
-	/**
-	 * @see Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		super.startup();
-		
-		// Exclude launch configurations from being copied to the output directory
-		String launchFilter = "*." + ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION; //$NON-NLS-1$
-		Hashtable optionsMap = JavaCore.getOptions();
-		String filters= (String)optionsMap.get("org.eclipse.jdt.core.builder.resourceCopyExclusionFilter"); //$NON-NLS-1$
-		boolean modified = false;
-		if (filters == null || filters.length() == 0) {
-			filters= launchFilter;
-			modified = true;
-		} else if (filters.indexOf(launchFilter) == -1) {
-			filters= filters + ',' + launchFilter; //$NON-NLS-1$
-			modified = true;
-		}
-
-		if (modified) {
-			optionsMap.put("org.eclipse.jdt.core.builder.resourceCopyExclusionFilter", filters);  //$NON-NLS-1$
-			JavaCore.setOptions(optionsMap);
-		}		
-
-		// set default preference values
-		getPluginPreferences().setDefault(JavaRuntime.PREF_CONNECT_TIMEOUT, JavaRuntime.DEF_CONNECT_TIMEOUT);
-		getPluginPreferences().addPropertyChangeListener(this);
-
-		JavaRuntime.addVMInstallChangedListener(this);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this, ResourceChangeEvent.PRE_DELETE | ResourceChangeEvent.PRE_CLOSE);
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/**
-	 * Returns the VM connector with the specified id, or <code>null</code>
-	 * if none. 
-	 * 
-	 * @param id connector identifier
-	 * @return VM connector
-	 */
-	public IVMConnector getVMConnector(String id) {
-		if (fVMConnectors == null) {
-			initializeVMConnectors();
-		}
-		return (IVMConnector)fVMConnectors.get(id); 
-	}
-	
-	/**
-	 * Returns all VM connector extensions.
-	 *
-	 * @return VM connectors
-	 */
-	public IVMConnector[] getVMConnectors() {
-		if (fVMConnectors == null) {
-			initializeVMConnectors();
-		}
-		return (IVMConnector[])fVMConnectors.values().toArray(new IVMConnector[fVMConnectors.size()]); 
-	}	
-	
-	/**
-	 * Loads VM connector extensions
-	 */
-	private void initializeVMConnectors() {
-		IExtensionPoint extensionPoint= Platform.getPluginRegistry().getExtensionPoint(ID_EXTENSION_POINT_VM_CONNECTORS);
-		IConfigurationElement[] configs= extensionPoint.getConfigurationElements(); 
-		MultiStatus status= new MultiStatus(getUniqueIdentifier(), IStatus.OK, LaunchingMessages.getString("LaunchingPlugin.Exception_occurred_reading_vmConnectors_extensions_1"), null); //$NON-NLS-1$
-		fVMConnectors = new HashMap(configs.length);
-		for (int i= 0; i < configs.length; i++) {
-			try {
-				IVMConnector vmConnector= (IVMConnector)configs[i].createExecutableExtension("class"); //$NON-NLS-1$
-				fVMConnectors.put(vmConnector.getIdentifier(), vmConnector);
-			} catch (CoreException e) {
-				status.add(e.getStatus());
-			}
-		}
-		if (!status.isOK()) {
-			LaunchingPlugin.log(status);
-		}			
-	}
-	
-	/**
-	 * Save preferences whenever the connect timeout changes.
-	 * Process changes to the list of installed JREs.
-	 * 
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		String property = event.getProperty();
-		if (property.equals(JavaRuntime.PREF_CONNECT_TIMEOUT)) {
-			savePluginPreferences();
-		} else if (property.equals(JavaRuntime.PREF_VM_XML)) {
-			if (!isIgnoreVMDefPropertyChangeEvents()) {
-				processVMPrefsChanged((String)event.getOldValue(), (String)event.getNewValue());
-			}
-		}
-	}
-
-	/**
-	 * Check for differences between the old & new sets of installed JREs.  
-	 * Differences may include additions, deletions and changes.  Take
-	 * appropriate action for each type of difference.
-	 * 
-	 * When importing preferences, TWO propertyChange events are fired.  The first
-	 * has an old value but an empty new value.  The second has a new value, but an empty
-	 * old value.  Normal user changes to the preferences result in a single propertyChange
-	 * event, with both old and new values populated.  This method handles both types
-	 * of notification.
-	 */
-	protected void processVMPrefsChanged(String oldValue, String newValue) {
-		
-		// batch changes
-		fBatchingChanges = true;
-		VMChanges vmChanges = null;
-		try {
-
-			String oldPrefString;
-			String newPrefString;
-			
-			// If empty new value, save the old value and wait for 2nd propertyChange notification
-			if (newValue == null || newValue.equals(EMPTY_STRING)) {        
-				fOldVMPrefString = oldValue;
-				return;
-			}					
-			// An empty old value signals the second notification in the import preferences
-			// sequence.  Now that we have both old & new prefs, we can parse and compare them.
-			else if (oldValue == null || oldValue.equals(EMPTY_STRING)) {    	
-				oldPrefString = fOldVMPrefString;
-				newPrefString = newValue;
-			} 
-			// If both old & new values are present, this is a normal user change
-			else {
-				oldPrefString = oldValue;
-				newPrefString = newValue;
-			}
-			
-			vmChanges = new VMChanges();
-			JavaRuntime.addVMInstallChangedListener(vmChanges);
-			
-			// Generate the previous VMs
-			VMDefinitionsContainer oldResults = getVMDefinitions(oldPrefString);
-			
-			// Generate the current
-			VMDefinitionsContainer newResults = getVMDefinitions(newPrefString);
-			
-			// Determine the deteled VMs
-			List deleted = oldResults.getVMList();
-			List current = newResults.getValidVMList();
-			deleted.removeAll(current);
-			
-			// Dispose deleted VMs.  The 'disposeVMInstall' method fires notification of the 
-			// deletion.
-			Iterator deletedIterator = deleted.iterator();
-			while (deletedIterator.hasNext()) {
-				VMStandin deletedVMStandin = (VMStandin) deletedIterator.next();
-				deletedVMStandin.getVMInstallType().disposeVMInstall(deletedVMStandin.getId());			
-			}			
-			
-			// Fire change notification for added and changed VMs. The 'convertToRealVM'
-			// fires the appropriate notification.
-			Iterator iter = current.iterator();
-			while (iter.hasNext()) {
-				VMStandin standin = (VMStandin)iter.next();
-				standin.convertToRealVM();
-			}
-			
-			// set the new default VM install. This will fire a 'defaultVMChanged',
-			// if it in fact changed
-			String newDefaultId = newResults.getDefaultVMInstallCompositeID();
-			if (newDefaultId != null) {
-				IVMInstall newDefaultVM = JavaRuntime.getVMFromCompositeId(newDefaultId);
-				if (newDefaultVM != null) {
-					try {
-						JavaRuntime.setDefaultVMInstall(newDefaultVM, null, false);
-					} catch (CoreException ce) {
-						log(ce);
-					}			
-				}
-			}
-			
-		} finally {
-			// stop batch changes
-			fBatchingChanges = false;	
-			if (vmChanges != null) {
-				JavaRuntime.removeVMInstallChangedListener(vmChanges);
-				try {
-					vmChanges.process();
-				} catch (CoreException e) {
-					log(e);
-				}	
-			}
-		}
-
-	}
-	
-	/**
-	 * Parse the given xml into a VM definitions container, returning an empty
-	 * container if an exception occurrs.
-	 * 
-	 * @param xml
-	 * @return VMDefinitionsContainer
-	 */
-	private VMDefinitionsContainer getVMDefinitions(String xml) {
-		byte[] bytes = xml.getBytes();
-		if (bytes.length > 0) {
-			ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
-			try {
-				return VMDefinitionsContainer.parseXMLIntoContainer(stream);
-			} catch (IOException e) {
-				LaunchingPlugin.log(e);
-			}
-		}
-		return new VMDefinitionsContainer(); 
-	}
-						
-	/**
-	 * @see IVMInstallChangedListener#defaultVMInstallChanged(IVMInstall, IVMInstall)
-	 */
-	public void defaultVMInstallChanged(IVMInstall previous, IVMInstall current) {
-		if (!fBatchingChanges) {
-			try {
-				VMChanges changes = new VMChanges();
-				changes.defaultVMInstallChanged(previous, current);
-				changes.process();
-			} catch (CoreException e) {
-				log(e);
-			}
-		}
-	}
-
-	/**
-	 * @see IVMInstallChangedListener#vmAdded(IVMInstall)
-	 */
-	public void vmAdded(IVMInstall vm) {
-	}
-
-	/**
-	 * @see IVMInstallChangedListener#vmChanged(PropertyChangeEvent)
-	 */
-	public void vmChanged(org.eclipse.jdt.launching.PropertyChangeEvent event) {
-		if (!fBatchingChanges) {
-			try {
-				VMChanges changes = new VMChanges();
-				changes.vmChanged(event);
-				changes.process();
-			} catch (CoreException e) {
-				log(e);
-			}
-		}		
-	}
-
-	/**
-	 * @see IVMInstallChangedListener#vmRemoved(IVMInstall)
-	 */
-	public void vmRemoved(IVMInstall vm) {
-		if (!fBatchingChanges) {
-			try {
-				VMChanges changes = new VMChanges();
-				changes.vmRemoved(vm);
-				changes.process();
-			} catch (CoreException e) {
-				log(e);
-			}
-		}
-	}
-
-	/**
-	 * Clear the archive cache when a project is about to be deleted.
-	 * 
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		ArchiveSourceLocation.closeArchives();
-	}
-
-	public void setIgnoreVMDefPropertyChangeEvents(boolean ignore) {
-		fIgnoreVMDefPropertyChangeEvents = ignore;
-	}
-
-	public boolean isIgnoreVMDefPropertyChangeEvents() {
-		return fIgnoreVMDefPropertyChangeEvents;
-	}
-
-	/**
-	 * Return the VM definitions contained in this object as a String of XML.  The String
-	 * is suitable for storing in the workbench preferences.
-	 * <p>
-	 * The resulting XML is compatible with the static method <code>parseXMLIntoContainer</code>.
-	 * </p>
-	 * @return String the results of flattening this object into XML
-	 * @throws IOException if this method fails. Reasons include:<ul>
-	 * <li>serialization of the XML document failed</li>
-	 * </ul>
-	 */
-	private static String getLibraryInfoAsXML() throws IOException{
-		
-		// Create the Document and the top-level node
-		Document doc = new DocumentImpl();
-		Element config = doc.createElement("libraryInfos");    //$NON-NLS-1$
-		doc.appendChild(config);
-						
-		// Create a node for each info in the table
-		Iterator locations = fgLibraryInfoMap.keySet().iterator();
-		while (locations.hasNext()) {
-			String home = (String)locations.next();
-			LibraryInfo info = (LibraryInfo) fgLibraryInfoMap.get(home);
-			Element locationElemnet = infoAsElement(doc, info);
-			locationElemnet.setAttribute("home", home); //$NON-NLS-1$
-			config.appendChild(locationElemnet);
-		}
-		
-		// Serialize the Document and return the resulting String
-		return JavaLaunchConfigurationUtils.serializeDocument(doc);
-	}	
-	
-	/**
-	 * Creates an XML element for the given info.
-	 * 
-	 * @param doc
-	 * @param info
-	 * @return Element
-	 */
-	private static Element infoAsElement(Document doc, LibraryInfo info) {
-		Element libraryElement = doc.createElement("libraryInfo"); //$NON-NLS-1$
-		libraryElement.setAttribute("version", info.getVersion()); //$NON-NLS-1$
-		appendPathElements(doc, "bootpath", libraryElement, info.getBootpath()); //$NON-NLS-1$
-		appendPathElements(doc, "extensionDirs", libraryElement, info.getExtensionDirs()); //$NON-NLS-1$
-		appendPathElements(doc, "endorsedDirs", libraryElement, info.getEndorsedDirs()); //$NON-NLS-1$
-		return libraryElement;
-	}
-	
-	/**
-	 * Appends path elements to the given library element, rooted by an
-	 * element of the given type.
-	 * 
-	 * @param doc
-	 * @param elementType
-	 * @param libraryElement
-	 * @param paths
-	 */
-	private static void appendPathElements(Document doc, String elementType, Element libraryElement, String[] paths) {
-		if (paths.length > 0) {
-			Element child = doc.createElement(elementType);
-			libraryElement.appendChild(child);
-			for (int i = 0; i < paths.length; i++) {
-				String path = paths[i];
-				Element entry = doc.createElement("entry"); //$NON-NLS-1$
-				child.appendChild(entry);
-				entry.setAttribute("path", path); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/**
-	 * Saves the library info in a local workspace state location 
-	 */
-	private static void saveLibraryInfo() {
-		try {
-			String xml = getLibraryInfoAsXML();
-			IPath libPath = getDefault().getStateLocation();
-			libPath = libPath.append("libraryInfos.xml"); //$NON-NLS-1$
-			File file = libPath.toFile();
-			if (!file.exists()) {
-				file.createNewFile();
-			}
-			FileOutputStream stream = new FileOutputStream(file);
-			stream.write(xml.getBytes("UTF8")); //$NON-NLS-1$
-			stream.close();
-		} catch (IOException e) {
-			log(e);
-		}	
-	}
-	
-	/**
-	 * Restores library information for VMs
-	 */
-	private static void restoreLibraryInfo() {
-		fgLibraryInfoMap = new HashMap(10);
-		IPath libPath = getDefault().getStateLocation();
-		libPath = libPath.append("libraryInfos.xml"); //$NON-NLS-1$
-		File file = libPath.toFile();
-		if (file.exists()) {
-			try {
-				InputStream stream = new FileInputStream(file);
-				DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-				Element root = parser.parse(new InputSource(stream)).getDocumentElement();
-				if(!root.getNodeName().equals("libraryInfos")) { //$NON-NLS-1$
-					return;
-				}
-				
-				NodeList list = root.getChildNodes();
-				int length = list.getLength();
-				for (int i = 0; i < length; ++i) {
-					Node node = list.item(i);
-					short type = node.getNodeType();
-					if (type == Node.ELEMENT_NODE) {
-						Element element = (Element) node;
-						String nodeName = element.getNodeName();
-						if (nodeName.equalsIgnoreCase("libraryInfo")) { //$NON-NLS-1$
-							String version = element.getAttribute("version"); //$NON-NLS-1$
-							String location = element.getAttribute("home"); //$NON-NLS-1$
-							String[] bootpath = getPathsFromXML(element, "bootpath"); //$NON-NLS-1$
-							String[] extDirs = getPathsFromXML(element, "extensionDirs"); //$NON-NLS-1$
-							String[] endDirs = getPathsFromXML(element, "endorsedDirs"); //$NON-NLS-1$
-							if (location != null) {
-								LibraryInfo info = new LibraryInfo(version, bootpath, extDirs, endDirs);
-								fgLibraryInfoMap.put(location, info);										
-							}
-						}
-					}
-				}				
-			} catch (IOException e) {
-				log(e);
-			} catch (ParserConfigurationException e) {
-				log(e);
-			} catch (SAXException e) {
-				log(e);
-			}
-		}
-	}
-	
-	private static String[] getPathsFromXML(Element lib, String pathType) {
-		List paths = new ArrayList();
-		NodeList list = lib.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element element = (Element) node;
-				String nodeName = element.getNodeName();
-				if (nodeName.equalsIgnoreCase(pathType)) {
-					NodeList entries = element.getChildNodes();
-					int numEntries = entries.getLength();
-					for (int j = 0; j < numEntries; j++) {
-						Node n = entries.item(j);
-						short t = n.getNodeType();
-						if (t == Node.ELEMENT_NODE) {
-							Element entryElement = (Element)n;
-							String name = entryElement.getNodeName();
-							if (name.equals("entry")) { //$NON-NLS-1$
-								String path = entryElement.getAttribute("path"); //$NON-NLS-1$
-								if (path != null && path.length() > 0) {
-									paths.add(path);
-								}
-							}
-						}
-					}
-				}
-			}
-		}			
-		return (String[])paths.toArray(new String[paths.size()]);		
-	}
-	
-	/**
-	 * When a launch is removed, close all source archives. Prevents file
-	 * sharing violations.
-	 * 
-	 * @see ILaunchesListener#launchesRemoved(ILaunch[])
-	 */
-	public void launchesRemoved(ILaunch[] launches) {
-		ArchiveSourceLocation.closeArchives();
-	}
-	
-	/**
-	 * @see ILaunchesListener#launchesAdded(ILaunch[])
-	 */
-	public void launchesAdded(ILaunch[] launches) {
-	}
-	
-	/**
-	 * @see ILaunchesListener#launchesChanged(ILaunch[])
-	 */
-	public void launchesChanged(ILaunch[] launches) {
-	}
-	
-	/**
-	 * When a debug target or process terminates, close source arhives.
-	 * Prevents file sharing violations.
-	 * 
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.TERMINATE) {
-				Object source = event.getSource();
-				if (source instanceof IDebugTarget || source instanceof IProcess) {
-					ArchiveSourceLocation.closeArchives();
-				}
-			}
-		}
-	}
-}
-
- 
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LibraryInfo.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LibraryInfo.java
deleted file mode 100644
index 449357f..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/LibraryInfo.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-/**
- * Stores the boot path and extension directories associated with a VM.
- */
-public class LibraryInfo {
-
-	private String fVersion;
-	private String[] fBootpath;
-	private String[] fExtensionDirs;
-	private String[] fEndorsedDirs;
-	
-	public LibraryInfo(String version, String[] bootpath, String[] extDirs, String[] endDirs) {
-		fVersion = version;
-		fBootpath = bootpath;
-		fExtensionDirs = extDirs;
-		fEndorsedDirs = endDirs;
-	}
-	
-	/**
-	 * Returns the version of this VM install.
-	 * 
-	 * @return version
-	 */
-	public String getVersion() {
-		return fVersion; 
-	}
-	
-	/**
-	 * Returns a collection of extension directory paths for this VM install.
-	 * 
-	 * @return a collection of absolute paths
-	 */
-	public String[] getExtensionDirs() {
-		return fExtensionDirs;
-	}
-	
-	/**
-	 * Returns a collection of bootpath entries for this VM install.
-	 * 
-	 * @return a collection of absolute paths
-	 */
-	public String[] getBootpath() {
-		return fBootpath;
-	}
-	
-	/**
-	 * Returns a collection of endorsed directory paths for this VM install.
-	 * 
-	 * @return a collection of absolute paths
-	 */
-	public String[] getEndorsedDirs() {
-		return fEndorsedDirs;
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/ListenerList.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/ListenerList.java
deleted file mode 100644
index b776bce..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/ListenerList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-/**
- * Local version of org.eclipse.jface.util.ListenerList (modified)s
- */
-public class ListenerList {
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= fSize <= listeners.length.
-	 */
-	private int fSize;
-
-	/**
-	 * The list of listeners.  Initially <code>null</code> but initialized
-	 * to an array of size capacity the first time a listener is added.
-	 * Maintains invariant: listeners != null if and only if fSize != 0
-	 */
-	private Object[] fListeners= null;
-
-	/**
-	 * The empty array singleton instance, returned by getListeners()
-	 * when size == 0.
-	 */
-	private static final Object[] EmptyArray= new Object[0];
-
-	/**
-	 * Creates a listener list with the given initial capacity.
-	 *
-	 * @param capacity the number of listeners which this list can initially accept 
-	 *    without growing its internal representation; must be at least 1
-	 */
-	public ListenerList(int capacity) {
-		if (capacity < 1) {
-			throw new IllegalArgumentException();
-		}
-		fListeners= new Object[capacity];
-		fSize= 0;
-	}
-
-	/**
-	 * Adds a listener to the list.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void add(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-		// check for duplicates using identity
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				return;
-			}
-		}
-		// grow array if necessary
-		if (fSize == fListeners.length) {
-			Object[] temp= new Object[(fSize * 2) + 1];
-			System.arraycopy(fListeners, 0, temp, 0, fSize);
-			fListeners= temp;
-		}
-		fListeners[fSize++]= listener;
-	}
-
-	/**
-	 * Returns an array containing all the registered listeners.
-	 * The resulting array is unaffected by subsequent adds or removes.
-	 * If there are no listeners registered, the result is an empty array
-	 * singleton instance (no garbage is created).
-	 * Use this method when notifying listeners, so that any modifications
-	 * to the listener list during the notification will have no effect on the
-	 * notification itself.
-	 */
-	public synchronized Object[] getListeners() {
-		if (fSize == 0) {
-			return EmptyArray;
-		}
-		Object[] result= new Object[fSize];
-		System.arraycopy(fListeners, 0, result, 0, fSize);
-		return result;
-	}
-
-	/**
-	 * Removes a listener from the list.
-	 * Has no effect if an identical listener was not already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void remove(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				if (--fSize == 0) {
-					fListeners= new Object[1];
-				} else {
-					if (i < fSize) {
-						fListeners[i]= fListeners[fSize];
-					}
-					fListeners[fSize]= null;
-				}
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Removes all the listeners from the list.
-	 */
-	public void removeAll() {
-		fListeners= new Object[0];
-		fSize= 0;
-	}
-
-	/**
-	 * Returns the number of registered listeners
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return fSize;
-	}
-}
-
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntry.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntry.java
deleted file mode 100644
index e215abe..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntry.java
+++ /dev/null
@@ -1,572 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xerces.dom.DocumentImpl;
-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.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * An entry on the runtime classpath that the user can manipulate
- * and share in a launch configuration.
- * 
- * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry
- * @since 2.0
- */
-public class RuntimeClasspathEntry implements IRuntimeClasspathEntry {
-
-	/**
-	 * This entry's type - must be set on creation.
-	 */
-	private int fType = -1;
-	
-	/**
-	 * This entry's classpath property.
-	 */
-	private int fClasspathProperty = -1;
-	
-	/**
-	 * This entry's associated build path entry.
-	 */
-	private IClasspathEntry fClasspathEntry = null;
-	
-	/**
-	 * The entry's resolved entry (lazily initialized)
-	 */
-	private IClasspathEntry fResolvedEntry = null;
-	
-	/**
-	 * Documet builder is cached for efficiency
-	 */
-	private static DocumentBuilder fgParser = null;
-	
-	/**
-	 * Constructs a new runtime classpath entry based on the
-	 * (build) classpath entry.
-	 * 
-	 * @param entry the associated classpath entry
-	 */
-	public RuntimeClasspathEntry(IClasspathEntry entry) {
-		switch (entry.getEntryKind()) {
-			case IClasspathEntry.CPE_PROJECT:
-				setType(PROJECT);
-				break;
-			case IClasspathEntry.CPE_LIBRARY:
-				setType(ARCHIVE);
-				break;
-			case IClasspathEntry.CPE_VARIABLE:
-				setType(VARIABLE);
-				break;
-			default:
-				throw new IllegalArgumentException(MessageFormat.format(LaunchingMessages.getString("RuntimeClasspathEntry.Illegal_classpath_entry_{0}_1"), new String[] {entry.toString()})); //$NON-NLS-1$
-		}
-		setClasspathEntry(entry);
-		initializeClasspathProperty();
-	}
-	
-	/**
-	 * Constructs a new container entry in the context of the given project
-	 * 
-	 * @param entry classpath entry
-	 * @param classpathProperty this entry's classpath property
-	 * @exception CoreException if unable to resolve the given entry
-	 */
-	public RuntimeClasspathEntry(IClasspathEntry entry, int classpathProperty) throws CoreException {
-		switch (entry.getEntryKind()) {
-			case IClasspathEntry.CPE_CONTAINER:
-				setType(CONTAINER);
-				break;
-			default:
-				throw new IllegalArgumentException(MessageFormat.format(LaunchingMessages.getString("RuntimeClasspathEntry.Illegal_classpath_entry_{0}_1"), new String[] {entry.toString()})); //$NON-NLS-1$
-		}
-		setClasspathEntry(entry);
-		setClasspathProperty(classpathProperty);
-	}
-	
-	/**
-	 * Reconstructs a runtime classpath entry from the given
-	 * memento.
-	 * 
-	 * @param memento a memento created by this class
-	 * @exception CoreException if unable to restore from the given memento
-	 */
-	public RuntimeClasspathEntry(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser = getParser();
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-												
-			try {
-				setType(Integer.parseInt(root.getAttribute("type"))); //$NON-NLS-1$
-			} catch (NumberFormatException e) {
-				abort(LaunchingMessages.getString("RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_type_2"), e); //$NON-NLS-1$
-			}
-			try {
-				setClasspathProperty(Integer.parseInt(root.getAttribute("path"))); //$NON-NLS-1$
-			} catch (NumberFormatException e) {
-				abort(LaunchingMessages.getString("RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_location_3"), e); //$NON-NLS-1$
-			}			
-
-			// source attachment
-			IPath sourcePath = null;
-			IPath rootPath = null;
-			String path = root.getAttribute("sourceAttachmentPath"); //$NON-NLS-1$
-			if (path != null && path.length() > 0) {
-				sourcePath = new Path(path);
-			}
-			path = root.getAttribute("sourceRootPath"); //$NON-NLS-1$
-			if (path != null && path.length() > 0) {
-				rootPath = new Path(path);
-			}			
-
-			switch (getType()) {
-				case PROJECT :
-					String name = root.getAttribute("projectName"); //$NON-NLS-1$
-					if (isEmpty(name)) {
-						abort(LaunchingMessages.getString("RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_missing_project_name_4"), null); //$NON-NLS-1$
-					} else {
-						IProject proj = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-						setClasspathEntry(JavaCore.newProjectEntry(proj.getFullPath()));
-					}
-					break;
-				case ARCHIVE :
-					path = root.getAttribute("externalArchive"); //$NON-NLS-1$
-					if (isEmpty(path)) {
-						// internal
-						path = root.getAttribute("internalArchive"); //$NON-NLS-1$
-						if (isEmpty(path)) {
-							abort(LaunchingMessages.getString("RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_missing_archive_path_5"), null); //$NON-NLS-1$
-						} else {
-							setClasspathEntry(JavaCore.newLibraryEntry(new Path(path), sourcePath, rootPath));
-						}
-					} else {
-						// external
-						setClasspathEntry(JavaCore.newLibraryEntry(new Path(path), sourcePath, rootPath));
-					}
-					break;
-				case VARIABLE :
-					String var = root.getAttribute("containerPath"); //$NON-NLS-1$
-					if (isEmpty(var)) {
-						abort(LaunchingMessages.getString("RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_missing_variable_name_6"), null); //$NON-NLS-1$
-					} else {
-						setClasspathEntry(JavaCore.newVariableEntry(new Path(var), sourcePath, rootPath));
-					}
-					break;
-				case CONTAINER :
-					var = root.getAttribute("containerPath"); //$NON-NLS-1$
-					if (isEmpty(var)) {
-						abort(LaunchingMessages.getString("RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_missing_variable_name_6"), null); //$NON-NLS-1$
-					} else {
-						setClasspathEntry(JavaCore.newContainerEntry(new Path(var)));
-					}
-					break;
-			}	
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		abort(LaunchingMessages.getString("RuntimeClasspathEntry.Unable_to_recover_runtime_class_path_entry_-_parsing_error_8"), ex);	 //$NON-NLS-1$
-	}
-	
-	private static DocumentBuilder getParser() throws ParserConfigurationException, FactoryConfigurationError {
-		if (fgParser == null) {
-			fgParser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		}
-		return fgParser;
-	}
-	
-	/**
-	 * Throws an internal error exception
-	 */
-	protected void abort(String message, Throwable e)	throws CoreException {
-		IStatus s = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, message, e);
-		throw new CoreException(s);		
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getType()
-	 */
-	public int getType() {
-		return fType;
-	}
-
-	/**
-	 * Sets this entry's type
-	 * 
-	 * @param type this entry's type
-	 */
-	private void setType(int type) {
-		fType = type;
-	}
-
-	/**
-	 * Sets the classpath entry associated with this runtime classpath entry.
-	 * Clears the cache of the resolved entry.
-	 *
-	 * @param entry the classpath entry associated with this runtime classpath entry
-	 */
-	private void setClasspathEntry(IClasspathEntry entry) {
-		fClasspathEntry = entry;
-		fResolvedEntry = null;
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getClasspathEntry()
-	 */
-	public IClasspathEntry getClasspathEntry() {
-		return fClasspathEntry;
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		
-		Document doc = new DocumentImpl();
-		Element node = doc.createElement("runtimeClasspathEntry"); //$NON-NLS-1$
-		doc.appendChild(node);
-		node.setAttribute("type", (new Integer(getType())).toString()); //$NON-NLS-1$
-		node.setAttribute("path", (new Integer(getClasspathProperty())).toString()); //$NON-NLS-1$
-		switch (getType()) {
-			case PROJECT :
-				node.setAttribute("projectName", getPath().lastSegment()); //$NON-NLS-1$
-				break;
-			case ARCHIVE :
-				IResource res = getResource();
-				if (res == null) {
-					node.setAttribute("externalArchive", getPath().toString()); //$NON-NLS-1$
-				} else {
-					node.setAttribute("internalArchive", res.getFullPath().toString()); //$NON-NLS-1$
-				}
-				break;
-			case VARIABLE :
-			case CONTAINER :
-				node.setAttribute("containerPath", getPath().toString()); //$NON-NLS-1$
-				break;
-		}		
-		if (getSourceAttachmentPath() != null) {
-			node.setAttribute("sourceAttachmentPath", getSourceAttachmentPath().toString()); //$NON-NLS-1$
-		}
-		if (getSourceAttachmentRootPath() != null) {
-			node.setAttribute("sourceRootPath", getSourceAttachmentRootPath().toString()); //$NON-NLS-1$
-		}
-		
-		try {
-			return JavaLaunchConfigurationUtils.serializeDocument(doc);
-		} catch (IOException e) {
-			IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, LaunchingMessages.getString("RuntimeClasspathEntry.An_exception_occurred_generating_runtime_classpath_memento_8"), e); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getPath()
-	 */
-	public IPath getPath() {
-		return getClasspathEntry().getPath();
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getResource()
-	 */
-	public IResource getResource() {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		switch (getType()) {
-			case CONTAINER:
-			case VARIABLE:
-				return null;
-			default:
-				return root.findMember(getPath());
-		}
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getSourceAttachmentPath()
-	 */
-	public IPath getSourceAttachmentPath() {
-		return getClasspathEntry().getSourceAttachmentPath();
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#setSourceAttachmentPath(IPath)
-	 */
-	public void setSourceAttachmentPath(IPath path) {
-		updateClasspathEntry(getPath(), path, getSourceAttachmentRootPath());
-	}
-	
-	/**
-	 * @see IRuntimeClasspathEntry#getSourceAttachmentRootPath()
-	 */
-	public IPath getSourceAttachmentRootPath() {
-		IPath path = getClasspathEntry().getSourceAttachmentRootPath();
-		if (path == null && getSourceAttachmentPath() != null) {
-			return Path.EMPTY;
-		} else {
-			return path;
-		}
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#setSourceAttachmentPath(IPath)
-	 */
-	public void setSourceAttachmentRootPath(IPath path) {
-		updateClasspathEntry(getPath(), getSourceAttachmentPath(), path);		
-	}
-	
-	/**
-	 * Initlaizes the classpath property based on this entry's type.
-	 */
-	private void initializeClasspathProperty() {
-		switch (getType()) {
-			case VARIABLE:
-				if (getVariableName().equals(JavaRuntime.JRELIB_VARIABLE)) {
-					setClasspathProperty(STANDARD_CLASSES);
-				} else {
-					setClasspathProperty(USER_CLASSES);
-				}
-				break;
-			case PROJECT:
-			case ARCHIVE:
-				setClasspathProperty(USER_CLASSES);
-				break;
-			default:
-				break;
-		}
-	}
-	
-	
-	/**
-	 * @see IRuntimeClasspathEntry#setClasspathProperty(int)
-	 */
-	public void setClasspathProperty(int location) {
-		fClasspathProperty = location;
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#setClasspathProperty(int)
-	 */
-	public int getClasspathProperty() {
-		return fClasspathProperty;
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getLocation()
-	 */
-	public String getLocation() {
-
-		IPath path = null;
-		switch (getType()) {
-			case PROJECT :
-				IJavaProject pro = (IJavaProject) JavaCore.create(getResource());
-				if (pro != null) {
-					try {
-						path = pro.getOutputLocation();
-					} catch (JavaModelException e) {
-						LaunchingPlugin.log(e);
-					}
-				}
-				break;
-			case ARCHIVE :
-				path = getPath();
-				break;
-			case VARIABLE :
-				IClasspathEntry resolved = getResolvedClasspathEntry();
-				if (resolved != null) {
-					path = resolved.getPath();
-				}
-				break;
-			case CONTAINER :
-				break;
-		}
-		return resolveToOSPath(path);
-	}
-	
-	/**
-	 * Returns the OS path for the given aboslute or workspace relative path
-	 */
-	protected String resolveToOSPath(IPath path) {
-		if (path != null) {
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			IResource res = root.findMember(path);
-			if (res == null) {
-				return path.toOSString();
-			} else {
-				return res.getLocation().toOSString();
-			}
-		}
-		return null;		
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getVariableName()
-	 */
-	public String getVariableName() {
-		if (getType() == IRuntimeClasspathEntry.VARIABLE || getType() == IRuntimeClasspathEntry.CONTAINER) {
-			return getPath().segment(0);
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IRuntimeClasspathEntry) {
-			IRuntimeClasspathEntry r = (IRuntimeClasspathEntry)obj;
-			if (getType() == r.getType() && getClasspathProperty() == r.getClasspathProperty()) {
-				if (getType() == IRuntimeClasspathEntry.CONTAINER) {
-					// containers are equal if their ID is equal
-					return getPath().equals(r.getPath());
-				} else if (getPath().equals(r.getPath())) {
-					IPath sa1 = getSourceAttachmentPath();
-					IPath root1 = getSourceAttachmentRootPath();
-					IPath sa2 = r.getSourceAttachmentPath();
-					IPath root2 = r.getSourceAttachmentRootPath();
-					return equal(sa1, sa2) && equal(root1, root2);
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Returns whether the given objects are equal, accounting for null
-	 */
-	protected boolean equal(Object one, Object two) {
-		if (one == null) {
-			return two == null;
-		} else {
-			return one.equals(two);
-		}
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		if (getType() == CONTAINER) {
-			return getPath().segment(0).hashCode() + getType();
-		} else {
-			return getPath().hashCode() + getType();
-		}
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getSourceAttachmentLocation()
-	 */
-	public String getSourceAttachmentLocation() {
-		IPath path = null;
-		switch (getType()) {
-			case VARIABLE :
-			case ARCHIVE :
-				IClasspathEntry resolved = getResolvedClasspathEntry();
-				if (resolved != null) {
-					path = resolved.getSourceAttachmentPath();
-				}
-				break;
-			default :
-				break;
-		}
-		return resolveToOSPath(path);
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntry#getSourceAttachmentRootLocation()
-	 */
-	public String getSourceAttachmentRootLocation() {
-		IPath path = null;
-		switch (getType()) {
-			case VARIABLE :
-			case ARCHIVE :
-				IClasspathEntry resolved = getResolvedClasspathEntry();
-				if (resolved != null) {
-					path = resolved.getSourceAttachmentRootPath();
-				}
-				break;
-			default :
-				break;
-		}
-		if (path != null) {
-			return path.toOSString();
-		}
-		return null;
-	}
-
-	/**
-	 * Creates a new underlying classpath entry for this runtime classpath entry
-	 * with the given paths, due to a change in source attachment.
-	 */
-	protected void updateClasspathEntry(IPath path, IPath sourcePath, IPath rootPath) {
-		IClasspathEntry entry = null;
-		switch (getType()) {
-			case ARCHIVE:
-				entry = JavaCore.newLibraryEntry(path, sourcePath, rootPath);
-				break;
-			case VARIABLE:
-				entry = JavaCore.newVariableEntry(path, sourcePath, rootPath);
-				break;
-			default:
-				return;
-		}		
-		setClasspathEntry(entry);		
-	}
-	
-	/**
-	 * Returns the resolved classpath entry associated with this runtime
-	 * entry, resolving if required.
-	 */
-	protected IClasspathEntry getResolvedClasspathEntry() {
-		if (fResolvedEntry == null) {
-			fResolvedEntry = JavaCore.getResolvedClasspathEntry(getClasspathEntry());
-		}
-		return fResolvedEntry;
-	}
-		
-	protected boolean isEmpty(String string) {
-		return string == null || string.length() == 0;
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntryListComparator.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntryListComparator.java
deleted file mode 100644
index 14e9f42..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntryListComparator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.util.Comparator;
-import java.util.List;
-
-/**
- * Compares lists of runtime classpath entry mementos
- */
-public class RuntimeClasspathEntryListComparator implements Comparator {
-
-	/**
-	 * @see Comparator#compare(Object, Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		List list1 = (List)o1;
-		List list2 = (List)o2;
-		
-		if (list1.size() == list2.size()) {
-			for (int i = 0; i < list1.size(); i++) {
-				String memento1 = (String)list1.get(i);
-				String memento2 = (String)list2.get(i);
-				if (!equalsIgnoreWhitespace(memento1, memento2)) {
-					return -1;
-				}
-			}
-			return 0;
-		}
-		return -1;
-	}
-	
-	protected boolean equalsIgnoreWhitespace(String one, String two) {
-		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 true;
-			}
-			if (ch1 != ch2) {
-				return false;
-			}			
-			i1++;
-			i2++;
-		}
-		return true;
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntryResolver.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntryResolver.java
deleted file mode 100644
index ddb702a..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathEntryResolver.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver;
-import org.eclipse.jdt.launching.IVMInstall;
-
-/**
- * Proxy to a runtime classpath entry resolver extension.
- */
-public class RuntimeClasspathEntryResolver implements IRuntimeClasspathEntryResolver {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	private IRuntimeClasspathEntryResolver fDelegate;
-	
-	/**
-	 * Constructs a new resolver on the given configuration element
-	 */
-	public RuntimeClasspathEntryResolver(IConfigurationElement element) {
-		fConfigurationElement = element;
-	}
-	
-	/**
-	 * @see IRuntimeClasspathEntryResolver#resolveRuntimeClasspathEntry(IRuntimeClasspathEntry, ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, ILaunchConfiguration configuration) throws CoreException {
-		return getResolver().resolveRuntimeClasspathEntry(entry, configuration);
-	}
-	
-	/**
-	 * Returns the resolver delegate (and creates if required) 
-	 */
-	protected IRuntimeClasspathEntryResolver getResolver() throws CoreException {
-		if (fDelegate == null) {
-			fDelegate = (IRuntimeClasspathEntryResolver)fConfigurationElement.createExecutableExtension("class"); //$NON-NLS-1$
-		}
-		return fDelegate;
-	}
-	
-	/**
-	 * Returns the variable name this resolver is registered for, or <code>null</code>
-	 */
-	public String getVariableName() {
-		return fConfigurationElement.getAttribute("variable"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the container id this resolver is registered for, or <code>null</code>
-	 */
-	public String getContainerId() {
-		return fConfigurationElement.getAttribute("container"); //$NON-NLS-1$
-	}	
-
-	/**
-	 * @see IRuntimeClasspathEntryResolver#resolveVMInstall(IClasspathEntry)
-	 */
-	public IVMInstall resolveVMInstall(IClasspathEntry entry) throws CoreException {
-		return getResolver().resolveVMInstall(entry);
-	}
-
-	/**
-	 * @see IRuntimeClasspathEntryResolver#resolveRuntimeClasspathEntry(IRuntimeClasspathEntry, IJavaProject)
-	 */
-	public IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, IJavaProject project) throws CoreException {
-		return getResolver().resolveRuntimeClasspathEntry(entry, project);
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathProvider.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathProvider.java
deleted file mode 100644
index 16dc865..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/RuntimeClasspathProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IRuntimeClasspathProvider;
-
-/**
- * Proxy to a runtime classpath provider extension.
- */
-public class RuntimeClasspathProvider implements IRuntimeClasspathProvider {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	private IRuntimeClasspathProvider fDelegate;
-	
-	/**
-	 * Constructs a new resolver on the given configuration element
-	 */
-	public RuntimeClasspathProvider(IConfigurationElement element) {
-		fConfigurationElement = element;
-	}
-		
-	/**
-	 * Returns the resolver delegate (and creates if required) 
-	 */
-	protected IRuntimeClasspathProvider getProvider() throws CoreException {
-		if (fDelegate == null) {
-			fDelegate = (IRuntimeClasspathProvider)fConfigurationElement.createExecutableExtension("class"); //$NON-NLS-1$
-		}
-		return fDelegate;
-	}
-	
-	public String getIdentifier() {
-		return fConfigurationElement.getAttribute("id"); //$NON-NLS-1$
-	}
-	/**
-	 * @see IRuntimeClasspathProvider#computeUnresolvedClasspath(ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] computeUnresolvedClasspath(ILaunchConfiguration configuration) throws CoreException {
-		return getProvider().computeUnresolvedClasspath(configuration);
-	}
-
-	/**
-	 * @see IRuntimeClasspathProvider#resolveClasspath(IRuntimeClasspathEntry[], ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] resolveClasspath(IRuntimeClasspathEntry[] entries, ILaunchConfiguration configuration) throws CoreException {
-		return getProvider().resolveClasspath(entries, configuration);
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/SocketAttachConnector.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/SocketAttachConnector.java
deleted file mode 100644
index 4815597..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/SocketAttachConnector.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.IOException;
-import java.net.ConnectException;
-import java.net.UnknownHostException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.jdi.Bootstrap;
-import org.eclipse.jdi.TimeoutException;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMConnector;
-
-import com.sun.jdi.VMDisconnectedException;
-import com.sun.jdi.VirtualMachine;
-import com.sun.jdi.connect.AttachingConnector;
-import com.sun.jdi.connect.Connector;
-import com.sun.jdi.connect.IllegalConnectorArgumentsException;
-
-/**
- * A standard socket attaching connector
- */
-public class SocketAttachConnector implements IVMConnector {
-		
-	/**
-	 * Return the socket transport attaching connector
-	 * 
-	 * @exception CoreException if unable to locate the connector
-	 */
-	protected static AttachingConnector getAttachingConnector() throws CoreException {
-		AttachingConnector connector= null;
-		Iterator iter= Bootstrap.virtualMachineManager().attachingConnectors().iterator();
-		while (iter.hasNext()) {
-			AttachingConnector lc= (AttachingConnector) iter.next();
-			if (lc.name().equals("com.sun.jdi.SocketAttach")) { //$NON-NLS-1$
-				connector= lc;
-				break;
-			}
-		}
-		if (connector == null) {
-			abort(LaunchingMessages.getString("SocketAttachConnector.Socket_attaching_connector_not_available_3"), null, IJavaLaunchConfigurationConstants.ERR_SHARED_MEMORY_CONNECTOR_UNAVAILABLE); //$NON-NLS-1$
-		}
-		return connector;
-	}
-
-	/**
-	 * @see IVMConnector#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return IJavaLaunchConfigurationConstants.ID_SOCKET_ATTACH_VM_CONNECTOR;
-	}
-
-	/**
-	 * @see IVMConnector#getName()
-	 */
-	public String getName() {
-		return LaunchingMessages.getString("SocketAttachConnector.Standard_(Socket_Attach)_4"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * 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, LaunchingPlugin.getUniqueIdentifier(), code, message, exception));
-	}		
-
-	/**
-	 * @see IVMConnector#connect(Map, IProgressMonitor)
-	 */
-	public void connect(Map arguments, IProgressMonitor monitor, ILaunch launch) throws CoreException {
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		
-		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
-		subMonitor.beginTask(LaunchingMessages.getString("SocketAttachConnector.Connecting..._1"), 2); //$NON-NLS-1$
-		subMonitor.subTask(LaunchingMessages.getString("SocketAttachConnector.Configuring_connection..._1")); //$NON-NLS-1$
-		
-		AttachingConnector connector= getAttachingConnector();
-		String portNumberString = (String)arguments.get("port"); //$NON-NLS-1$
-		if (portNumberString == null) {
-			abort(LaunchingMessages.getString("SocketAttachConnector.Port_unspecified_for_remote_connection._2"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_PORT); //$NON-NLS-1$
-		}
-		String host = (String)arguments.get("hostname"); //$NON-NLS-1$
-		if (host == null) {
-			abort(LaunchingMessages.getString("SocketAttachConnector.Hostname_unspecified_for_remote_connection._4"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_HOSTNAME); //$NON-NLS-1$
-		}
-		Map map= connector.defaultArguments();
-		Connector.Argument param= (Connector.Argument) map.get("hostname"); //$NON-NLS-1$
-		param.setValue(host);
-		param= (Connector.Argument) map.get("port"); //$NON-NLS-1$
-		param.setValue(portNumberString);
-		ILaunchConfiguration configuration = launch.getLaunchConfiguration();
-		boolean allowTerminate = false;
-		if (configuration != null) {
-			allowTerminate = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_ALLOW_TERMINATE, false);
-		}
-		subMonitor.worked(1);
-		subMonitor.subTask(LaunchingMessages.getString("SocketAttachConnector.Establishing_connection..._2")); //$NON-NLS-1$
-		try {
-			VirtualMachine vm = connector.attach(map);
-			String vmLabel = constructVMLabel(vm, host, portNumberString, configuration);
-			IDebugTarget debugTarget= JDIDebugModel.newDebugTarget(launch, vm, vmLabel, null, allowTerminate, true);
-			launch.addDebugTarget(debugTarget);
-			subMonitor.worked(1);
-			subMonitor.done();
-		} catch (UnknownHostException e) {
-			abort(MessageFormat.format(LaunchingMessages.getString("SocketAttachConnector.Failed_to_connect_to_remote_VM_because_of_unknown_host___{0}__1"), new String[]{host}), e, IJavaLaunchConfigurationConstants.ERR_REMOTE_VM_CONNECTION_FAILED); //$NON-NLS-1$
-		} catch (ConnectException e) {
-			abort(LaunchingMessages.getString("SocketAttachConnector.Failed_to_connect_to_remote_VM_as_connection_was_refused_2"), e, IJavaLaunchConfigurationConstants.ERR_REMOTE_VM_CONNECTION_FAILED); //$NON-NLS-1$
-		} catch (IOException e) {
-			abort(LaunchingMessages.getString("SocketAttachConnector.Failed_to_connect_to_remote_VM_1"), e, IJavaLaunchConfigurationConstants.ERR_REMOTE_VM_CONNECTION_FAILED); //$NON-NLS-1$
-		} catch (IllegalConnectorArgumentsException e) {
-			abort(LaunchingMessages.getString("SocketAttachConnector.Failed_to_connect_to_remote_VM_1"), e, IJavaLaunchConfigurationConstants.ERR_REMOTE_VM_CONNECTION_FAILED); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Helper method that constructs a human-readable label for a remote VM.
-	 */
-	protected String constructVMLabel(VirtualMachine vm, String host, String port, ILaunchConfiguration configuration) {
-		String name = null;
-		try {
-			name = vm.name();
-		} catch (TimeoutException e) {
-			// do nothing
-		} catch (VMDisconnectedException e) {
-			// do nothing
-		}
-		if (name == null) {
-			if (configuration == null) {
-				name = ""; //$NON-NLS-1$
-			} else {
-				name = configuration.getName();
-			}
-		}
-		StringBuffer buffer = new StringBuffer(name);
-		buffer.append('['); //$NON-NLS-1$
-		buffer.append(host);
-		buffer.append(':'); //$NON-NLS-1$
-		buffer.append(port);
-		buffer.append(']'); //$NON-NLS-1$
-		return buffer.toString();
-	}
-		
-
-	/**
-	 * @see IVMConnector#getDefaultArguments()
-	 */
-	public Map getDefaultArguments() throws CoreException {
-		Map def = getAttachingConnector().defaultArguments();
-		Connector.IntegerArgument arg = (Connector.IntegerArgument)def.get("port"); //$NON-NLS-1$
-		arg.setValue(8000);
-		return def;
-	}
-
-	/**
-	 * @see IVMConnector#getArgumentOrder()
-	 */
-	public List getArgumentOrder() {
-		List list = new ArrayList(2);
-		list.add("hostname"); //$NON-NLS-1$
-		list.add("port"); //$NON-NLS-1$
-		return list;
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVM.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVM.java
deleted file mode 100644
index 702e019..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVM.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.IVMRunner;
-
-/**
- * A 1.1.x VM
- */
-public class Standard11xVM extends StandardVM {
-
-	public Standard11xVM(IVMInstallType type, String id) {
-		super(type, id);
-	}
-
-
-	/**
-	 * @see org.eclipse.jdt.launching.IVMInstall#getVMRunner(String)
-	 */
-	public IVMRunner getVMRunner(String mode) {
-		if (ILaunchManager.RUN_MODE.equals(mode)) {
-			return new Standard11xVMRunner(this);
-		}
-		return null;
-	}
-
-
-}
-
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMRunner.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMRunner.java
deleted file mode 100644
index fc745ee..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMRunner.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-/**
- * A 1.1.x VM runner
- */
-public class Standard11xVMRunner extends StandardVMRunner {
-
-	public Standard11xVMRunner(IVMInstall vmInstance) {
-		super(vmInstance);
-	}
-
-	/**
-	 * @see IVMRunner#run(VMRunnerConfiguration, ILaunch, IProgressMonitor)
-	 */
-	public void run(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		
-		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
-		subMonitor.beginTask(LaunchingMessages.getString("StandardVMRunner.Launching_VM..._1"), 2); //$NON-NLS-1$
-		subMonitor.subTask(LaunchingMessages.getString("StandardVMRunner.Constructing_command_line..._2")); //$NON-NLS-1$		
-		
-		String program= constructProgramString(config);
-		
-		List arguments= new ArrayList();
-		arguments.add(program);
-				
-		// VM args are the first thing after the java program so that users can specify
-		// options like '-client' & '-server' which are required to be the first option
-		String[] vmArgs= config.getVMArguments();
-		addArguments(vmArgs, arguments);
-				
-		String[] bootCP= config.getBootClassPath();		
-		String[] classPath = config.getClassPath();
-		
-		String[] combinedPath = null;
-		if (bootCP == null) {
-			LibraryLocation[] locs = JavaRuntime.getLibraryLocations(fVMInstance);
-			bootCP = new String[locs.length];
-			for (int i = 0; i < locs.length; i++) {
-				bootCP[i] = locs[i].getSystemLibraryPath().toOSString();
-			}
-		}
-
-		combinedPath = new String[bootCP.length + classPath.length];
-		int offset = 0;
-		for (int i = 0; i < bootCP.length; i++) {
-			combinedPath[offset] = bootCP[i];
-			offset++;
-		}
-		for (int i = 0; i < classPath.length; i++) {
-			combinedPath[offset] = classPath[i];
-			offset++;
-		}
-		
-		if (combinedPath.length > 0) {
-			arguments.add("-classpath"); //$NON-NLS-1$
-			arguments.add(convertClassPath(combinedPath));
-		}
-		arguments.add(config.getClassToLaunch());
-		
-		String[] programArgs= config.getProgramArguments();
-		addArguments(programArgs, arguments);
-				
-		String[] cmdLine= new String[arguments.size()];
-		arguments.toArray(cmdLine);
-
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		subMonitor.worked(1);
-		subMonitor.subTask(LaunchingMessages.getString("StandardVMRunner.Starting_virtual_machine..._3")); //$NON-NLS-1$
-		
-		Process p= null;
-		File workingDir = getWorkingDir(config);
-		p= exec(cmdLine, workingDir);
-		if (p == null) {
-			return;
-		}
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			p.destroy();
-			return;
-		}		
-		
-		IProcess process= DebugPlugin.newProcess(launch, p, renderProcessLabel(cmdLine));
-		process.setAttribute(IProcess.ATTR_CMDLINE, renderCommandLine(cmdLine));
-		subMonitor.worked(1);
-	}
-}
-
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMType.java
deleted file mode 100644
index 55c7896..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/Standard11xVMType.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.LibraryLocation;
-
-/**
- * A VM install type for VMs the conform to the 1.1.x standard
- * JDK installion layout, and command line options.
- */
-public class Standard11xVMType extends StandardVMType {
-		
-	/**
-	 * @see org.eclipse.jdt.internal.launching.StandardVMType#getDefaultSystemLibrary(java.io.File)
-	 */
-	protected IPath getDefaultSystemLibrary(File installLocation) {
-		return new Path(installLocation.getPath()).append("lib").append("classes.zip"); //$NON-NLS-2$ //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jdt.launching.AbstractVMInstallType#doCreateVMInstall(java.lang.String)
-	 */
-	protected IVMInstall doCreateVMInstall(String id) {
-		return new Standard11xVM(this, id);
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.internal.launching.StandardVMType#getDefaultSystemLibrarySource(java.io.File)
-	 */
-	protected IPath getDefaultSystemLibrarySource(File installLocation) {
-		setDefaultRootPath(""); //$NON-NLS-1$
-		return Path.EMPTY;
-	}
-	
-	/**
-	 * @see IVMInstallType#getName()
-	 */
-	public String getName() {
-		return LaunchingMessages.getString("Standard11xVMType.Standard_1.1.x_VM_1"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * Returns <code>null</code> - not supported.
-	 * 
-	 * @see StandardVMType#getDefaultExtensionDirectory(File)
-	 */
-	protected File getDefaultExtensionDirectory(File installLocation) {
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.internal.launching.StandardVMType#getDefaultEndorsedDirectory(java.io.File)
-	 */
-	protected File getDefaultEndorsedDirectory(File installLocation) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.launching.IVMInstallType#getDefaultLibraryLocations(java.io.File)
-	 */
-	public LibraryLocation[] getDefaultLibraryLocations(File installLocation) {
-		IPath libPath = getDefaultSystemLibrary(installLocation);
-		File lib = libPath.toFile();
-		if (lib.exists()) {
-			return new LibraryLocation[] {new LibraryLocation(libPath, getDefaultSystemLibrarySource(installLocation), getDefaultPackageRootPath())};
-		}
-		return new LibraryLocation[0];
-	}
-
-	/**
-	 * Return <code>true</code> if the appropriate system libraries can be found for the
-	 * specified java executable, <code>false</code> otherwise.
-	 */
-	protected boolean canDetectDefaultSystemLibraries(File javaHome, File javaExecutable) {
-		LibraryLocation[] locations = getDefaultLibraryLocations(javaHome);
-		String version = getVMVersion(javaHome, javaExecutable);
-		return locations.length > 0 && version.startsWith("1.1"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVM.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVM.java
deleted file mode 100644
index 9817bcd..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVM.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.launching.AbstractVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.IVMRunner;
-
-public class StandardVM extends AbstractVMInstall {
-	StandardVM(IVMInstallType type, String id) {
-		super(type, id);
-	}
-	/**
-	 * @see IVM#getIVMRunner(String)
-	 */
-	public IVMRunner getVMRunner(String mode) {
-		if (ILaunchManager.RUN_MODE.equals(mode)) {
-			return new StandardVMRunner(this);
-		} else if (ILaunchManager.DEBUG_MODE.equals(mode)) {
-			return new StandardVMDebugger(this);
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMDebugger.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMDebugger.java
deleted file mode 100644
index 31d629c..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMDebugger.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-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.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdi.Bootstrap;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.SocketUtil;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-import com.sun.jdi.VirtualMachine;
-import com.sun.jdi.connect.Connector;
-import com.sun.jdi.connect.IllegalConnectorArgumentsException;
-import com.sun.jdi.connect.ListeningConnector;
-
-/**
- * A launcher for running Java main classes. Uses JDI to launch a vm in debug 
- * mode.
- */
-public class StandardVMDebugger extends StandardVMRunner {
-	
-	
-	/**
-	 * Used to attach to a VM in a seperate thread, to allow for cancellation
-	 * and detect that the associated System process died before the connect
-	 * occurred.
-	 */
-	class ConnectRunnable implements Runnable {
-		
-		private VirtualMachine fVirtualMachine = null;
-		private ListeningConnector fConnector = null;
-		private Map fConnectionMap = null;
-		private Exception fException = null;
-		
-		/**
-		 * Constructs a runnable to connect to a VM via the given connector
-		 * with the given connection arguments.
-		 * 
-		 * @param connector
-		 * @param map
-		 */
-		public ConnectRunnable(ListeningConnector connector, Map map) {
-			fConnector = connector;
-			fConnectionMap = map;
-		}
-		
-		public void run() {
-			try {
-				fVirtualMachine = fConnector.accept(fConnectionMap);
-			} catch (IOException e) {
-				fException = e;
-			} catch (IllegalConnectorArgumentsException e) {
-				fException = e;
-			}
-		}
-		
-		/**
-		 * Returns the VM that was attached to, or <code>null</code> if none.
-		 * 
-		 * @return the VM that was attached to, or <code>null</code> if none
-		 */
-		public VirtualMachine getVirtualMachine() {
-			return fVirtualMachine;
-		}
-		
-		/**
-		 * Returns any exception that occurred while attaching, or <code>null</code>.
-		 * 
-		 * @return IOException or IllegalConnectorArgumentsException
-		 */
-		public Exception getException() {
-			return fException;
-		}
-	}
-
-	/**
-	 * Creates a new launcher
-	 */
-	public StandardVMDebugger(IVMInstall vmInstance) {
-		super(vmInstance);
-	}
-
-	/**
-	 * @see IVMRunner#run(VMRunnerConfiguration, ILaunch, IProgressMonitor)
-	 */
-	public void run(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		
-		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
-		subMonitor.beginTask(LaunchingMessages.getString("StandardVMDebugger.Launching_VM..._1"), 4); //$NON-NLS-1$
-		subMonitor.subTask(LaunchingMessages.getString("StandardVMDebugger.Finding_free_socket..._2")); //$NON-NLS-1$
-
-		int port= SocketUtil.findUnusedLocalPort("", 5000, 15000); //$NON-NLS-1$
-		if (port == -1) {
-			abort(LaunchingMessages.getString("StandardVMDebugger.Could_not_find_a_free_socket_for_the_debugger_1"), null, IJavaLaunchConfigurationConstants.ERR_NO_SOCKET_AVAILABLE); //$NON-NLS-1$
-		}
-		
-		subMonitor.worked(1);
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		subMonitor.subTask(LaunchingMessages.getString("StandardVMDebugger.Constructing_command_line..._3")); //$NON-NLS-1$
-				
-		String program= constructProgramString(config);
-
-		List arguments= new ArrayList(12);
-
-		arguments.add(program);
-
-		// VM args are the first thing after the java program so that users can specify
-		// options like '-client' & '-server' which are required to be the first options
-		addArguments(config.getVMArguments(), arguments);
-
-		String[] bootCP= config.getBootClassPath();
-		if (bootCP != null) {
-			if (bootCP.length > 0) {
-				arguments.add("-Xbootclasspath:" + convertClassPath(bootCP)); //$NON-NLS-1$
-			} else {
-				// empty
-				arguments.add("-Xbootclasspath:"); //$NON-NLS-1$
-			}
-		}
-		
-		String[] cp= config.getClassPath();
-		if (cp.length > 0) {
-			arguments.add("-classpath"); //$NON-NLS-1$
-			arguments.add(convertClassPath(cp));
-		}
-		arguments.add("-Xdebug"); //$NON-NLS-1$
-		arguments.add("-Xnoagent"); //$NON-NLS-1$
-		arguments.add("-Djava.compiler=NONE"); //$NON-NLS-1$
-		arguments.add("-Xrunjdwp:transport=dt_socket,suspend=y,address=localhost:" + port); //$NON-NLS-1$
-
-		arguments.add(config.getClassToLaunch());
-		addArguments(config.getProgramArguments(), arguments);
-		String[] cmdLine= new String[arguments.size()];
-		arguments.toArray(cmdLine);
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		subMonitor.worked(1);
-		subMonitor.subTask(LaunchingMessages.getString("StandardVMDebugger.Starting_virtual_machine..._4")); //$NON-NLS-1$
-
-		ListeningConnector connector= getConnector();
-		if (connector == null) {
-			abort(LaunchingMessages.getString("StandardVMDebugger.Couldn__t_find_an_appropriate_debug_connector_2"), null, IJavaLaunchConfigurationConstants.ERR_CONNECTOR_NOT_AVAILABLE); //$NON-NLS-1$
-		}
-		Map map= connector.defaultArguments();
-		
-		specifyArguments(map, port);
-		Process p= null;
-		try {
-			try {
-				// check for cancellation
-				if (monitor.isCanceled()) {
-					return;
-				}				
-				
-				connector.startListening(map);
-				
-				File workingDir = getWorkingDir(config);
-				p = exec(cmdLine, workingDir);				
-				if (p == null) {
-					return;
-				}
-				
-				// check for cancellation
-				if (monitor.isCanceled()) {
-					p.destroy();
-					return;
-				}				
-				
-				IProcess process= DebugPlugin.newProcess(launch, p, renderProcessLabel(cmdLine), getDefaultProcessMap());
-				process.setAttribute(IProcess.ATTR_CMDLINE, renderCommandLine(cmdLine));
-				subMonitor.worked(1);
-				subMonitor.subTask(LaunchingMessages.getString("StandardVMDebugger.Establishing_debug_connection..._5")); //$NON-NLS-1$
-				boolean retry= false;
-				do  {
-					try {
-						
-						ConnectRunnable runnable = new ConnectRunnable(connector, map);
-						Thread connectThread = new Thread(runnable, "Listening Connector"); //$NON-NLS-1$
-						connectThread.start();
-						while (connectThread.isAlive()) {
-							if (monitor.isCanceled()) {
-								connector.stopListening(map);
-								p.destroy();
-								return;
-							}
-							try {
-								p.exitValue();
-								// process has terminated - stop waiting for a connection
-								try {
-									connector.stopListening(map); 
-								} catch (IOException e) {
-									// expected
-								}
-								checkErrorMessage(process);
-							} catch (IllegalThreadStateException e) {
-								// expected while process is alive
-							}
-							try {
-								Thread.sleep(100);
-							} catch (InterruptedException e) {
-							}
-						}
-
-						Exception ex = runnable.getException();
-						if (ex instanceof IllegalConnectorArgumentsException)						 {
-							throw (IllegalConnectorArgumentsException)ex;
-						}
-						if (ex instanceof InterruptedIOException) {
-							throw (InterruptedIOException)ex;
-						}
-						if (ex instanceof IOException) {
-							throw (IOException)ex;
-						}
-						
-						VirtualMachine vm= runnable.getVirtualMachine();
-						JDIDebugModel.newDebugTarget(launch, vm, renderDebugTarget(config.getClassToLaunch(), port), process, true, false);
-						subMonitor.worked(1);
-						subMonitor.done();
-						return;
-					} catch (InterruptedIOException e) {
-						checkErrorMessage(process);
-						
-						// timeout, consult status handler if there is one
-						IStatus status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_VM_CONNECT_TIMEOUT, "", e); //$NON-NLS-1$
-						IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
-						
-						retry= false;
-						if (handler == null) {
-							// if there is no handler, throw the exception
-							throw new CoreException(status);
-						} else {
-							Object result = handler.handleStatus(status, this);
-							if (result instanceof Boolean) {
-								retry = ((Boolean)result).booleanValue();
-							}
-						} 
-					}
-				} while (retry);
-			} finally {
-				connector.stopListening(map);
-			}
-		} catch (IOException e) {
-			abort(LaunchingMessages.getString("StandardVMDebugger.Couldn__t_connect_to_VM_4"), e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  //$NON-NLS-1$
-		} catch (IllegalConnectorArgumentsException e) {
-			abort(LaunchingMessages.getString("StandardVMDebugger.Couldn__t_connect_to_VM_5"), e, IJavaLaunchConfigurationConstants.ERR_CONNECTION_FAILED);  //$NON-NLS-1$
-		}
-		if (p != null) {
-			p.destroy();
-		}
-	}
-	
-	protected void checkErrorMessage(IProcess process) throws CoreException {
-		String errorMessage= process.getStreamsProxy().getErrorStreamMonitor().getContents();
-		if (errorMessage.length() == 0) {
-			errorMessage= process.getStreamsProxy().getOutputStreamMonitor().getContents();
-		}
-		if (errorMessage.length() != 0) {
-			abort(errorMessage, null, IJavaLaunchConfigurationConstants.ERR_VM_LAUNCH_ERROR);
-		}										
-	}
-		
-	protected void specifyArguments(Map map, int portNumber) {
-		// XXX: Revisit - allows us to put a quote (") around the classpath
-		Connector.IntegerArgument port= (Connector.IntegerArgument) map.get("port"); //$NON-NLS-1$
-		port.setValue(portNumber);
-		
-		Connector.IntegerArgument timeoutArg= (Connector.IntegerArgument) map.get("timeout"); //$NON-NLS-1$
-		if (timeoutArg != null) {
-			int timeout = JavaRuntime.getPreferences().getInt(JavaRuntime.PREF_CONNECT_TIMEOUT);
-			timeoutArg.setValue(timeout);
-		}
-	}
-
-	protected ListeningConnector getConnector() {
-		List connectors= Bootstrap.virtualMachineManager().listeningConnectors();
-		for (int i= 0; i < connectors.size(); i++) {
-			ListeningConnector c= (ListeningConnector) connectors.get(i);
-			if ("com.sun.jdi.SocketListen".equals(c.name())) //$NON-NLS-1$
-				return c;
-		}
-		return null;
-	}
-	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMRunner.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMRunner.java
deleted file mode 100644
index 42dbe71..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMRunner.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.File;
-import java.text.DateFormat;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.launching.AbstractVMRunner;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-public class StandardVMRunner extends AbstractVMRunner {
-	protected IVMInstall fVMInstance;
-
-	public StandardVMRunner(IVMInstall vmInstance) {
-		fVMInstance= vmInstance;
-	}
-	
-	protected String renderDebugTarget(String classToRun, int host) {
-		String format= LaunchingMessages.getString("StandardVMRunner.{0}_at_localhost_{1}_1"); //$NON-NLS-1$
-		return MessageFormat.format(format, new String[] { classToRun, String.valueOf(host) });
-	}
-
-	public static String renderProcessLabel(String[] commandLine) {
-		String format= LaunchingMessages.getString("StandardVMRunner.{0}_({1})_2"); //$NON-NLS-1$
-		String timestamp= DateFormat.getInstance().format(new Date(System.currentTimeMillis()));
-		return MessageFormat.format(format, new String[] { commandLine[0], timestamp });
-	}
-	
-	protected static String renderCommandLine(String[] commandLine) {
-		if (commandLine.length < 1)
-			return ""; //$NON-NLS-1$
-		StringBuffer buf= new StringBuffer(commandLine[0]);
-		for (int i= 1; i < commandLine.length; i++) {
-			buf.append(' ');
-			buf.append(commandLine[i]);
-		}	
-		return buf.toString();
-	}
-	
-	protected void addArguments(String[] args, List v) {
-		if (args == null) {
-			return;
-		}
-		for (int i= 0; i < args.length; i++) {
-			v.add(args[i]);
-		}
-	}
-	
-	/**
-	 * Returns the working directory to use for the launched VM,
-	 * or <code>null</code> if the working directory is to be inherited
-	 * from the current process.
-	 * 
-	 * @return the working directory to use
-	 * @exception CoreException if the working directory specified by
-	 *  the configuration does not exist or is not a directory
-	 */	
-	protected File getWorkingDir(VMRunnerConfiguration config) throws CoreException {
-		String path = config.getWorkingDirectory();
-		if (path == null) {
-			return null;
-		}
-		File dir = new File(path);
-		if (!dir.isDirectory()) {
-			abort(MessageFormat.format(LaunchingMessages.getString("StandardVMRunner.Specified_working_directory_does_not_exist_or_is_not_a_directory__{0}_3"), new String[] {path}), null, IJavaLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST); //$NON-NLS-1$
-		}
-		return dir;
-	}
-	
-	/**
-	 * @see VMRunner#getPluginIdentifier()
-	 */
-	protected String getPluginIdentifier() {
-		return LaunchingPlugin.getUniqueIdentifier();
-	}
-	
-	/**
-	 * Construct and return a String containing the full path of a java executable
-	 * command such as 'java' or 'javaw.exe'.  If the configuration specifies an
-	 * explicit executable, that is used.
-	 * 
-	 * @return full path to java executable
-	 * @exception CoreException if unable to locate an executeable
-	 */
-	protected String constructProgramString(VMRunnerConfiguration config) throws CoreException {
-
-		// Look for the user-specified java executable command
-		String command= null;
-		Map map= config.getVMSpecificAttributesMap();
-		if (map != null) {
-			command = (String)map.get(IJavaLaunchConfigurationConstants.ATTR_JAVA_COMMAND);
-		}
-		
-		// If no java command was specified, use default executable
-		if (command == null) {
-			File exe = StandardVMType.findJavaExecutable(fVMInstance.getInstallLocation());
-			if (exe == null) {
-				abort(MessageFormat.format(LaunchingMessages.getString("StandardVMRunner.Unable_to_locate_executable_for_{0}_1"), new String[]{fVMInstance.getName()}), null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR); //$NON-NLS-1$
-			}
-			return exe.getAbsolutePath();
-		}
-				
-		// Build the path to the java executable.  First try 'bin', and if that
-		// doesn't exist, try 'jre/bin'
-		String installLocation = fVMInstance.getInstallLocation().getAbsolutePath() + File.separatorChar;
-		File exe = new File(installLocation + "bin" + File.separatorChar + command); //$NON-NLS-1$ //$NON-NLS-2$		
-		if (fileExists(exe)){
-			return exe.getAbsolutePath();
-		}
-		exe = new File(exe.getAbsolutePath() + ".exe"); //$NON-NLS-1$
-		if (fileExists(exe)){
-			return exe.getAbsolutePath();
-		}
-		exe = new File(installLocation + "jre" + File.separatorChar + "bin" + File.separatorChar + command); //$NON-NLS-1$ //$NON-NLS-2$
-		if (fileExists(exe)) {
-			return exe.getAbsolutePath(); 
-		}
-		exe = new File(exe.getAbsolutePath() + ".exe"); //$NON-NLS-1$
-		if (fileExists(exe)) {
-			return exe.getAbsolutePath(); 
-		}		
-
-		
-		// not found
-		abort(MessageFormat.format(LaunchingMessages.getString("StandardVMRunner.Specified_executable_{0}_does_not_exist_for_{1}_4"), new String[]{command, fVMInstance.getName()}), null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR); //$NON-NLS-1$
-		// NOTE: an exception will be thrown - null cannot be returned
-		return null;		
-	}	
-	
-	protected boolean fileExists(File file) {
-		return file.exists() && file.isFile();
-	}
-
-	protected String convertClassPath(String[] cp) {
-		int pathCount= 0;
-		StringBuffer buf= new StringBuffer();
-		if (cp.length == 0) {
-			return "";    //$NON-NLS-1$
-		}
-		for (int i= 0; i < cp.length; i++) {
-			if (pathCount > 0) {
-				buf.append(File.pathSeparator);
-			}
-			buf.append(cp[i]);
-			pathCount++;
-		}
-		return buf.toString();
-	}
-
-
-	/**
-	 * @see IVMRunner#run(VMRunnerConfiguration, ILaunch, IProgressMonitor)
-	 */
-	public void run(VMRunnerConfiguration config, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		
-		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
-		subMonitor.beginTask(LaunchingMessages.getString("StandardVMRunner.Launching_VM..._1"), 2); //$NON-NLS-1$
-		subMonitor.subTask(LaunchingMessages.getString("StandardVMRunner.Constructing_command_line..._2")); //$NON-NLS-1$
-		
-		String program= constructProgramString(config);
-		
-		List arguments= new ArrayList();
-		arguments.add(program);
-				
-		// VM args are the first thing after the java program so that users can specify
-		// options like '-client' & '-server' which are required to be the first option
-		String[] vmArgs= config.getVMArguments();
-		addArguments(vmArgs, arguments);
-				
-		String[] bootCP= config.getBootClassPath();
-		if (bootCP != null) {
-			if (bootCP.length > 0) {
-				arguments.add("-Xbootclasspath:" + convertClassPath(bootCP)); //$NON-NLS-1$
-			} else {
-				// empty
-				arguments.add("-Xbootclasspath:"); //$NON-NLS-1$	
-			}
-		}
-		
-		String[] cp= config.getClassPath();
-		if (cp.length > 0) {
-			arguments.add("-classpath"); //$NON-NLS-1$
-			arguments.add(convertClassPath(cp));
-		}
-		arguments.add(config.getClassToLaunch());
-		
-		String[] programArgs= config.getProgramArguments();
-		addArguments(programArgs, arguments);
-				
-		String[] cmdLine= new String[arguments.size()];
-		arguments.toArray(cmdLine);
-		
-		subMonitor.worked(1);
-
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		subMonitor.subTask(LaunchingMessages.getString("StandardVMRunner.Starting_virtual_machine..._3")); //$NON-NLS-1$
-		Process p= null;
-		File workingDir = getWorkingDir(config);
-		p= exec(cmdLine, workingDir);
-		if (p == null) {
-			return;
-		}
-		
-		// check for cancellation
-		if (monitor.isCanceled()) {
-			p.destroy();
-			return;
-		}		
-		
-		IProcess process= DebugPlugin.newProcess(launch, p, renderProcessLabel(cmdLine), getDefaultProcessMap());
-		process.setAttribute(IProcess.ATTR_CMDLINE, renderCommandLine(cmdLine));
-		subMonitor.worked(1);
-		subMonitor.done();
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
deleted file mode 100644
index a696196..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
+++ /dev/null
@@ -1,524 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.boot.BootLoader;
-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.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.Launch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.launching.AbstractVMInstallType;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.LibraryLocation;
-
-/**
- * A VM install type for VMs the conform to the standard
- * JDK installion layout.
- */
-public class StandardVMType extends AbstractVMInstallType {
-	
-	/**
-	 * The root path for the attached src
-	 */
-	private String fDefaultRootPath;
-		
-	/**
-	 * Convenience handle to the system-specific file separator character
-	 */															
-	private static final char fgSeparator = File.separatorChar;
-
-	/**
-	 * The list of locations in which to look for the java executable in candidate
-	 * VM install locations, relative to the VM install location.
-	 */
-	private static final String[] fgCandidateJavaLocations = {
-							"bin" + fgSeparator + "javaw",                                //$NON-NLS-2$ //$NON-NLS-1$
-							"bin" + fgSeparator + "javaw.exe",                            //$NON-NLS-2$ //$NON-NLS-1$
-							"jre" + fgSeparator + "bin" + fgSeparator + "javaw",          //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-							"jre" + fgSeparator + "bin" + fgSeparator + "javaw.exe",      //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$									
-							"bin" + fgSeparator + "java",                                 //$NON-NLS-2$ //$NON-NLS-1$
-							"bin" + fgSeparator + "java.exe",                             //$NON-NLS-2$ //$NON-NLS-1$
-							"jre" + fgSeparator + "bin" + fgSeparator + "java",           //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-							"jre" + fgSeparator + "bin" + fgSeparator + "java.exe"};      //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$							
-	
-	/**
-	 * Starting in the specified VM install location, attempt to find the 'java' executable
-	 * file.  If found, return the corresponding <code>File</code> object, otherwise return
-	 * <code>null</code>.
-	 */
-	public static File findJavaExecutable(File vmInstallLocation) {
-		
-		// Try each candidate in order.  The first one found wins.  Thus, the order
-		// of fgCandidateJavaLocations is significant.
-		for (int i = 0; i < fgCandidateJavaLocations.length; i++) {
-			File javaFile = new File(vmInstallLocation, fgCandidateJavaLocations[i]);
-			if (javaFile.isFile()) {
-				return javaFile;
-			}
-		}		
-		return null;							
-	}
-	
-	/**
-	 * @see IVMInstallType#getName()
-	 */
-	public String getName() {
-		return LaunchingMessages.getString("StandardVMType.Standard_VM_3"); //$NON-NLS-1$
-	}
-
-	
-	protected IVMInstall doCreateVMInstall(String id) {
-		return new StandardVM(this, id);
-	}
-	
-	/**
-	 * Return library information corresponding to the specified install
-	 * location. If the info does not exist, create it using the given Java
-	 * executable.
-	 */
-	protected LibraryInfo getLibraryInfo(File javaHome, File javaExecutable) {
-		
-		// See if we already know the info for the requested VM.  If not, generate it.
-		String installPath = javaHome.getAbsolutePath();
-		LibraryInfo info = (LibraryInfo) LaunchingPlugin.getLibraryInfo(installPath);
-		if (info == null) {
-			info = generateLibraryInfo(javaHome, javaExecutable);
-			LaunchingPlugin.setLibraryInfo(installPath, info);
-		} 
-		return info;
-	}	
-	
-	/**
-	 * Return <code>true</code> if the appropriate system libraries can be found for the
-	 * specified java executable, <code>false</code> otherwise.
-	 */
-	protected boolean canDetectDefaultSystemLibraries(File javaHome, File javaExecutable) {
-		LibraryLocation[] locations = getDefaultLibraryLocations(javaHome);
-		String version = getVMVersion(javaHome, javaExecutable);
-		return locations.length > 0 && !version.startsWith("1.1"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the version of the VM at the given location, with the given
-	 * executable.
-	 * 
-	 * @param javaHome
-	 * @param javaExecutable
-	 * @return String
-	 */
-	protected String getVMVersion(File javaHome, File javaExecutable) {
-		LibraryInfo info = getLibraryInfo(javaHome, javaExecutable);
-		return info.getVersion();
-	}
-		
-	/**
-	 * @see IVMInstallType#detectInstallLocation()
-	 */
-	public File detectInstallLocation() {
-		// do not detect on the Mac OS
-		if (BootLoader.getOS().equals(BootLoader.OS_MACOSX)) {
-			return null;
-		}		
-		
-		// Retrieve the 'java.home' system property.  If that directory doesn't exist, 
-		// return null.
-		File javaHome = new File (System.getProperty("java.home")); //$NON-NLS-1$
-		if (!javaHome.exists()) {
-			return null;
-		}
-
-		// Find the 'java' executable file under the java home directory.  If it can't be
-		// found, return null.
-		File javaExecutable = findJavaExecutable(javaHome);
-		if (javaExecutable == null) {
-			return null;
-		}
-		
-		// If the reported java home directory terminates with 'jre', first see if 
-		// the parent directory contains the required libraries
-		boolean foundLibraries = false;
-		if (javaHome.getName().equalsIgnoreCase("jre")) { //$NON-NLS-1$
-			File parent= new File(javaHome.getParent());			
-			if (canDetectDefaultSystemLibraries(parent, javaExecutable)) {
-				javaHome = parent;
-				foundLibraries = true;
-			}
-		}	
-		
-		// If we haven't already found the libraries, look in the reported java home dir
-		if (!foundLibraries) {
-			if (!canDetectDefaultSystemLibraries(javaHome, javaExecutable)) {
-				return null;
-			}			
-		}
-		
-		return javaHome;
-	}
-
-	/**
-	 * Return an <code>IPath</code> corresponding to the single library file containing the
-	 * standard Java classes for most VMs version 1.2 and above.
-	 */
-	protected IPath getDefaultSystemLibrary(File javaHome) {
-		IPath jreLibPath= new Path(javaHome.getPath()).append("lib").append("rt.jar"); //$NON-NLS-2$ //$NON-NLS-1$
-		if (jreLibPath.toFile().isFile()) {
-			return jreLibPath;
-		}
-		return new Path(javaHome.getPath()).append("jre").append("lib").append("rt.jar"); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-	}
-	
-	protected IPath getDefaultSystemLibrarySource(File installLocation) {
-		File parent= installLocation.getParentFile();
-		if (parent != null) {
-			File parentsrc= new File(parent, "src.jar"); //$NON-NLS-1$
-			if (parentsrc.isFile()) {
-				setDefaultRootPath("src");//$NON-NLS-1$
-				return new Path(parentsrc.getPath());
-			}
-			parentsrc= new File(parent, "src.zip"); //$NON-NLS-1$
-			if (parentsrc.isFile()) {
-				setDefaultRootPath(""); //$NON-NLS-1$
-				return new Path(parentsrc.getPath());
-			}
-			parentsrc= new File(installLocation, "src.jar"); //$NON-NLS-1$
-			if (parentsrc.isFile()) {
-				setDefaultRootPath("src"); //$NON-NLS-1$
-				return new Path(parentsrc.getPath());
-			}			
-			parentsrc= new File(installLocation, "src.zip"); //$NON-NLS-1$
-			if (parentsrc.isFile()) {
-				setDefaultRootPath(""); //$NON-NLS-1$
-				return new Path(parentsrc.getPath());
-			}			
-		}
-		setDefaultRootPath(""); //$NON-NLS-1$
-		return Path.EMPTY; //$NON-NLS-1$
-	}
-
-	protected IPath getDefaultPackageRootPath() {
-		return new Path(getDefaultRootPath());
-	}
-
-	/**
-	 * NOTE: We do not add libraries from the "endorsed" directory explicitly, as
-	 * the bootpath contains these entries already (if they exist).
-	 * 
-	 * @see IVMInstallType#getDefaultSystemLibraryDescription(File)
-	 */
-	public LibraryLocation[] getDefaultLibraryLocations(File installLocation) {
-
-		// Determine the java executable that corresponds to the specified install location
-		// and use this to generate library info.  If no java executable was found, 
-		// the 'standard' libraries will be returned.
-		File javaExecutable = findJavaExecutable(installLocation);
-		LibraryInfo libInfo;
-		if (javaExecutable == null) {
-			libInfo = getDefaultLibraryInfo(installLocation);
-		} else {
-			libInfo = getLibraryInfo(installLocation, javaExecutable);
-		}
-				
-		String[] bootpath = libInfo.getBootpath();
-		
-		List extensions = gatherAllLibraries(libInfo.getExtensionDirs());
-		List allLibs = new ArrayList(bootpath.length + extensions.size());
-		
-		for (int i = 0; i < bootpath.length; i++) {
-			IPath path = new Path(bootpath[i]);
-			File lib = path.toFile(); 
-			if (lib.exists() && lib.isFile()) {
-				allLibs.add(new LibraryLocation(path,
-								getDefaultSystemLibrarySource(installLocation),
-								getDefaultPackageRootPath()));
-			}
-			
-		}
-				
-		// Add all extension directories
-		Iterator iter = extensions.iterator();
-		while (iter.hasNext()) {		
-			allLibs.add(iter.next());
-		}
-				
-		return (LibraryLocation[])allLibs.toArray(new LibraryLocation[allLibs.size()]);
-	}
-	
-	/**
-	 * Returns default library info for the given install location.
-	 * 
-	 * @param installLocation
-	 * @return LibraryInfo
-	 */
-	protected LibraryInfo getDefaultLibraryInfo(File installLocation) {
-		IPath rtjar = getDefaultSystemLibrary(installLocation);
-		File extDir = getDefaultExtensionDirectory(installLocation);
-		File endDir = getDefaultEndorsedDirectory(installLocation);
-		String[] dirs = null;
-		if (extDir == null) {
-			dirs = new String[0];
-		} else {
-			dirs = new String[] {extDir.getAbsolutePath()};
-		}
-		String[] endDirs = null;
-		if (endDir == null) {
-			endDirs = new String[0]; 
-		} else {
-			endDirs = new String[] {endDir.getAbsolutePath()};
-		}
-		return new LibraryInfo("???", new String[] {rtjar.toOSString()}, dirs, endDirs);		 //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns a list of all zips and jars contained in the given directories.
-	 * 
-	 * @param dirPaths a list of absolute paths of directories to search
-	 * @return List of all zips and jars
-	 */
-	protected List gatherAllLibraries(String[] dirPaths) {
-		List libraries = new ArrayList();
-		for (int i = 0; i < dirPaths.length; i++) {
-			File extDir = new File(dirPaths[i]);
-			if (extDir != null && extDir.exists() && extDir.isDirectory()) {
-				String[] names = extDir.list();
-				for (int j = 0; j < names.length; j++) {
-					String name = names[j];
-					File jar = new File(extDir, name);
-					if (jar.isFile()) {
-						int length = name.length();
-						if (length > 4) {
-							String suffix = name.substring(length - 4);
-							if (suffix.equalsIgnoreCase(".zip") || suffix.equalsIgnoreCase(".jar")) { //$NON-NLS-1$ //$NON-NLS-2$
-								try {
-									IPath libPath = new Path(jar.getCanonicalPath());
-									LibraryLocation library = new LibraryLocation(libPath, Path.EMPTY, Path.EMPTY);
-									libraries.add(library);
-								} catch (IOException e) {
-									LaunchingPlugin.log(e);
-								}
-							}
-						}
-					}
-				}
-			}			
-		}
-		return libraries;
-	}
-		
-	/**
-	 * Returns the default location of the extension directory, based on the given
-	 * install location. The resulting file may not exist, or be <code>null</code>
-	 * if an extension directory is not supported.
-	 * 
-	 * @param installLocation 
-	 * @return default extension directory or <code>null</code>
-	 */
-	protected File getDefaultExtensionDirectory(File installLocation) {
-		File jre = null;
-		if (installLocation.getName().equalsIgnoreCase("jre")) { //$NON-NLS-1$
-			jre = installLocation;
-		} else {
-			jre = new File(installLocation, "jre"); //$NON-NLS-1$
-		}
-		File lib = new File(jre, "lib"); //$NON-NLS-1$
-		File ext = new File(lib, "ext"); //$NON-NLS-1$
-		return ext;
-	}
-
-	/**
-	 * Returns the default location of the endorsed directory, based on the
-	 * given install location. The resulting file may not exist, or be
-	 * <code>null</code> if an endorsed directory is not supported.
-	 * 
-	 * @param installLocation 
-	 * @return default endorsed directory or <code>null</code>
-	 */
-	protected File getDefaultEndorsedDirectory(File installLocation) {
-		File lib = new File(installLocation, "lib"); //$NON-NLS-1$
-		File ext = new File(lib, "endorsed"); //$NON-NLS-1$
-		return ext;
-	}
-
-	protected String getDefaultRootPath() {
-		return fDefaultRootPath;
-	}
-
-	protected void setDefaultRootPath(String defaultRootPath) {
-		fDefaultRootPath = defaultRootPath;
-	}
-	
-	/**
-	 * @see org.eclipse.jdt.launching.IVMInstallType#validateInstallLocation(java.io.File)
-	 */
-	public IStatus validateInstallLocation(File javaHome) {
-		IStatus status = null;
-		if (BootLoader.getOS().equals(BootLoader.OS_MACOSX)) {
-			status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), 0, LaunchingMessages.getString("StandardVMType.Standard_VM_not_supported_on_MacOS._1"), null); //$NON-NLS-1$
-		} else {
-			File javaExecutable = findJavaExecutable(javaHome);
-			if (javaExecutable == null) {
-				status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), 0, LaunchingMessages.getString("StandardVMType.Not_a_JDK_Root;_Java_executable_was_not_found_1"), null); //$NON-NLS-1$			
-			} else {
-				if (canDetectDefaultSystemLibraries(javaHome, javaExecutable)) {
-					status = new Status(IStatus.OK, LaunchingPlugin.getUniqueIdentifier(), 0, LaunchingMessages.getString("StandardVMType.ok_2"), null); //$NON-NLS-1$
-				} else {
-					status = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), 0, LaunchingMessages.getString("StandardVMType.Not_a_JDK_root._System_library_was_not_found._1"), null); //$NON-NLS-1$
-				}
-			}
-		}
-		return status;		
-	}
-
-	/**
-	 * Generates library information for the given java executable. A main
-	 * program is run (<code>org.eclipse.jdt.internal.launching.support.
-	 * LibraryDetector</code>), that dumps the system properties for bootpath
-	 * and extension directories. This output is then parsed and cached for
-	 * future reference.
-	 */	
-	protected LibraryInfo generateLibraryInfo(File javaHome, File javaExecutable) {
-		LibraryInfo info = null;
-		
-		// if this is 1.1.X, the properties will not exist		
-		IPath classesZip = new Path(javaHome.getAbsolutePath()).append("lib").append("classes.zip"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (classesZip.toFile().exists()) {
-			return new LibraryInfo("1.1.x", new String[] {classesZip.toOSString()}, new String[0], new String[0]); //$NON-NLS-1$
-		}
-		//locate the launching support jar - it contains the main program to run
-		File file = LaunchingPlugin.getFileInPlugin(new Path("lib\\launchingsupport.jar")); //$NON-NLS-1$
-		if (file.exists()) {	
-			String javaExecutablePath = javaExecutable.getAbsolutePath();
-			String[] cmdLine = new String[] {javaExecutablePath, "-classpath", file.getAbsolutePath(), "org.eclipse.jdt.internal.launching.support.LibraryDetector"};  //$NON-NLS-1$ //$NON-NLS-2$
-			Process p = null;
-			try {
-				p = Runtime.getRuntime().exec(cmdLine);
-				IProcess process = DebugPlugin.newProcess(new Launch(null, ILaunchManager.RUN_MODE, null), p, "Library Detection"); //$NON-NLS-1$
-				while (!process.isTerminated()) {
-					try {
-						Thread.sleep(50);
-					} catch (InterruptedException e) {
-					}
-				}		
-				info = parseLibraryInfo(process);
-			} catch (IOException ioe) {
-				LaunchingPlugin.log(ioe);
-			} finally {
-				if (p != null) {
-					p.destroy();
-				}
-			}
-		}		
-			
-		if (info == null) {
-			info = getDefaultLibraryInfo(javaHome);
-		}
-		return info;
-	}
-	
-	/**
-	 * Parses the output from 'LibraryDetector'.
-	 */
-	protected LibraryInfo parseLibraryInfo(IProcess process) throws IOException {
-		String text = process.getStreamsProxy().getOutputStreamMonitor().getContents();
-		if (text != null && text.length() > 0) {
-			int index = text.indexOf("|"); //$NON-NLS-1$
-			if (index > 0) { 
-				String version = text.substring(0, index);
-				text = text.substring(index + 1);
-				index = text.indexOf("|"); //$NON-NLS-1$	
-				if (index > 0) {
-					String bootPaths = text.substring(0, index);
-					String[] bootPath = parsePaths(bootPaths);
-					 
-					text = text.substring(index + 1);
-					index = text.indexOf("|"); //$NON-NLS-1$
-					
-					if (index > 0) {
-						String extDirPaths = text.substring(0, index);
-						String endorsedDirsPath = text.substring(index + 1);
-						String[] extDirs = parsePaths(extDirPaths);
-						String[] endDirs = parsePaths(endorsedDirsPath);
-						return new LibraryInfo(version, bootPath, extDirs, endDirs);
-					} 
-				}
-			}
-		} 
-		return null;
-	}
-	
-	protected String[] parsePaths(String paths) {
-		List list = new ArrayList();
-		int pos = 0;
-		int index = paths.indexOf(File.pathSeparatorChar, pos);
-		while (index > 0) {
-			String path = paths.substring(pos, index);
-			list.add(path);
-			pos = index + 1;	
-			index = paths.indexOf(File.pathSeparatorChar, pos);
-		}
-		String path = paths.substring(pos);
-		if (!path.equals("null")) { //$NON-NLS-1$
-			list.add(path);
-		}
-		return (String[])list.toArray(new String[list.size()]);
-	}
-	/**
-	 * @see org.eclipse.jdt.launching.IVMInstallType#disposeVMInstall(java.lang.String)
-	 */
-	public void disposeVMInstall(String id) {
-		IVMInstall vm = findVMInstall(id);
-		if (vm != null) {
-			LaunchingPlugin.setLibraryInfo(vm.getInstallLocation().getAbsolutePath(), null);
-		}		
-		super.disposeVMInstall(id);
-	}
-
-	/**
-	 * @see org.eclipse.jdt.launching.AbstractVMInstallType#getDefaultJavadocLocation(java.io.File)
-	 */
-	public URL getDefaultJavadocLocation(File installLocation) {
-		File javaExecutable = findJavaExecutable(installLocation);
-		if (javaExecutable != null) {
-			LibraryInfo libInfo = getLibraryInfo(installLocation, javaExecutable);
-			if (libInfo != null) {
-				String version = libInfo.getVersion();
-				if (version != null) {
-					try {
-						if (version.startsWith("1.4.1")) { //$NON-NLS-1$
-							return new URL("http://java.sun.com/j2se/1.4.1/docs/api"); //$NON-NLS-1$
-						} else if (version.startsWith("1.4.0")) { //$NON-NLS-1$
-							return new URL("http://java.sun.com/j2se/1.4/docs/api"); //$NON-NLS-1$
-						} else if (version.startsWith("1.3")) { //$NON-NLS-1$
-							return new URL("http://java.sun.com/j2se/1.3/docs/api"); //$NON-NLS-1$
-						} else if (version.startsWith("1.2")) { //$NON-NLS-1$
-							return new URL("http://java.sun.com/products/jdk/1.2/docs/api"); //$NON-NLS-1$
-						}
-					} catch (MalformedURLException e) {
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/VMDefinitionsContainer.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/VMDefinitionsContainer.java
deleted file mode 100644
index 58cbfc6..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/VMDefinitionsContainer.java
+++ /dev/null
@@ -1,533 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching;
-
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-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 javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.jdt.launching.VMStandin;
-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;
-
-/**
- * This is a container for VM definitions such as the VM definitions that are
- * stored in the workbench preferences.  
- * <p>
- * An instance of this class may be obtained from an XML document by calling
- * <code>parseXMLIntoContainer</code>.
- * </p>
- * <p>
- * An instance of this class may be translated into an XML document by calling
- * <code>getAsXML</code>.
- * </p>
- * <p>
- * Clients may instantiate this class; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.1
- */
-public class VMDefinitionsContainer {
-		
-	/**
-	 * Map of VMInstallTypes to Lists of corresponding VMInstalls.
-	 */
-	private Map fVMTypeToVMMap;
-	
-	/**
-	 * VMs managed by this container whose install locations don't actually exist.
-	 */
-	private List fInvalidVMList;
-		
-	/**
-	 * The number of VMs managed by this container.
-	 */
-	private int fVMCount = 0;
-	
-	/**
-	 * The composite identifier of the default VM.  This consists of the install type ID
-	 * plus an ID for the VM.
-	 */
-	private String fDefaultVMInstallCompositeID;
-	
-	/**
-	 * The identifier of the connector to use for the default VM.
-	 */
-	private String fDefaultVMInstallConnectorTypeID;
-	
-	/**
-	 * Constructs an empty VM container 
-	 */
-	public VMDefinitionsContainer() {
-		fVMTypeToVMMap = new HashMap(10);
-		fInvalidVMList = new ArrayList(5);			
-	}
-		
-	/**
-	 * Add the specified VM to the VM definitions managed by this container.
-	 * <p>
-	 * If distinguishing valid from invalid VMs is important, the specified VM must
-	 * have already had its install location set.  An invalid VM is one whose install
-	 * location doesn't exist.
-	 * </p>
-	 * 
-	 * @param vm the VM to be added to this container
-	 */
-	public void addVM(IVMInstall vm) {	
-		IVMInstallType vmInstallType = vm.getVMInstallType();
-		List vmList = (List) fVMTypeToVMMap.get(vmInstallType);
-		if (vmList == null) {
-			vmList = new ArrayList(3);
-			fVMTypeToVMMap.put(vmInstallType, vmList);			
-		}		
-		vmList.add(vm);
-		File installLocation = vm.getInstallLocation();
-		if (installLocation == null || !vmInstallType.validateInstallLocation(installLocation).isOK()) {
-			fInvalidVMList.add(vm);
-		}
-		fVMCount++;
-	}
-	
-	/**
-	 * Add all VM's in the specified list to the VM definitions managed by this container.
-	 * <p>
-	 * If distinguishing valid from invalid VMs is important, the specified VMs must
-	 * have already had their install locations set.  An invalid VM is one whose install
-	 * location doesn't exist.
-	 * </p>
-	 * 
-	 * @param vmList a list of VMs to be added to this container
-	 */
-	public void addVMList(List vmList) {
-		Iterator iterator = vmList.iterator();
-		while (iterator.hasNext()) {
-			IVMInstall vm = (IVMInstall) iterator.next();
-			addVM(vm);
-		}
-	}
-
-	/**
-	 * Return a mapping of VM install types to lists of VMs.  The keys of this map are instances of
-	 * <code>IVMInstallType</code>.  The values are instances of <code>java.util.List</code>
-	 * which contain instances of <code>IVMInstall</code>.  
-	 * 
-	 * @return Map the mapping of VM install types to lists of VMs
-	 */
-	public Map getVMTypeToVMMap() {
-		return fVMTypeToVMMap;
-	}
-	
-	/**
-	 * Return a list of all VMs in this container, including any invalid VMs.  An invalid
-	 * VM is one whose install location does not exist on the file system.
-	 * The order of the list is not specified.
-	 * 
-	 * @return List the data structure containing all VMs managed by this container
-	 */
-	public List getVMList() {
-		List resultList = new ArrayList(fVMCount);
-		
-		Set keySet = getVMTypeToVMMap().keySet();
-		Iterator keyIterator = keySet.iterator();
-		while (keyIterator.hasNext()) {
-			IVMInstallType vmInstallType = (IVMInstallType) keyIterator.next();
-			List vmList = (List) getVMTypeToVMMap().get(vmInstallType);
-			resultList.addAll(vmList);
-		}
-		
-		return resultList;
-	}
-	
-	/**
-	 * Return a list of all valid VMs in this container.  A valid VM is one whose install
-	 * location exists on the file system.  The order of the list is not specified.
-	 * 
-	 * @return List 
-	 */
-	public List getValidVMList() {
-		List resultList = getVMList();
-		resultList.removeAll(fInvalidVMList);
-		return resultList;
-	}
-	
-	/**
-	 * Returns the composite ID for the default VM.  The composite ID consists
-	 * of an ID for the VM install type together with an ID for VM.  This is
-	 * necessary because VM ids by themselves are not necessarily unique across
-	 * VM install types.
-	 * 
-	 * @return String returns the composite ID of the current default VM
-	 */
-	public String getDefaultVMInstallCompositeID(){
-		return fDefaultVMInstallCompositeID;
-	}
-	
-	/**
-	 * Sets the composite ID for the default VM.  The composite ID consists
-	 * of an ID for the VM install type together with an ID for VM.  This is
-	 * necessary because VM ids by themselves are not necessarily unique across
-	 * VM install types.
-	 * 
-	 * @param id identifies the new default VM using a composite ID
-	 */
-	public void setDefaultVMInstallCompositeID(String id){
-		fDefaultVMInstallCompositeID = id;
-	}
-	
-	/**
-	 * Return the default VM's connector type ID.
-	 * 
-	 * @return String the current value of the default VM's connector type ID
-	 */
-	public String getDefaultVMInstallConnectorTypeID() {
-		return fDefaultVMInstallConnectorTypeID;
-	}
-	
-	/**
-	 * Set the default VM's connector type ID.
-	 * 
-	 * @param id the new value of the default VM's connector type ID
-	 */
-	public void  setDefaultVMInstallConnectorTypeID(String id){
-		fDefaultVMInstallConnectorTypeID = id;
-	}
-	
-	/**
-	 * Return the VM definitions contained in this object as a String of XML.  The String
-	 * is suitable for storing in the workbench preferences.
-	 * <p>
-	 * The resulting XML is compatible with the static method <code>parseXMLIntoContainer</code>.
-	 * </p>
-	 * @return String the results of flattening this object into XML
-	 * @throws IOException if this method fails. Reasons include:<ul>
-	 * <li>serialization of the XML document failed</li>
-	 * </ul>
-	 */
-	public String getAsXML() throws IOException{
-		
-		// Create the Document and the top-level node
-		Document doc = new DocumentImpl();
-		Element config = doc.createElement("vmSettings");    //$NON-NLS-1$
-		doc.appendChild(config);
-		
-		// Set the defaultVM attribute on the top-level node
-		if (getDefaultVMInstallCompositeID() != null) {
-			config.setAttribute("defaultVM", getDefaultVMInstallCompositeID()); //$NON-NLS-1$
-		}
-		
-		// Set the defaultVMConnector attribute on the top-level node
-		if (getDefaultVMInstallConnectorTypeID() != null) {
-			config.setAttribute("defaultVMConnector", getDefaultVMInstallConnectorTypeID()); //$NON-NLS-1$
-		}
-				
-		// Create a node for each install type represented in this container
-		Set vmInstallTypeSet = getVMTypeToVMMap().keySet();
-		Iterator keyIterator = vmInstallTypeSet.iterator();
-		while (keyIterator.hasNext()) {
-			IVMInstallType vmInstallType = (IVMInstallType) keyIterator.next();
-			Element vmTypeElement = vmTypeAsElement(doc, vmInstallType);
-			config.appendChild(vmTypeElement);
-		}
-		
-		// Serialize the Document and return the resulting String
-		return JavaLaunchConfigurationUtils.serializeDocument(doc);
-	}
-	
-	/**
-	 * Create and return a node for the specified VM install type in the specified Document.
-	 */
-	private Element vmTypeAsElement(Document doc, IVMInstallType vmType) {
-		
-		// Create a node for the vm type and set its 'id' attribute
-		Element element= doc.createElement("vmType");   //$NON-NLS-1$
-		element.setAttribute("id", vmType.getId());     //$NON-NLS-1$
-		
-		// For each vm of the specified type, create a subordinate node for it
-		List vmList = (List) getVMTypeToVMMap().get(vmType);
-		Iterator vmIterator = vmList.iterator();
-		while (vmIterator.hasNext()) {
-			IVMInstall vm = (IVMInstall) vmIterator.next();
-			Element vmElement = vmAsElement(doc, vm);
-			element.appendChild(vmElement);
-		}
-		
-		return element;
-	}
-	
-	/**
-	 * Create and return a node for the specified VM in the specified Document.
-	 */
-	private Element vmAsElement(Document doc, IVMInstall vm) {
-		
-		// Create the node for the VM and set its 'id' & 'name' attributes
-		Element element= doc.createElement("vm");        //$NON-NLS-1$
-		element.setAttribute("id", vm.getId());	         //$NON-NLS-1$
-		element.setAttribute("name", vm.getName());      //$NON-NLS-1$
-		
-		// Determine and set the 'path' attribute for the VM
-		String installPath= "";                          //$NON-NLS-1$
-		File installLocation= vm.getInstallLocation();
-		if (installLocation != null) {
-			installPath= installLocation.getAbsolutePath();
-		}
-		element.setAttribute("path", installPath);       //$NON-NLS-1$
-		
-		// If the 'libraryLocations' attribute is specified, create a node for it 
-		LibraryLocation[] libraryLocations= vm.getLibraryLocations();
-		if (libraryLocations != null) {
-			Element libLocationElement = libraryLocationsAsElement(doc, libraryLocations);
-			element.appendChild(libLocationElement);
-		}
-		
-		// Java doc location
-		URL url = vm.getJavadocLocation();
-		if (url != null) {
-			element.setAttribute("javadocURL", url.toExternalForm()); //$NON-NLS-1$
-		}
-		
-		return element;
-	}
-	
-	/**
-	 * Create and return a 'libraryLocations' node.  This node owns subordinate nodes that
-	 * list individual library locations.
-	 */
-	private static Element libraryLocationsAsElement(Document doc, LibraryLocation[] locations) {
-		Element root = doc.createElement("libraryLocations");       //$NON-NLS-1$
-		for (int i = 0; i < locations.length; i++) {
-			Element element = doc.createElement("libraryLocation");  //$NON-NLS-1$
-			element.setAttribute("jreJar", locations[i].getSystemLibraryPath().toString()); //$NON-NLS-1$
-			element.setAttribute("jreSrc", locations[i].getSystemLibrarySourcePath().toString()); //$NON-NLS-1$
-			element.setAttribute("pkgRoot", locations[i].getPackageRootPath().toString()); //$NON-NLS-1$
-			root.appendChild(element);
-		}
-		return root;
-	}
-			
-	/**
-	 * Parse the VM definitions contained in the specified InputStream and return an instance
-	 * of <code>VMDefinitionsContainer</code>.
-	 * <p>
-	 * The VMs in the returned container are instances of <code>VMStandin</code>.
-	 * </p>
-	 * <p>
-	 * This method has no side-effects.  That is, no notifications are sent for VM adds,
-	 * changes, deletes, and the workbench preferences are not affected.
-	 * </p>
-	 * <p>
-	 * If the <code>getAsXML</code> method is called on the returned container object,
-	 * the resulting XML will be sematically equivalent (though not necessarily syntactically equivalent) as
-	 * the XML contained in <code>inputStream</code>.
-	 * </p>
-	 * @param inputStream the <code>InputStream</code> containing XML that declares a set of VMs and a default VM
-	 * @return VMDefinitionsContainer a container for the VM objects declared in <code>inputStream</code>
-	 * @throws IOException if this method fails. Reasons include:<ul>
-	 * <li>the XML in <code>inputStream</code> was badly formatted</li>
-	 * <li>the top-level node was not 'vmSettings'</li>
-	 * </ul>
-	 */
-	public static VMDefinitionsContainer parseXMLIntoContainer(InputStream inputStream) throws IOException {
-		
-		// Create the container to populate
-		VMDefinitionsContainer container = new VMDefinitionsContainer();
-
-		// Wrapper the stream for efficient parsing
-		InputStream stream= new BufferedInputStream(inputStream);
-		Reader reader= new InputStreamReader(stream);
-
-		// Do the parsing and obtain the top-level node
-		Element config= null;		
-		try {
-			DocumentBuilder parser= DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			config = parser.parse(new InputSource(reader)).getDocumentElement();
-		} catch (SAXException e) {
-			throw new IOException(LaunchingMessages.getString("JavaRuntime.badFormat")); //$NON-NLS-1$
-		} catch (ParserConfigurationException e) {
-			reader.close();
-			throw new IOException(LaunchingMessages.getString("JavaRuntime.badFormat")); //$NON-NLS-1$
-		} finally {
-			reader.close();
-		}
-		
-		// If the top-level node wasn't what we expected, bail out
-		if (!config.getNodeName().equalsIgnoreCase("vmSettings")) { //$NON-NLS-1$
-			throw new IOException(LaunchingMessages.getString("JavaRuntime.badFormat")); //$NON-NLS-1$
-		}
-		
-		// Populate the default VM-related fields
-		container.setDefaultVMInstallCompositeID(config.getAttribute("defaultVM")); //$NON-NLS-1$
-		container.setDefaultVMInstallConnectorTypeID(config.getAttribute("defaultVMConnector")); //$NON-NLS-1$
-		
-		// Traverse the parsed structure and populate the VMType to VM Map
-		NodeList list = config.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 vmTypeElement = (Element) node;
-				if (vmTypeElement.getNodeName().equalsIgnoreCase("vmType")) { //$NON-NLS-1$
-					populateVMTypes(vmTypeElement, container);
-				}
-			}
-		}
-		
-		return container;
-	}
-	
-	/**
-	 * For the specified vm type node, parse all subordinate VM definitions and add them
-	 * to the specified container.
-	 */
-	private static void populateVMTypes(Element vmTypeElement, VMDefinitionsContainer container) {
-		
-		// Retrieve the 'id' attribute and the corresponding VM type object
-		String id = vmTypeElement.getAttribute("id");         //$NON-NLS-1$
-		IVMInstallType vmType= JavaRuntime.getVMInstallType(id);
-		if (vmType != null) {
-			
-			// For each VM child node, populate the container with a subordinate node
-			NodeList vmNodeList = vmTypeElement.getChildNodes();
-			for (int i = 0; i < vmNodeList.getLength(); ++i) {
-				Node vmNode = vmNodeList.item(i);
-				short type = vmNode.getNodeType();
-				if (type == Node.ELEMENT_NODE) {
-					Element vmElement = (Element) vmNode;
-					if (vmElement.getNodeName().equalsIgnoreCase("vm")) { //$NON-NLS-1$
-						populateVMForType(vmType, vmElement, container);
-					}
-				}
-			}
-		} else {
-			LaunchingPlugin.log(LaunchingMessages.getString("JavaRuntime.VM_type_element_with_unknown_id_1")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Parse the specified VM node, create a VMStandin for it, and add this to the 
-	 * specified container.
-	 */
-	private static void populateVMForType(IVMInstallType vmType, Element vmElement, VMDefinitionsContainer container) {
-		String id= vmElement.getAttribute("id"); //$NON-NLS-1$
-		if (id != null) {
-			
-			// Retrieve the 'path' attribute.  If none, skip this node.
-			String installPath= vmElement.getAttribute("path"); //$NON-NLS-1$
-			if (installPath == null) {
-				return;
-			}
-						
-			// Create a VMStandin for the node and set its 'name' & 'installLocation' attributes
-			VMStandin vmStandin = new VMStandin(vmType, id);
-			vmStandin.setName(vmElement.getAttribute("name")); //$NON-NLS-1$
-			File installLocation= new File(installPath);
-			vmStandin.setInstallLocation(installLocation);
-			container.addVM(vmStandin);
-			
-			// Look for subordinate nodes.  These may be 'libraryLocation',
-			// 'libraryLocations' or 'versionInfo'.
-			NodeList list = vmElement.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 subElement = (Element)node;
-					String subElementName = subElement.getNodeName();
-					if (subElementName.equals("libraryLocation")) { //$NON-NLS-1$
-						LibraryLocation loc = getLibraryLocation(subElement);
-						vmStandin.setLibraryLocations(new LibraryLocation[]{loc});
-						break;
-					} else if (subElementName.equals("libraryLocations")) { //$NON-NLS-1$
-						setLibraryLocations(vmStandin, subElement);
-						break;
-					}
-				}
-			}
-			
-			// javadoc URL
-			String externalForm = vmElement.getAttribute("javadocURL"); //$NON-NLS-1$
-			if (externalForm != null && externalForm.length() > 0) {
-				try {
-					vmStandin.setJavadocLocation(new URL(externalForm));
-				} catch (MalformedURLException e) {
-					LaunchingPlugin.log(e);
-				}
-			}
-		} else {
-			LaunchingPlugin.log(LaunchingMessages.getString("JavaRuntime.VM_element_specified_with_no_id_attribute_2")); //$NON-NLS-1$
-		}
-	}	
-	
-	/**
-	 * Create & return a LibraryLocation object populated from the attribute values
-	 * in the specified node.
-	 */
-	private static LibraryLocation getLibraryLocation(Element libLocationElement) {
-		String jreJar= libLocationElement.getAttribute("jreJar"); //$NON-NLS-1$
-		String jreSrc= libLocationElement.getAttribute("jreSrc"); //$NON-NLS-1$
-		String pkgRoot= libLocationElement.getAttribute("pkgRoot"); //$NON-NLS-1$
-		if (jreJar != null && jreSrc != null && pkgRoot != null) {
-			return new LibraryLocation(new Path(jreJar), new Path(jreSrc), new Path(pkgRoot));
-		} else {
-			LaunchingPlugin.log(LaunchingMessages.getString("JavaRuntime.Library_location_element_incorrectly_specified_3")); //$NON-NLS-1$
-		}
-		return null;
-	}
-	
-	/**
-	 * Set the LibraryLocations on the specified VM, by extracting the subordinate
-	 * nodes from the specified 'lirbaryLocations' node.
-	 */
-	private static void setLibraryLocations(IVMInstall vm, Element libLocationsElement) {
-		NodeList list = libLocationsElement.getChildNodes();
-		int length = list.getLength();
-		List locations = new ArrayList(length);
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element libraryLocationElement= (Element)node;
-				if (libraryLocationElement.getNodeName().equals("libraryLocation")) { //$NON-NLS-1$
-					locations.add(getLibraryLocation(libraryLocationElement));
-				}
-			}
-		}	
-		vm.setLibraryLocations((LibraryLocation[])locations.toArray(new LibraryLocation[locations.size()]));
-	}
-		
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractJavaLaunchConfigurationDelegate.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractJavaLaunchConfigurationDelegate.java
deleted file mode 100644
index 763672b..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractJavaLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,549 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator;
-
-/**
- * Abstract implementation of a Java launch configuration delegate.
- * Provides convenience methods for accessing and verifying launch
- * configuration attributes.
- * <p>
- * Clients implementing Java launch configuration delegates should
- * subclass this class.
- * </p>
- * @since 2.0
- */
-public abstract class AbstractJavaLaunchConfigurationDelegate implements ILaunchConfigurationDelegate, IDebugEventSetListener {
-	
-	/**
-	 * Convenience method to get the launch manager.
-	 * 
-	 * @return the launch manager
-	 */
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-
-	/**
-	 * 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 void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), code, message, exception));
-	}	
-	
-	/**
-	 * Returns the VM install specified by
-	 * the given launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the VM install specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public IVMInstall getVMInstall(ILaunchConfiguration configuration) throws CoreException {
-		return JavaRuntime.computeVMInstall(configuration);
-	}
-
-	/**
-	 * Returns the VM install name specified by
-	 * the given launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the VM install name specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public String getVMInstallName(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
-	}
-	
-	/**
-	 * Returns the VM install type specified by
-	 * the given launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the VM install type specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public IVMInstallType getVMInstallType(ILaunchConfiguration configuration) throws CoreException {
-		String id = getVMInstallTypeId(configuration);
-		if (id != null) {
-			IVMInstallType type = JavaRuntime.getVMInstallType(id);
-			if (type != null) {
-				return type;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the VM install type identifier specified by
-	 * the given launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the VM install type identifier specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public String getVMInstallTypeId(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-	}
-
-	/**
-	 * Verifies the VM install specified by the given 
-	 * launch configuration exists and returns the VM install.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the VM install specified by the given 
-	 *  launch configuration
-	 * @exception CoreException if unable to retrieve the attribute,
-	 * 	the attribute is unspecified, or if the home location is
-	 *  unspecified or does not exist
-	 */	
-	public IVMInstall verifyVMInstall(ILaunchConfiguration configuration) throws CoreException {
-		IVMInstall vm = getVMInstall(configuration);
-		if (vm == null) {
-			abort(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.The_specified_JRE_installation_does_not_exist_4"), null, IJavaLaunchConfigurationConstants.ERR_VM_INSTALL_DOES_NOT_EXIST); //$NON-NLS-1$
-		}
-		File location = vm.getInstallLocation();
-		if (location == null) {
-			abort(MessageFormat.format(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.JRE_home_directory_not_specified_for_{0}_5"), new String[]{vm.getName()}), null, IJavaLaunchConfigurationConstants.ERR_VM_INSTALL_DOES_NOT_EXIST); //$NON-NLS-1$
-		}
-		if (!location.exists()) {
-			abort(MessageFormat.format(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.JRE_home_directory_for_{0}_does_not_exist__{1}_6"), new String[]{vm.getName(), location.getAbsolutePath()}), null, IJavaLaunchConfigurationConstants.ERR_VM_INSTALL_DOES_NOT_EXIST); //$NON-NLS-1$
-		}
-				
-		return vm;
-	}	
-
-	/**
-	 * Returns the VM connector identifier specified by
-	 * the given launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the VM connector identifier specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public String getVMConnectorId(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_CONNECTOR, (String)null);
-	}
-		
-	/**
-	 * Returns entries that should appear on the bootstrap portion
-	 * of the classpath as specified by the given launch
-	 * configuration, as an array of resolved strings. The returned array
-	 * is <code>null</code> if all entries are standard (i.e. appear by
-	 * default), or empty to represent an empty bootpath.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the bootpath specified by the given 
-	 *  launch configuration. An empty bootpath is specfied by
-	 *  an empty array, and <code>null</code> represents a default
-	 * 	boothpath.
-	 * @exception CoreException if unable to retrieve the attribute
-	 */	
-	public String[] getBootpath(ILaunchConfiguration configuration) throws CoreException {
-		IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedRuntimeClasspath(configuration);
-		entries = JavaRuntime.resolveRuntimeClasspath(entries, configuration);
-		List bootEntries = new ArrayList(entries.length);
-		boolean empty = true;
-		boolean allStandard = true;
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].getClasspathProperty() != IRuntimeClasspathEntry.USER_CLASSES) {
-				String location = entries[i].getLocation();
-				if (location != null) {
-					empty = false;
-					bootEntries.add(location);
-					allStandard = allStandard && entries[i].getClasspathProperty() == IRuntimeClasspathEntry.STANDARD_CLASSES;
-				}
-			}
-		}
-		if (empty) {
-			return new String[0];
-		} else if (allStandard) {
-			return null;
-		} else {
-			return (String[])bootEntries.toArray(new String[bootEntries.size()]);		
-		}
-	}
-
-	/**
-	 * Returns the entries that should appear on the user portion of
-	 * the classpath as specified by the given launch
-	 * configuration, as an array of resolved strings. The returned array
-	 * is empty if no classpath is specified.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the classpath specified by the given 
-	 *  launch configuration, possibly an empty array
-	 * @exception CoreException if unable to retrieve the attribute
-	 */	
-	public String[] getClasspath(ILaunchConfiguration configuration) throws CoreException {
-		IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedRuntimeClasspath(configuration);
-		entries = JavaRuntime.resolveRuntimeClasspath(entries, configuration);
-		List userEntries = new ArrayList(entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].getClasspathProperty() == IRuntimeClasspathEntry.USER_CLASSES) {
-				String location = entries[i].getLocation();
-				if (location != null) {
-					userEntries.add(location);
-				}
-			}
-		}
-		return (String[])userEntries.toArray(new String[userEntries.size()]);
-	}
-		
-	/**
-	 * Returns the Java project specified by the given 
-	 * launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the Java project specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public IJavaProject getJavaProject(ILaunchConfiguration configuration) throws CoreException {
-		String projectName = getJavaProjectName(configuration);
-		if (projectName != null) {
-			projectName = projectName.trim();
-			if (projectName.length() > 0) {
-				IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-				IJavaProject javaProject = JavaCore.create(project);
-				if (javaProject != null && javaProject.exists()) {
-					return javaProject;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the Java project name specified by the given 
-	 * launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the Java project name specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public String getJavaProjectName(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String)null);
-	}
-
-	/**
-	 * Returns the main type name specified by the given 
-	 * launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the main type name specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public String getMainTypeName(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)null);
-	}
-
-	/**
-	 * Returns the program arguments specified by the given launch
-	 * configuration, as a string. The returned string is empty if
-	 * no program arguments are specified.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the program arguments specified by the given 
-	 *  launch configuration, possibly an empty string
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public String getProgramArguments(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, ""); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Returns the VM arguments specified by the given launch
-	 * configuration, as a string. The returned string is empty if
-	 * no VM arguments are specified.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the VM arguments specified by the given 
-	 *  launch configuration, possibly an empty string
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public String getVMArguments(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, ""); //$NON-NLS-1$
-	}	
-
-	/**
-	 * Returns the Map of VM-specific attributes specified by the given launch configuration,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the <code>Map</code> of VM-specific attributes
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public Map getVMSpecificAttributesMap(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP, (Map)null);
-	}
-	
-	/**
-	 * Returns the working directory specified by
-	 * the given launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the working directory specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public File getWorkingDirectory(ILaunchConfiguration configuration) throws CoreException {
-		return verifyWorkingDirectory(configuration);
-	}
-
-	/**
-	 * Returns the working directory path specified by
-	 * the given launch configuration, or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the working directory path specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public IPath getWorkingDirectoryPath(ILaunchConfiguration configuration) throws CoreException {
-		String path = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String)null);
-		if (path != null) {
-			return new Path(path);
-		}
-		return null;
-	}
-
-	/**
-	 * Verifies a Java project is specified by the given 
-	 * launch configuration, and returns the Java project.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the Java project specified by the given 
-	 *  launch configuration
-	 * @exception CoreException if unable to retrieve the attribute
-	 * 	or the attribute is unspecified
-	 */
-	public IJavaProject verifyJavaProject(ILaunchConfiguration configuration) throws CoreException {
-		String name = getJavaProjectName(configuration);
-		if (name == null) {
-			abort(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.Java_project_not_specified_9"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_PROJECT); //$NON-NLS-1$
-		}
-		IJavaProject project = getJavaProject(configuration);
-		if (project == null) {
-			abort(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.Project_does_not_exist_or_is_not_a_Java_project_10"), null, IJavaLaunchConfigurationConstants.ERR_NOT_A_JAVA_PROJECT); //$NON-NLS-1$
-		}
-		return project;
-	}
-
-	/**
-	 * Verifies a main type name is specified by the given 
-	 * launch configuration, and returns the main type name.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the main type name specified by the given 
-	 *  launch configuration
-	 * @exception CoreException if unable to retrieve the attribute
-	 * 	or the attribute is unspecified
-	 */
-	public String verifyMainTypeName(ILaunchConfiguration configuration) throws CoreException {
-		String name = getMainTypeName(configuration);
-		if (name == null) {
-			abort(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.Main_type_not_specified_11"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE); //$NON-NLS-1$
-		}
-		return name;
-	}
-
-	/**
-	 * Verifies the working directory specified by the given 
-	 * launch configuration exists, and returns the working
-	 * directory, or <code>null</code> if none is specified.
-	 * 
-	 * @param configuration launch configuration
-	 * @return the working directory specified by the given 
-	 *  launch configuration, or <code>null</code> if none
-	 * @exception CoreException if unable to retrieve the attribute
-	 */	
-	public File verifyWorkingDirectory(ILaunchConfiguration configuration) throws CoreException {
-		IPath path = getWorkingDirectoryPath(configuration);
-		if (path == null) {
-			// default working dir is the project if this config has a project
-			IJavaProject jp = getJavaProject(configuration);
-			if (jp != null) {
-				IProject p = jp.getProject();
-				return p.getLocation().toFile();
-			}
-		} else {
-			if (path.isAbsolute()) {
-				File dir = new File(path.toOSString());
-				if (dir.isDirectory()) {
-					return dir;
-				} else {
-					abort(MessageFormat.format(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.Working_directory_does_not_exist__{0}_12"), new String[] {path.toString()}), null, IJavaLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST); //$NON-NLS-1$
-				}
-			} else {
-				IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
-				if (res instanceof IContainer && res.exists()) {
-					return res.getLocation().toFile();
-				} else {
-					abort(MessageFormat.format(LaunchingMessages.getString("AbstractJavaLaunchConfigurationDelegate.Working_directory_does_not_exist__{0}_12"), new String[] {path.toString()}), null, IJavaLaunchConfigurationConstants.ERR_WORKING_DIRECTORY_DOES_NOT_EXIST); //$NON-NLS-1$
-				}
-			}
-		}
-		return null;		
-	}	
-				
-	/**
-	 * Returns whether the given launch configuration
-	 * specifies that termination is allowed.
-	 * 
-	 * @param configuration launch configuration
-	 * @return whether termination is allowed
-	 * @exception CoreException if unable to retrieve the attribute
-	 */
-	public boolean isAllowTerminate(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_ALLOW_TERMINATE, false);
-	}	
-	
-	/**
-	 * Returns whether the given launch configuration
-	 * specifies that execution should suspend on entry of the
-	 * main method.
-	 * 
-	 * @param configuration launch configuration
-	 * @return whether execution should suspend in main
-	 * @exception CoreException if unable to retrieve the attribute
-	 * @since 2.1
-	 */
-	public boolean isStopInMain(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_STOP_IN_MAIN, false);
-	}						
-	
-	/**
-	 * Assigns a default source locator to the given launch if a source
-	 * locator has not yet been assigned to it, and the associated launch
-	 * configuration does not specify a source locator.
-	 * 
-	 * @param launch launch object
-	 * @param configuration configuration being launched
-	 * @exception CoreException if unable to set the source locator
-	 */
-	protected void setDefaultSourceLocator(ILaunch launch, ILaunchConfiguration configuration) throws CoreException {
-		//  set default source locator if none specified
-		if (launch.getSourceLocator() == null) {
-			String id = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, (String)null);
-			if (id == null) {
-				IJavaProject javaProject = JavaRuntime.getJavaProject(configuration);
-				if (javaProject != null) {
-					ISourceLocator sourceLocator = new JavaSourceLocator(javaProject);
-					launch.setSourceLocator(sourceLocator);					
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Determines if the given launch configuration specifies the
-	 * "stop-in-main" attribute, and sets up an event listener to
-	 * handle the option if required.
-	 * 
-	 * @param configuration configuration being launched
-	 * @exception CoreException if unable to access the attribute
-	 * @since 2.1
-	 */
-	protected void prepareStopInMain(ILaunchConfiguration configuration) throws CoreException {
-		if (isStopInMain(configuration)) {
-			// This listener does not remove itself from the debug plug-in
-			// as an event listener (there is no dispose notification for
-			// launch delegates). However, since there is only one delegate
-			// instantiated per config type, this is tolerable.
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-	}
-	
-	/**
-	 * Handles the "stop-in-main" option.
-	 * 
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.CREATE && event.getSource() instanceof IJavaDebugTarget) {
-				IJavaDebugTarget target = (IJavaDebugTarget)event.getSource();
-				ILaunch launch = target.getLaunch();
-				if (launch != null) {
-					ILaunchConfiguration configuration = launch.getLaunchConfiguration();
-					if (configuration != null) {
-						try {
-							if (isStopInMain(configuration)) {
-								String mainType = getMainTypeName(configuration);
-								if (mainType != null) {
-									Map map = new HashMap();
-									map.put(IJavaLaunchConfigurationConstants.ATTR_STOP_IN_MAIN, IJavaLaunchConfigurationConstants.ATTR_STOP_IN_MAIN);
-									IJavaMethodBreakpoint bp = JDIDebugModel.createMethodBreakpoint(ResourcesPlugin.getWorkspace().getRoot(), mainType, "main",  //$NON-NLS-1$
-										"([Ljava/lang/String;)V", true, false, false, -1, -1, -1, 1, false, map); //$NON-NLS-1$
-									bp.setPersisted(false);
-									target.breakpointAdded(bp);
-									DebugPlugin.getDefault().removeDebugEventListener(this);
-								}
-							}
-						} catch (CoreException e) {
-							LaunchingPlugin.log(e);
-						}
-					}
-				}
-			}
-		}
-	}
-
-}
-
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java
deleted file mode 100644
index f153216..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.net.URL;
-import java.io.File;
-
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-/**
- * Abstract implementation of a VM install.
- * <p>
- * Clients implenmenting VM installs should subclass this class.
- * </p>
- */
-public abstract class AbstractVMInstall implements IVMInstall {
-	private IVMInstallType fType;
-	private String fId;
-	private String fName;
-	private File fInstallLocation;
-	private LibraryLocation[] fSystemLibraryDescriptions;
-	private URL fJavadocLocation;
-	// whether change events should be fired
-	private boolean fNotify = true;
-	
-	/**
-	 * Constructs a new VM install.
-	 * 
-	 * @param	type	The type of this VM install.
-	 * 					Must not be <code>null</code>
-	 * @param	id		The unique identifier of this VM instance
-	 * 					Must not be <code>null</code>.
-	 * @throws	IllegalArgumentException	if any of the required
-	 * 					parameters are <code>null</code>.
-	 */
-	public AbstractVMInstall(IVMInstallType type, String id) {
-		if (type == null)
-			throw new IllegalArgumentException(LaunchingMessages.getString("vmInstall.assert.typeNotNull")); //$NON-NLS-1$
-		if (id == null)
-			throw new IllegalArgumentException(LaunchingMessages.getString("vmInstall.assert.idNotNull")); //$NON-NLS-1$
-		fType= type;
-		fId= id;
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMInstall#getId()
-	 */
-	public String getId() {
-		return fId;
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMInstall#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMInstall#setName(String)
-	 */
-	public void setName(String name) {
-		if (!name.equals(fName)) {
-			PropertyChangeEvent event = new PropertyChangeEvent(this, IVMInstallChangedListener.PROPERTY_NAME, fName, name);
-			fName= name;
-			if (fNotify) {
-				JavaRuntime.fireVMChanged(event);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMInstall#getInstallLocation()
-	 */
-	public File getInstallLocation() {
-		return fInstallLocation;
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMInstall#setInstallLocation(File)
-	 */
-	public void setInstallLocation(File installLocation) {
-		if (!installLocation.equals(fInstallLocation)) {
-			PropertyChangeEvent event = new PropertyChangeEvent(this, IVMInstallChangedListener.PROPERTY_INSTALL_LOCATION, fInstallLocation, installLocation);
-			fInstallLocation= installLocation;
-			if (fNotify) {
-				JavaRuntime.fireVMChanged(event);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMInstall#getVMInstallType()
-	 */
-	public IVMInstallType getVMInstallType() {
-		return fType;
-	}
-
-	/* (non-Javadoc)
-	 * @see IVMInstall#getVMRunner(String)
-	 */
-	public IVMRunner getVMRunner(String mode) {
-		return null;
-	}
-
-	/**
-	 * @see IVMInstall#getLibraryLocations()
-	 */
-	public LibraryLocation[] getLibraryLocations() {
-		return fSystemLibraryDescriptions;
-	}
-
-	/**
-	 * @see IVMInstall#setLibraryLocations(LibraryLocation[])
-	 */
-	public void setLibraryLocations(LibraryLocation[] locations) {
-		if (locations == fSystemLibraryDescriptions) {
-			return;
-		}
-		LibraryLocation[] newLocations = locations;
-		if (newLocations == null) {
-			newLocations = getVMInstallType().getDefaultLibraryLocations(getInstallLocation()); 
-		}
-		LibraryLocation[] prevLocations = fSystemLibraryDescriptions;
-		if (prevLocations == null) {
-			prevLocations = getVMInstallType().getDefaultLibraryLocations(getInstallLocation()); 
-		}
-		
-		if (newLocations.length == prevLocations.length) {
-			int i = 0;
-			boolean equal = true;
-			while (i < newLocations.length && equal) {
-				equal = newLocations[i].equals(prevLocations[i]);
-				i++;
-			}
-			if (equal) {
-				// no change
-				return;
-			}
-		}
-
-		PropertyChangeEvent event = new PropertyChangeEvent(this, IVMInstallChangedListener.PROPERTY_LIBRARY_LOCATIONS, prevLocations, newLocations);
-		fSystemLibraryDescriptions = locations;
-		if (fNotify) {
-			JavaRuntime.fireVMChanged(event);		
-		}
-	}
-
-	/**
-	 * @see IVMInstall#getJavadocLocation()
-	 */
-	public URL getJavadocLocation() {
-		return fJavadocLocation;
-	}
-
-	/**
-	 * @see IVMInstall#setJavadocLocation(URL)
-	 */
-	public void setJavadocLocation(URL url) {
-		if (url == fJavadocLocation) {
-			return;
-		}
-		if (url != null && fJavadocLocation != null) {
-			if (url.equals(fJavadocLocation)) {
-				// no change
-				return;
-			}
-		}
-		
-		PropertyChangeEvent event = new PropertyChangeEvent(this, IVMInstallChangedListener.PROPERTY_JAVADOC_LOCATION, fJavadocLocation, url);		
-		fJavadocLocation = url;
-		if (fNotify) {
-			JavaRuntime.fireVMChanged(event);
-		}
-	}
-
-	/**
-	 * Whether this VM should fire property change notifications.
-	 * 
-	 * @param notify
-	 * @since 2.1
-	 */
-	protected void setNotify(boolean notify) {
-		fNotify = notify;
-	}
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 * @since 2.1
-	 */
-	public boolean equals(Object object) {
-		if (object instanceof IVMInstall) {
-			IVMInstall vm = (IVMInstall)object;
-			return getVMInstallType().equals(vm.getVMInstallType()) &&
-				getId().equals(vm.getId());
-		}
-		return false;
-	}
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 * @since 2.1
-	 */
-	public int hashCode() {
-		return getVMInstallType().hashCode() + getId().hashCode();
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstallType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstallType.java
deleted file mode 100644
index 2a65c78..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstallType.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.io.File;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-
-/**
- * Abstract implementation of a VM install type.
- * Subclasses should implement
- * <ul>
- * <li><code>IVMInstall doCreateVMInstall(String id)</code></li>
- * <li><code>String getName()</code></li>
- * <li><code>IStatus validateInstallLocation(File installLocation)</code></li>
- * </ul>
- * <p>
- * Clients implementing VM install types should subclass this class.
- * </p>
- */
-
-public abstract class AbstractVMInstallType implements IVMInstallType, IExecutableExtension {
-	private List fVMs;
-	private String fId;
-	
-	/**
-	 * Constructs a new VM install type.
-	 */
-	protected AbstractVMInstallType() {
-		fVMs= new ArrayList(10);
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMType#getVMs()
-	 */
-	public IVMInstall[] getVMInstalls() {
-		IVMInstall[] vms= new IVMInstall[fVMs.size()];
-		return (IVMInstall[])fVMs.toArray(vms);
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMType#disposeVM(String)
-	 */
-	public void disposeVMInstall(String id) {
-		for (int i= 0; i < fVMs.size(); i++) {
-			IVMInstall vm= (IVMInstall)fVMs.get(i);
-			if (vm.getId().equals(id)) {
-				fVMs.remove(i);
-				JavaRuntime.fireVMRemoved(vm);
-				return;
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMType#getVM(String)
-	 */
-	public IVMInstall findVMInstall(String id) {
-		for (int i= 0; i < fVMs.size(); i++) {
-			IVMInstall vm= (IVMInstall)fVMs.get(i);
-			if (vm.getId().equals(id)) {
-				return vm;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMType#createVM(String)
-	 */
-	public IVMInstall createVMInstall(String id) throws IllegalArgumentException {
-		if (findVMInstall(id) != null) {
-			String format= LaunchingMessages.getString("vmInstallType.duplicateVM"); //$NON-NLS-1$
-			throw new IllegalArgumentException(MessageFormat.format(format, new String[] { id }));
-		}
-		IVMInstall vm= doCreateVMInstall(id);
-		fVMs.add(vm);
-		return vm;
-	}
-	
-	/**
-	 * Subclasses should return a new instance of the appropriate
-	 * <code>IVMInstall</code> subclass from this method.
-	 * @param	id	The vm's id. The <code>IVMInstall</code> instance that is created must
-	 * 				return <code>id</code> from its <code>getId()</code> method.
-	 * 				Must not be <code>null</code>.
-	 * @return	the newly created IVMInstall instance. Must not return <code>null</code>.
-	 */
-	protected abstract IVMInstall doCreateVMInstall(String id);
-
-	/**
-	 * Initializes the id parameter from the "id" attribute
-	 * in the configuration markup.
-	 * Subclasses should not override this method.
-	 * @see IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
-	 */
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-		fId= config.getAttribute("id"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * Subclasses should not override this method.
-	 * @see IVMType#getId()
-	 */
-	public String getId() {
-		return fId;
-	}
-
-	/**
-	 * @see IVMInstallType#findVMInstallByName(String)
-	 */
-	public IVMInstall findVMInstallByName(String name) {
-		for (int i= 0; i < fVMs.size(); i++) {
-			IVMInstall vm= (IVMInstall)fVMs.get(i);
-			if (vm.getName().equals(name)) {
-				return vm;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns a URL for the default javadoc location of a VM installed at the
-	 * given home location, or <code>null</code> if none. The default
-	 * implementation returns <code>null</code>, subclasses must override as
-	 * appropriate.
-	 * <p>
-	 * Note, this method would ideally be added to <code>IVMInstallType</code>,
-	 * but it would have been a breaking API change between 2.0 and 2.1. Thus,
-	 * it has been added to the abstract base class that VM install types should
-	 * subclass.
-	 * </p>
-	 * 
-	 * @param installLocation home location
-	 * @return default javadoc location or <code>null</code>
-	 * @since 2.1
-	 */
-	public URL getDefaultJavadocLocation(File installLocation) {
-		return null;		
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMRunner.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMRunner.java
deleted file mode 100644
index d1bfe9f..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMRunner.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-
-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.model.IProcess;
-
-/**
- * Abstract implementation of a VM runner.
- * <p>
- * Clients implementing VM runners should subclass this class.
- * </p>
- * @see IVMRunner
- * @since 2.0
- */
-public abstract class AbstractVMRunner implements IVMRunner {
-
-	/**
-	 * 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 void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, getPluginIdentifier(), code, message, exception));
-	}
-	
-	/**
-	 * Returns the identifier of the plug-in this VM runner 
-	 * originated from.
-	 * 
-	 * @return plug-in identifier
-	 */
-	protected abstract String getPluginIdentifier();
-	
-	/**
-	 * @see DebugPlugin#exec(String[], File)
-	 */
-	protected Process exec(String[] cmdLine, File workingDirectory) throws CoreException {
-		return DebugPlugin.exec(cmdLine, workingDirectory);
-	}	
-	
-	/**
-	 * Returns the given array of strings as a single space-delimited string.
-	 * 
-	 * @param cmdLine array of strings
-	 * @return a single space-delimited string
-	 */
-	protected String getCmdLineAsString(String[] cmdLine) {
-		StringBuffer buff= new StringBuffer();
-		for (int i = 0, numStrings= cmdLine.length; i < numStrings; i++) {
-			buff.append(cmdLine[i]);
-			buff.append(' ');	
-		} 
-		return buff.toString().trim();
-	}
-	
-	/**
-	 * Returns the default process attribute map for java processes.
-	 * 
-	 * @return defatult process attribute map for java processes
-	 */
-	protected Map getDefaultProcessMap() {
-		Map map = new HashMap();
-		map.put(IProcess.ATTR_PROCESS_TYPE, IJavaLaunchConfigurationConstants.ID_JAVA_PROCESS_TYPE);
-		return map;
-	}
-			
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/ExecutionArguments.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/ExecutionArguments.java
deleted file mode 100644
index e181312..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/ExecutionArguments.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.boot.BootLoader;
-
-/**
- * The execution arguments for running a Java VM. The execution arguments are
- * separated into two parts: arguments to the VM itself, and arguments to the Java 
- * main program. This class provides convenience methods for parsing a string
- * of arguments into seperate components.
- * <p>
- * Clients may instantiate this class; it is not intended to be subclassed.
- * </p>
- */
-public class ExecutionArguments {
-	private String fVMArgs;
-	private String fProgramArgs;
-		
-	/**
-	 * Creates a new execution arguments object.
-	 *
-	 * @param vmArgs command line argument string passed to the VM
-	 * @param programArgs command line argument string passed to the program
-	 */
-	public ExecutionArguments(String vmArgs, String programArgs) {
-		if (vmArgs == null || programArgs == null)
-			throw new IllegalArgumentException();
-		fVMArgs= vmArgs;
-		fProgramArgs= programArgs;
-	}
-	
-	/**
-	 * Returns the VM arguments as one string.
-	 *
-	 * @return the VM arguments as one string
-	 */
-	public String getVMArguments() {
-		return fVMArgs;
-	}
-	
-	/**
-	 * Returns the program arguments as one string.
-	 *
-	 * @return the program arguments as one string
-	 */
-	public String getProgramArguments() {
-		return fProgramArgs;
-	}
-	
-	/**
-	 * Returns the VM arguments as an array of individual arguments.
-	 *
-	 * @return the VM arguments as an array of individual arguments
-	 */
-	public String[] getVMArgumentsArray() {
-		return parseArguments(fVMArgs);
-	}
-	
-	/**
-	 * Returns the program arguments as an array of individual arguments.
-	 *
-	 * @return the program arguments as an array of individual arguments
-	 */
-	public String[] getProgramArgumentsArray() {
-		return parseArguments(fProgramArgs);
-	}	
-			
-	private static class ArgumentParser {
-		private String fArgs;
-		private int fIndex= 0;
-		private int ch= -1;
-		
-		public ArgumentParser(String args) {
-			fArgs= args;
-		}
-		
-		public String[] parseArguments() {
-			List v= new ArrayList();
-			
-			ch= getNext();
-			while (ch > 0) {
-				while (Character.isWhitespace((char)ch))
-					ch= getNext();	
-				
-				if (ch == '"') {
-					v.add(parseString());
-				} else {
-					v.add(parseToken());
-				}
-			}
-	
-			String[] result= new String[v.size()];
-			v.toArray(result);
-			return result;
-		}
-		
-		private int getNext() {
-			if (fIndex < fArgs.length())
-				return fArgs.charAt(fIndex++);
-			return -1;
-		}
-		
-		private String parseString() {
-			StringBuffer buf= new StringBuffer();
-			ch= getNext();
-			while (ch > 0 && ch != '"') {
-				if (ch == '\\') {
-					ch= getNext();
-					if (ch != '"') {           // Only escape double quotes
-						buf.append('\\');
-					} else {
-						if (BootLoader.getOS().equals(BootLoader.OS_WIN32)) {
-							// @see Bug 26870. Windows requires an extra escape for embedded strings
-							buf.append('\\');
-						}
-					}
-				}
-				if (ch > 0) {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-	
-			ch= getNext();
-			
-			return buf.toString();
-		}
-		
-		private String parseToken() {
-			StringBuffer buf= new StringBuffer();
-			
-			while (ch > 0 && !Character.isWhitespace((char)ch)) {
-				if (ch == '\\') {
-					ch= getNext();
-					if (Character.isWhitespace((char)ch)) {
-						// end of token, don't lose trailing backslash
-						buf.append('\\');
-						return buf.toString();
-					}
-					if (ch > 0) {
-						if (ch != '"') {        // Only escape double quotes
-							buf.append('\\'); 
-						}
-						buf.append((char)ch);
-						ch= getNext();
-					} else if (ch == -1) {     // Don't lose a trailing backslash
-						buf.append('\\');
-					}
-				} else if (ch == '"') {
-					buf.append(parseString());
-				} else {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-			return buf.toString();
-		}
-	}
-	
-	private static String[] parseArguments(String args) {
-		if (args == null)
-			return new String[0];
-		ArgumentParser parser= new ArgumentParser(args);
-		String[] res= parser.parseArguments();
-		
-		return res;
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IJavaLaunchConfigurationConstants.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IJavaLaunchConfigurationConstants.java
deleted file mode 100644
index fb1c227..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IJavaLaunchConfigurationConstants.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-
- 
-/**
- * Constant definitions for Java launch configurations.
- * <p>
- * Constant definitions only; not to be implemented.
- * </p>
- * @since 2.0
- */
-public interface IJavaLaunchConfigurationConstants {
-
-	/**
-	 * Identifier for the Local Java Application launch configuration type
-	 * (value <code>"org.eclipse.jdt.launching.localJavaApplication"</code>).
-	 */
-	public static final String ID_JAVA_APPLICATION = LaunchingPlugin.getUniqueIdentifier() + ".localJavaApplication"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for the Remote Java Application launch configuration type
-	 * (value <code>"org.eclipse.jdt.launching.remoteJavaApplication"</code>).
-	 */
-	public static final String ID_REMOTE_JAVA_APPLICATION = LaunchingPlugin.getUniqueIdentifier() + ".remoteJavaApplication"; //$NON-NLS-1$	
-
-	/**
-	 * Identifier for the Java Applet launch configuration type
-	 * (value <code>"org.eclipse.jdt.launching.javaApplet"</code>).
-	 */
-	public static final String ID_JAVA_APPLET = LaunchingPlugin.getUniqueIdentifier() + ".javaApplet"; //$NON-NLS-1$	
-
-	/**
-	 * Identifier for the standard Socket Attaching VM connector
-	 * (value <code>"org.eclipse.jdt.launching.socketAttachConnector"</code>).
-	 */
-	public static final String ID_SOCKET_ATTACH_VM_CONNECTOR = LaunchingPlugin.getUniqueIdentifier() + ".socketAttachConnector"; //$NON-NLS-1$	
-	
-	/**
-	 * Identifier for the java process type, which is annotated on processes created
-	 * by the local java application launch delegate.
-	 * 
-	 * (value <code>"java"</code>).
-	 */
-	public static final String ID_JAVA_PROCESS_TYPE = "java"; //$NON-NLS-1$ 
-			
-	/**
-	 * Launch configuration attribute key. The value is a name of
-	 * a Java project associated with a Java launch configuration.
-	 */
-	public static final String ATTR_PROJECT_NAME = LaunchingPlugin.getUniqueIdentifier() + ".PROJECT_ATTR"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a fully qualified name
-	 * of a main type to launch.
-	 */
-	public static final String ATTR_MAIN_TYPE_NAME = LaunchingPlugin.getUniqueIdentifier() + ".MAIN_TYPE";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a boolean specifying
-	 * whether execution should stop when main is entered. The default value
-	 * is <code>false</code>.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_STOP_IN_MAIN = LaunchingPlugin.getUniqueIdentifier() + ".STOP_IN_MAIN";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a string specifying
-	 * program arguments for a Java launch configuration, as they should appear
-	 * on the command line.
-	 */
-	public static final String ATTR_PROGRAM_ARGUMENTS = LaunchingPlugin.getUniqueIdentifier() + ".PROGRAM_ARGUMENTS"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a string specifying
-	 * VM arguments for a Java launch configuration, as they should appear
-	 * on the command line.
-	 */
-	public static final String ATTR_VM_ARGUMENTS = LaunchingPlugin.getUniqueIdentifier() + ".VM_ARGUMENTS";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a string specifying a
-	 * path to the working directory to use when launching a local VM.
-	 * When specified as an absolute path, the path represents a path in the local
-	 * file system. When specified as a full path, the path represents a workspace
-	 * relative path. When unspecified, the working directory defaults to the project
-	 * associated with a launch configuration. When no project is associated with a
-	 * launch configuration, the working directory is inherited from the current
-	 * process.
-	 */
-	public static final String ATTR_WORKING_DIRECTORY = LaunchingPlugin.getUniqueIdentifier() + ".WORKING_DIRECTORY";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a name of a VM install
-	 * to use when launching a local VM. This attribute must be qualified
-	 * by a VM install type, via the <code>ATTR_VM_INSTALL_TYPE</code>
-	 * attribute. When unspecified, the default VM is used.
-	 */
-	public static final String ATTR_VM_INSTALL_NAME = LaunchingPlugin.getUniqueIdentifier() + ".VM_INSTALL_NAME"; //$NON-NLS-1$
-		
-	/**
-	 * Launch configuration attribute key. The value is an identifier of
-	 * a VM install type. Used in conjunction with a VM install name, to 
-	 * specify the VM to use when launching a local Java application.
-	 * The associated VM install name is specified via the attribute
-	 * <code>ATTR_VM_INSTALL_NAME</code>.
-	 */
-	public static final String ATTR_VM_INSTALL_TYPE = LaunchingPlugin.getUniqueIdentifier() + ".VM_INSTALL_TYPE_ID"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a Map of attributes specific
-	 * to a particular VM install type, used when launching a local Java
-	 * application. The map is passed to a <code>VMRunner</code> via a <code>VMRunnerConfiguration</code>
-	 * when launching a VM. The attributes in the map are implementation dependent
-	 * and are limited to String keys and values.
-	 */
-	public static final String ATTR_VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP = LaunchingPlugin.getUniqueIdentifier() + "VM_INSTALL_TYPE_SPECIFIC_ATTRS_MAP"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is an identifier of
-	 * a VM connector, specifying a connector to use when attaching to
-	 * a remote VM.
-	 */
-	public static final String ATTR_VM_CONNECTOR= LaunchingPlugin.getUniqueIdentifier() + ".VM_CONNECTOR_ID"; //$NON-NLS-1$
-		
-	/**
-	 * Launch configuration attribute key. The attribute value is an ordered list of strings
-	 * which are mementos for runtime class path entries. When unspecified, a default
-	 * classpath is generated by the classpath provider associated with a launch
-	 * configuration (via the <code>ATTR_CLASSPATH_PROVIDER</code> attribute).
-	 */
-	public static final String ATTR_CLASSPATH = LaunchingPlugin.getUniqueIdentifier() + ".CLASSPATH";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a boolean specfying
-	 * whether a default classpath should be used when launching a local
-	 * Java application. When <code>false</code>, a classpath must be specified
-	 * via the <code>ATTR_CLASSPATH</code> attribute. When <code>true</code> or
-	 * unspecified, a classpath is computed by the classpath provider associated
-	 * with a launch configuration.
-	 */
-	public static final String ATTR_DEFAULT_CLASSPATH = LaunchingPlugin.getUniqueIdentifier() + ".DEFAULT_CLASSPATH"; //$NON-NLS-1$
-
-	/**
-	 * Launch configuration attribute key. The value is an identifier of a
-	 * classpath provider extension used to compute the classpath
-	 * for a launch configuration. When unspecified, the default classpath
-	 * provider is used - <code>StandardClasspathProvider</code>.
-	 */
-	public static final String ATTR_CLASSPATH_PROVIDER = LaunchingPlugin.getUniqueIdentifier() + ".CLASSPATH_PROVIDER";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is an ordered list of
-	 * strings which are mementos for associated runtime classpath entries
-	 * interpreted as locations in which to look for source code. When unspecified,
-	 * a default source lookup path is generated by the source path provider
-	 * associated with a launch configurations (via the
-	 * <code>ATTR_SOURCE_PATH_PROVIDER</code> attribute).
-	 */
-	public static final String ATTR_SOURCE_PATH = LaunchingPlugin.getUniqueIdentifier() + ".SOURCE_PATH";	 //$NON-NLS-1$
-		
-	/**
-	 * Launch configuration attribute key. The value is a boolean specifying
-	 * whether a default source lookup path should be used. When
-	 * <code>false</code> a source path must be specified via the
-	 * <code>ATTR_SOURCE_PATH</code> attribute. When <code>true</code> or
-	 * unspecified, a source lookup path is computed by the source path
-	 * provider associated with a launch configuration.
-	 */
-	public static final String ATTR_DEFAULT_SOURCE_PATH = LaunchingPlugin.getUniqueIdentifier() + ".DEFAULT_SOURCE_PATH"; //$NON-NLS-1$
-
-	/**
-	 * Launch configuration attribute key. The value is an identifier of a
-	 * source path provider extension used to compute the source lookup path
-	 * for a launch configuration. When unspecified, the default source lookup
-	 * path provider is used - <code>StandardSourcePathProvider</code>.
-	 */
-	public static final String ATTR_SOURCE_PATH_PROVIDER = LaunchingPlugin.getUniqueIdentifier() + ".SOURCE_PATH_PROVIDER";	 //$NON-NLS-1$
-			
-	/**
-	 * Launch configuration attribute key. The value is a boolean, indicating
-	 * whether a VM will support/allow the terminate action.
-	 * This attribute is used for remote debugging.
-	 */
-	public static final String ATTR_ALLOW_TERMINATE = LaunchingPlugin.getUniqueIdentifier() + ".ALLOW_TERMINATE";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is a String, indicating
-	 * the String to use to invoke the JRE.
-	 */
-	public static final String ATTR_JAVA_COMMAND = LaunchingPlugin.getUniqueIdentifier() + ".JAVA_COMMAND";	 //$NON-NLS-1$
-
-	/**
-	 * Launch configuration attribute key. The value is 
-	 * a map. Keys in the map correpsond to arguments names
-	 * returned by <code>IVMConnector#getDefaultArguments()</code>.
-	 * Values are strings corresponding to the values to use when
-	 * establishing a connection to a remote VM.
-	 */
-	public static final String ATTR_CONNECT_MAP = LaunchingPlugin.getUniqueIdentifier() + ".CONNECT_MAP";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute key. The value is an integer
-	 * indicating the width of the applet viewing area.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_APPLET_WIDTH = LaunchingPlugin.getUniqueIdentifier() + ".APPLET_WIDTH";	 //$NON-NLS-1$
-
-	/**
-	 * Launch configuration attribute key. The value is an integer
-	 * indicating the height of the applet viewing area.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_APPLET_HEIGHT = LaunchingPlugin.getUniqueIdentifier() + ".APPLET_HEIGHT";	 //$NON-NLS-1$
-
-	/**
-	 * Launch configuration attribute key. The value is a String indicating the
-	 * HTML name of the applet.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_APPLET_NAME = LaunchingPlugin.getUniqueIdentifier() + ".APPLET_NAME";	 //$NON-NLS-1$
-
-	/**
-	 * Launch configuration attribute key. The value is a Map. Keys in the map
-	 * represent applet parameter names and the values in the map are the
-	 * corresponding parameter values
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_APPLET_PARAMETERS = LaunchingPlugin.getUniqueIdentifier() + ".APPLET_PARAMETERS";	 //$NON-NLS-1$
-
-	/**
-	 * Launch configuration attribute key. The value is a String indicating the
-	 * fully qualified name of the appletviewer utility class to use.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_APPLET_APPLETVIEWER_CLASS = LaunchingPlugin.getUniqueIdentifier() + ".APPLET_APPLETVIEWER_CLASS";	 //$NON-NLS-1$
-
-	/**
-	 * Status code indicating a launch configuration does not
-	 * specify a project when a project is required.
-	 */
-	public static final int ERR_UNSPECIFIED_PROJECT = 100;	
-		
-	/**
-	 * Status code indicating a launch configuration does not
-	 * specify a main type to launch.
-	 */
-	public static final int ERR_UNSPECIFIED_MAIN_TYPE = 101;	
-		
-	/**
-	 * Status code indicating a launch configuration does not
-	 * specify a VM Install Type.
-	 */
-	public static final int ERR_UNSPECIFIED_VM_INSTALL_TYPE = 102;
-	
-	/**
-	 * Status code indicating a launch configuration does not
-	 * specify a VM Install
-	 */
-	public static final int ERR_UNSPECIFIED_VM_INSTALL = 103;
-
-	/**
-	 * Status code indicating a launch configuration's VM install
-	 * type could not be found.
-	 */
-	public static final int ERR_VM_INSTALL_TYPE_DOES_NOT_EXIST = 104;
-		
-	/**
-	 * Status code indicating a launch configuration's VM install
-	 * could not be found.
-	 */
-	public static final int ERR_VM_INSTALL_DOES_NOT_EXIST = 105;
-	
-	/**
-	 * Status code indicating a VM runner could not be located
-	 * for the VM install specified by a launch configuration.
-	 */
-	public static final int ERR_VM_RUNNER_DOES_NOT_EXIST = 106;	
-	
-	/**
-	 * Status code indicating the project associated with
-	 * a launch configuration is not a Java project.
-	 */
-	public static final int ERR_NOT_A_JAVA_PROJECT = 107;	
-	
-	/**
-	 * Status code indicating the specified working directory
-	 * does not exist.
-	 */
-	public static final int ERR_WORKING_DIRECTORY_DOES_NOT_EXIST = 108;	
-		
-	/**
-	 * Status code indicating a launch configuration does not
-	 * specify a host name value
-	 */
-	public static final int ERR_UNSPECIFIED_HOSTNAME = 109;
-
-	/**
-	 * Status code indicating a launch configuration has
-	 * specified an invalid host name attribute
-	 */
-	public static final int ERR_INVALID_HOSTNAME = 110;
-
-	/**
-	 * Status code indicating a launch configuration does not
-	 * specify a port number value
-	 */
-	public static final int ERR_UNSPECIFIED_PORT = 111;
-
-	/**
-	 * Status code indicating a launch configuration has
-	 * specified an invalid port number attribute
-	 */
-	public static final int ERR_INVALID_PORT = 112;
-
-	/**
-	 * Status code indicating an attempt to connect to a remote VM
-	 * has failed.
-	 */
-	public static final int ERR_REMOTE_VM_CONNECTION_FAILED = 113;
-
-	/**
-	 * Status code indicating that the shared memory attach connector
-	 * could not be found.
-	 */
-	public static final int ERR_SHARED_MEMORY_CONNECTOR_UNAVAILABLE = 114;
-	
-	/**
-	 * Status code indicating that the Eclipse runtime does not support
-	 * launching a program with a working directory. This feature is only
-	 * available if Eclipse is run on a 1.3 runtime or higher.
-	 * <p>
-	 * A status handler may be registered for this error condition,
-	 * and should return a Boolean indicating whether the program
-	 * should be relaunched with the default working directory.
-	 * </p>
-	 */
-	public static final int ERR_WORKING_DIRECTORY_NOT_SUPPORTED = 115;	
-	
-	/**
-	 * Status code indicating that an error occurred launching a VM.
-	 * The status error message is the text that
-	 * the VM wrote to standard error before exiting.
-	 */
-	public static final int ERR_VM_LAUNCH_ERROR = 116;	
-	
-	/**
-	 * Status code indicating that a timeout has occurred waiting for
-	 * the VM to connect with the debugger.
-	 * <p>
-	 * A status handler may be registered for this error condition,
-	 * and should return a Boolean indicating whether the program
-	 * should continue waiting for a connection for the associated
-	 * timeout period.
-	 * </p>
-	 */
-	public static final int ERR_VM_CONNECT_TIMEOUT = 117;	
-	
-	/**
-	 * Status code indicating that a free socket was not available to
-	 * communicate with the VM.
-	 */
-	public static final int ERR_NO_SOCKET_AVAILABLE = 118;		
-	
-	/**
-	 * Status code indicating that the JDI connector required for a
-	 * debug launch was not available.
-	 */
-	public static final int ERR_CONNECTOR_NOT_AVAILABLE = 119;	
-	
-	/**
-	 * Status code indicating that the debugger failed to connect
-	 * to the VM.
-	 */
-	public static final int ERR_CONNECTION_FAILED = 120;		
-
-	/**
-	 * Status code indicating that the applet launcher was asked to
-	 * launch a resource that did not extend <code>java.applet.Applet</code>.
-	 * 
-	 * @since 2.1
-	 */
-	public static final int ERR_NOT_AN_APPLET = 121;		
-
-	/**
-	 * Status code indicating that no launch configuration was specified.
-	 * 
-	 * @since 2.1
-	 */
-	public static final int ERR_UNSPECIFIED_LAUNCH_CONFIG = 122;		
-
-	/**
-	 * Status code indicating that the .html file used to initiate an applet
-	 * launch could not be built.
-	 * 
-	 * @since 2.1
-	 */
-	public static final int ERR_COULD_NOT_BUILD_HTML = 123;		
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int ERR_INTERNAL_ERROR = 150;		
-
-	/**
-	 * Default value for the 'ATTR_APPLET_APPLETVIEWER' attribute.
-	 * 
-	 * @since 2.1
-	 */	
-	public static final String DEFAULT_APPLETVIEWER_CLASS = "sun.applet.AppletViewer";	 //$NON-NLS-1$
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathEntry.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathEntry.java
deleted file mode 100644
index 29dd090..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathEntry.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-/**
- * Represents an entry on a runtime classpath. A runtime classpath entry
- * may refer to one of the following:
- * <ul>
- * 	<li>A Java project (type <code>PROJECT</code>) - a project entry refers
- * 		to all of the built classes in a project, and resolves to the output
- * 		location(s) of the associated Java project.</li>
- * 	<li>An archive (type <code>ARCHIVE</code>) - an archive refers to a jar, zip, or
- * 		folder in the workspace or in the local file system containing class
- * 		files. An archive may have attached source.</li>
- * 	<li>A variable (type <code>VARIABLE</code>) - a variable refers to a 
- * 		classpath variable, which may refer to a jar.</li>
- * 	<li>A library (type <code>CONTAINER</code>) - a container refers to classpath
- * 		conatiner variable which refers to a collection of archives derived
- * 		dynamically, on a per project basis.</li>
- * </ul>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IRuntimeClasspathEntry {
-	
-	/**
-	 * Type identifier for project entries.
-	 */
-	public static final int PROJECT = 1;
-	
-	/**
-	 * Type identifier for archive entries.
-	 */
-	public static final int ARCHIVE = 2;	
-		
-	/**
-	 * Type identifier for variable entries.
-	 */
-	public static final int VARIABLE = 3;
-	
-	/**
-	 * Type identifier for container entries.
-	 */
-	public static final int CONTAINER = 4;
-
-	/**
-	 * Classpath property identifier for entries that appear on the
-	 * bootstrap path by default.
-	 */
-	public static final int STANDARD_CLASSES = 1;	
-	
-	/**
-	 * Classpath property identifier for entries that should appear on the
-	 * bootstrap path explicitly.
-	 */
-	public static final int BOOTSTRAP_CLASSES = 2;	
-		
-	/**
-	 * Classpath property identifier for entries that should appear on the
-	 * user classpath.
-	 */
-	public static final int USER_CLASSES = 3;	
-	
-	/**
-	 * Returns this classpath entry's type. The type of a runtime classpath entry is
-	 * identified by one of the following constants:
-	 * <ul>
-	 * <li><code>PROJECT</code></li>
-	 * <li><code>ARCHIVE</code></li>
-	 * <li><code>VARIABLE</code></li>
-	 * <li><code>CONTAINER</code></li>
-	 * </ul>
-	 * 
-	 * @return this classpath entry's type
-	 */
-	public int getType();
-	
-	/**
-	 * Returns a memento for this classpath entry.
-	 * 
-	 * @return a memento for this classpath entry
-	 * @exception CoreException if an exception occurrs generating a memento
-	 */
-	public String getMemento() throws CoreException;
-	
-	/**
-	 * Returns the path associated with this entry. The format of the
-	 * path returned depends on this entry's type:
-	 * <ul>
-	 * <li><code>PROJECT</code> - a workspace relative path to the associated
-	 * 		project.</li>
-	 * <li><code>ARCHIVE</code> - the absolute path of the assoicated archive,
-	 * 		which may or may not be in the workspace.</li>
-	 * <li><code>VARIALBE</code> - the path corresponding to the associated
-	 * 		classpath variable entry.</li>
-	 * <li><code>CONTAINER</code> - the path corresponding to the associated
-	 * 		classpath container variable entry.</li>
-	 * </ul>
-	 * 
-	 * @return the path associated with this entry
-	 * @see org.eclipse.jdt.core.IClasspathEntry#getPath()
-	 */
-	public IPath getPath();
-		
-	/**
-	 * Returns the resource associated with this entry, or <code>null</code>
-	 * if none. A project, archive, or folder entry may be associated
-	 * with a resource.
-	 * 
-	 * @return the resource associated with this entry, or <code>null</code>
-	 */ 
-	public IResource getResource();
-	
-	/**
-	 * Returns the path to the source archive associated with this
-	 * entry, or <code>null</code> if this classpath entry has no
-	 * source attachment.
-	 * <p>
-	 * Only archive and variable entries may have source attachments.
-	 * For archive entries, the path (if present) locates a source
-	 * archive. For variable entries, the path (if present) has
-	 * an analogous form and meaning as the variable path, namely the first segment 
-	 * is the name of a classpath variable.
-	 * </p>
-	 *
-	 * @return the path to the source archive, or <code>null</code> if none
-	 */
-	public IPath getSourceAttachmentPath();
-
-	/**
-	 * Sets the path to the source archive associated with this
-	 * entry, or <code>null</code> if this classpath entry has no
-	 * source attachment.
-	 * <p>
-	 * Only archive and variable entries may have source attachments.
-	 * For archive entries, the path refers to a source
-	 * archive. For variable entries, the path has
-	 * an analogous form and meaning as the variable path, namely the
-	 * first segment  is the name of a classpath variable.
-	 * </p>
-	 *
-	 * @param path the path to the source archive, or <code>null</code> if none
-	 */
-	public void setSourceAttachmentPath(IPath path);
-	
-	/**
-	 * Returns the path within the source archive where package fragments
-	 * are located. An empty path indicates that packages are located at
-	 * the root of the source archive. Returns a non-<code>null</code> value
-	 * if and only if <code>getSourceAttachmentPath</code> returns 
-	 * a non-<code>null</code> value.
-	 *
-	 * @return root path within the source archive, or <code>null</code> if
-	 *    not applicable
-	 */
-	public IPath getSourceAttachmentRootPath();
-	
-	/**
-	 * Sets the path within the source archive where package fragments
-	 * are located. An empty path indicates that packages are located at
-	 * the root of the source archive. Only valid if a source attachment
-	 * path is also specified.
-	 *
-	 * @param path root path within the source archive, or <code>null</code>
-	 */	
-	public void setSourceAttachmentRootPath(IPath path);
-	
-	/**
-	 * Returns a constant indicating where this entry should appear on the 
-	 * runtime classpath by default.
-	 * The value returned is one of the following:
-	 * <ul>
-	 * <li><code>STANDARD_CLASSES</code> - a standard entry does not need to appear
-	 * 		on the runtime classpath</li>
-	 * <li><code>BOOTSTRAP_CLASSES</code> - a bootstrap entry should appear on the
-	 * 		boot path</li>
-	 * <li><code>USER_CLASSES</code> - a user entry should appear on the path
-	 * 		conatining user or application classes</li>
-	 * </ul>
-	 * 
-	 * @return where this entry should appear on the runtime classpath
-	 */
-	public int getClasspathProperty();
-	
-	/**
-	 * Sets whether this entry should appear on the bootstrap classpath,
-	 * the user classpath, or whether this entry is a standard bootstrap entry
-	 * that does not need to appear on the classpath.
-	 * The location is one of:
-	 * <ul>
-	 * <li><code>STANDARD_CLASSES</code> - a standard entry does not need to appear
-	 * 		on the runtime classpath</li>
-	 * <li><code>BOOTSTRAP_CLASSES</code> - a bootstrap entry should appear on the
-	 * 		boot path</li>
-	 * <li><code>USER_CLASSES</code> - a user entry should appear on the path
-	 * 		conatining user or application classes</li>
-	 * </ul>
-	 * 
-	 * @param location a classpat property constant
-	 */
-	public void setClasspathProperty(int location);	
-	
-	/**
-	 * Returns an absolute path in the local file system for this entry,
-	 * or <code>null</code> if none, or if this entry is of type <code>CONTAINER</code>.
-	 * 
-	 * @return an absolute path in the local file system for this entry,
-	 *  or <code>null</code> if none
-	 */
-	public String getLocation();
-		
-	/**
-	 * Returns an absolute path in the local file system for the source
-	 * attachment associated with this entry entry, or <code>null</code> if none.
-	 * 
-	 * @return an absolute path in the local file system for the source
-	 *  attachment associated with this entry entry, or <code>null</code> if none
-	 */
-	public String getSourceAttachmentLocation();	
-	
-	/**
-	 * Returns a path relative to this entry's source attachment path for the
-	 * root location containing source, or <code>null</code> if none.
-	 * 
-	 * @return a path relative to this entry's source attachment path for the
-	 *  root location containing source, or <code>null</code> if none
-	 */
-	public String getSourceAttachmentRootLocation();		
-	
-	/**
-	 * Returns the first segment of the path associated with this entry, or <code>null</code>
-	 * if this entry is not of type <code>VARIABLE</code> or <code>CONTAINER</code>.
-	 * 
-	 * @return the first segment of the path associated with this entry, or <code>null</code>
-	 *  if this entry is not of type <code>VARIABLE</code> or <code>CONTAINER</code>
-	 */
-	public String getVariableName();
-	
-	/**
-	 * Returns a classpath entry equivalent to this runtime classpath entry.
-	 * 
-	 * @return a classpath entry equivalent to this runtime classpath entry
-	 * @since 2.1
-	 */
-	public IClasspathEntry getClasspathEntry();
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathEntryResolver.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathEntryResolver.java
deleted file mode 100644
index 5ddb73d..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathEntryResolver.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-
-/**
- * Resolves variable and/or container runtime classpath entries in
- * the context of a launch configuration or Java project. A resolver can be declared
- * as an extension (<code>org.eclipse.jdt.launching.runtimeClasspathEntryResolver</code>),
- * or be registered with the <code>JavaRuntime</code> programatically.
- * <p>
- * A resolver is registered for a specific classpath
- * <code>VARIABLE</code> and/or <code>CONTAINER</code>. A resolver is
- * consulted when a runtime classpath entry is needs to be resolved.
- * </p>
- * A resolver extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a runtime classpath entry
- * resolver extension.
- * <pre>
- * &lt;extension point="org.eclipse.jdt.launching.runtimeClasspathEntryResolvers"&gt;
- *   &lt;runtimeClasspathEntryResolver 
- *      id="com.example.ExampleResolver"
- *      class="com.example.ExampleResolverImpl"
- *      variable="VAR_NAME"
- *      container="CONTAINER_ID"
- *   &lt;/runtimeClasspathEntryResolver&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this extension.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IRuntimeClasspathEntryResolver</code>.</li>
- * <li><code>variable</code> name of the classpath variable this resolver
- * 	is registered for.</li>
- * <li><code>container</code> identifier of the classpath container this
- * 	resolver is registered for.</li>
- * </ul>
- * At least one of <code>variable</code> or <code>container</code> must be
- * specified.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IRuntimeClasspathEntryResolver {
-	
-	/**
-	 * Returns resolved runtime classpath entries for the given runtime classpath entry,
-	 * in the context of the given launch configuration.
-	 * 
-	 * @param entry runtime classpath entry to resolve, of type
-	 * 	<code>VARIABLE</code> or <code>CONTAINTER</code>
-	 * @param configuration the context in which the runtime classpath entry
-	 * 	needs to be resolved
-	 * @return resolved entries (zero or more)
-	 * @exception CoreException if unable to resolve the entry  
-	 */
-	public IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Returns resolved runtime classpath entries for the given runtime classpath entry,
-	 * in the context of the given Java project.
-	 * 
-	 * @param entry runtime classpath entry to resolve, of type
-	 * 	<code>VARIABLE</code> or <code>CONTAINTER</code>
-	 * @param project context in which the runtime classpath entry
-	 * 	needs to be resolved
-	 * @return resolved entries (zero or more)
-	 * @exception CoreException if unable to resolve the entry  
-	 */
-	public IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, IJavaProject project) throws CoreException;	
-	
-	/**
-	 * Returns a VM install associated with the given classpath entry,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param entry classpath entry
-	 * @return vm install associated with entry or <code>null</code> if none
-	 * @exception CoreException if unable to resolve a VM
-	 */
-	public IVMInstall resolveVMInstall(IClasspathEntry entry) throws CoreException;
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathProvider.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathProvider.java
deleted file mode 100644
index 1326372..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeClasspathProvider.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A classpath provider computes an unresolved classpath for a launch
- * configuration, and resolves classpath entries for a launch configuration.
- * A classpath provider is defined as an extension of type 
- * <code>org.eclipse.jdt.launching.classpathProvider</code>.
- * <p>
- * A provider is registered with an identifier that can be
- * referenced by a launch configuration. A classpath provider is consulted
- * to compute a classpath or source lookup path when a launch configuration
- * references a provider in one or both of the following attributes:
- * <ul>
- * <li><code>ATTR_CLASSPATH_PROVIDER</code></li>
- * <li><code>ATTR_SOURCE_PATH_PROVIDER</code></li>
- * </ul>
- * </p>
- * A provider extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a runtime classpath provider
- * extension.
- * <pre>
- * &lt;extension point="org.eclipse.jdt.launching.classpathProviders"&gt;
- *   &lt;classpathProvider 
- *      id="com.example.ExampleClasspathProvider"
- *      class="com.example.ExampleClasspathProviderImpl"
- *   &lt;/classpathProvider&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this extension. This 
- * 	identifier may be used to reference a provider on one of the launch
- *  configuration attributes mentioned above.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IRuntimeClasspathProvider</code>.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * 
- * @since 2.0
- */
-public interface IRuntimeClasspathProvider {
-	
-	/**
-	 * Computes and returns an unresolved classpath for the given launch configuration.
-	 * Variable and container entries are not resolved.
-	 * 
-	 * @param configuration launch configuration
-	 * @return unresolved path
-	 * @exception CoreException if unable to compute a path
-	 */
-	public IRuntimeClasspathEntry[] computeUnresolvedClasspath(ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Returns the resolved path corresponding to the given path, in the context of the
-	 * given launch configuration. Variable and container entries are resolved. The returned
-	 * (resolved) path need not have the same number of entries as the given (unresolved)
-	 * path.
-	 * 
-	 * @param entries entries to resolve
-	 * @param configuration launch configuration context to resolve in
-	 * @return resolved path
-	 * @exception CoreException if unable to resolve a path
-	 */
-	public IRuntimeClasspathEntry[] resolveClasspath(IRuntimeClasspathEntry[] entries, ILaunchConfiguration configuration) throws CoreException;
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeContainerComparator.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeContainerComparator.java
deleted file mode 100644
index 85a14e9..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IRuntimeContainerComparator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Determines if container entries are duplicates/redundant on a runtime
- * classpath. If an <code>IClasspathContianer</code> implements this interface,
- * the <code>isDuplicate</code> method is used to determine if containers are
- * duplicates/redundant. Otherwise, containers with the same identifier are
- * considered duplicates. 
- * 
- * @since 2.0.1
- */
-public interface IRuntimeContainerComparator {
-	
-	/**
-	 * Returns whether this container is a duplicate of the conatiner
-	 * identified by the given path.
-	 * 
-	 * @return whether this container is a duplicate of the conatiner
-	 * identified by the given path
-	 */
-	public boolean isDuplicate(IPath containerPath);
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMConnector.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMConnector.java
deleted file mode 100644
index 52a08e0..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMConnector.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
- 
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-
-/**
- * A VM connector establishes a JDI connection with a debuggable
- * virtual machine. This extension point provides a mechanism for
- * abstracting the connection to a remote virtual machine.
- * <p>
- * A VM connector extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a VM connector extension.
- * <pre>
- * &lt;extension point="org.eclipse.jdt.launching.vmConnectors"&gt;
- *   &lt;vmConnector 
- *      id="com.example.VMConnector"
- *      class="com.example.VMConnectorClass"
- *   &lt;/vmConnector&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this VM connector.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IVMConnector</code>.</li>
- * </ul>
- * </p>
- * @since 2.0
- */
-
-public interface IVMConnector {
-	
-	/**
-	 * Establishes a JDI connection with a debuggable VM using the arguments
-	 * specified in the given map, contributing results (debug targets and processes),
-	 * to the given launch.
-	 * 
-	 * @param arguments Argument map to use in establishing a connection. The keys of
-	 * 	the map are strings corresponding to the names of arguments returned by this
-	 * 	connector's <code>getDefaultAgruments()</code> method. The values of the map
-	 * 	are strings corresponding to the (String) values of the asscoiated
-	 *  <code>com.sun.jdi.connect.Connector.Argument</code>s to use.
-	 * @param monitor progress monitor
-	 * @param launch launch to contribute debug target(s) and/or process(es) to
-	 * @exception CoreException if unable to establish a connection with the target VM
-	 */
-	public void connect(Map arguments, IProgressMonitor monitor, ILaunch launch) throws CoreException;
-		
-	/**
-	 * Returns the name of this connector.
-	 * 
-	 * @return the name of this connector
-	 */
-	public String getName();
-	
-	/**
-	 * Returns a unique indentifier for this kind of connector.
-	 * 
-	 * @return a unique indentifier for this kind of connector
-	 */
-	public String getIdentifier();
-	
-	/**
-	 * Returns a map of default arguments used by this connector. 
-	 * The keys of the map are names of arguments used by this
-	 * connector, and the values are of type
-	 * <code>com.sun.jdi.connect.Connector.Argument</code>.
-	 * 
-	 * @return argument map with default values
-	 * @exception CoreException if unable to retrieve a default argument map
-	 */
-	public Map getDefaultArguments() throws CoreException;
-	
-	/**
-	 * Returns a list of argument names found in this connector's
-	 * default argument map, defining the order in which arguments
-	 * should be presented to the user. Since a map is not ordered,
-	 * this provides control on how arguments will be presented to 
-	 * the user.
-	 * 
-	 * @return list of argument names
-	 */
-	public List getArgumentOrder();	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstall.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstall.java
deleted file mode 100644
index 128cbf1..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstall.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.launching;
-
-import java.io.File;
-import java.net.URL;
-
-/**
- * Represents a particular installation of a VM. A VM instance holds all parameters
- * specific to a VM installation. Unlike VM types, VM instances can be created and
- * configured dynamically at run-time. This is typically done by the user 
- * interactively in the UI.
- * <p>
- * A VM install is responsible for creating VM runners to launch a Java program
- * in a specific mode.
- * </p>
- * <p>
- * This interface is intended to be implemented by clients that contribute
- * to the <code>"org.eclipse.jdt.launching.vmType"</code> extension point.
- * </p>
- */
-public interface IVMInstall {
-	/**
-	 * Returns a VM runner that runs this installed VM in the given mode.
-	 * 
-	 * @param mode the mode the VM should be launched in; one of the constants
-	 *   declared in <code>org.eclipse.debug.core.ILaunchManager</code>
-	 * @return 	a VMRunner for a given mode May return <code>null</code> if the given mode
-	 * 			is not supported by this VM.
-	 * @see org.eclipse.debug.core.ILaunchManager
-	 */
-	IVMRunner getVMRunner(String mode);
-	/**
-	 * Returns the id for this VM. VM ids are unique within the VMs 
-	 * of a given VM type. The VM id is not intended to be presented to users.
-	 * 
-	 * @return the VM identifier. Must not return <code>null</code>.
-	 */
-	String getId();
-	/**
-	 * Returns the display name of this VM.
-	 * The VM name is intended to be presented to users.
-	 * 
-	 * @return the display name of this VM. May return <code>null</code>.
-	 */
-	String getName();
-	/**
-	 * Sets the display name of this VM.
-	 * The VM name is intended to be presented to users.
-	 * 
-	 * @param name the display name of this VM
-	 */
-	void setName(String name);
-	/**
-	 * Returns the root directory of the install location of this VM.
-	 * 
-	 * @return the root directory of this VM installation. May
-	 * 			return <code>null</code>.
-	 */
-	File getInstallLocation();
-	/**
-	 * Sets the root directory of the install location of this VM.
-	 * 
-	 * @param installLocation the root directory of this VM installation
-	 */
-	void setInstallLocation(File installLocation);
-		
-	/**
-	 * Returns the VM type of this VM.
-	 * 
-	 * @return the VM type that created this IVMInstall instance
-	 */
-	IVMInstallType getVMInstallType();
-	
-	/**
-	 * Returns the library locations of this IVMInstall. Generally,
-	 * clients should use <code>JavaRuntime.getLibraryLocations(IVMInstall)</code>
-	 * to determine the libraries associated with this VM install.
-	 * 
-	 * @see IVMInstall#setLibraryLocations(LibraryLocation[])
-	 * @return 	The library locations of this IVMInstall.
-	 * 			Returns <code>null</code> to indicate that this VM install uses
-	 * 			the default library locations associated with this VM's install type.
-	 * @since 2.0
-	 */
-	LibraryLocation[] getLibraryLocations();	
-	
-	/**
-	 * Sets the library locations of this IVMInstall.
-	 * @param	locations The <code>LibraryLocation</code>s to associate
-	 * 			with this IVMInstall.
-	 * 			May be <code>null</code> to indicate that this VM install uses
-	 * 			the default library locations associated with this VM's install type.
-	 * @since 2.0
-	 */
-	void setLibraryLocations(LibraryLocation[] locations);	
-	
-	/**
-	 * Sets the Javadoc location associated with this VM install.
-	 * 
-	 * @param url a url pointing to the Javadoc location associated with
-	 * 	this VM install
-	 * @since 2.0
-	 */
-	public void setJavadocLocation(URL url);
-	
-	/**
-	 * Returns the Javadoc location associated with this VM install.
-	 * 
-	 * @return a url pointing to the Javadoc location associated with
-	 * 	this VM install, or <code>null</code> if none
-	 * @since 2.0
-	 */
-	public URL getJavadocLocation();	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstallChangedListener.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstallChangedListener.java
deleted file mode 100644
index 1adb579..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstallChangedListener.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
- 
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-
-/**
- * A VM install changed listener is notified when
- * the workspace default VM install changes, or when an attribute of
- * a specific VM install changes.
- * Listeners register with <code>JavaRuntime</code>.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IVMInstallChangedListener {
-	
-	/**
-	 * Property constant indicating the library locations associated
-	 * with a VM install have changed.
-	 */
-	public static final String PROPERTY_LIBRARY_LOCATIONS = LaunchingPlugin.getUniqueIdentifier() + ".PROPERTY_LIBRARY_LOCATIONS"; //$NON-NLS-1$
-
-	/**
-	 * Property constant indicating the name associated
-	 * with a VM install has changed.
-	 */
-	public static final String PROPERTY_NAME = LaunchingPlugin.getUniqueIdentifier() + ".PROPERTY_NAME"; //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating the install location of
-	 * a VM install has changed.
-	 */
-	public static final String PROPERTY_INSTALL_LOCATION = LaunchingPlugin.getUniqueIdentifier() + ".PROPERTY_INSTALL_LOCATION";	 //$NON-NLS-1$
-			
-	/**
-	 * Property constant indicating the Javadoc location associated
-	 * with a VM install has changed.
-	 */
-	public static final String PROPERTY_JAVADOC_LOCATION = LaunchingPlugin.getUniqueIdentifier() + ".PROPERTY_JAVADOC_LOCATION"; //$NON-NLS-1$
-			
-	/**
-	 * Notification that the workspace default VM install
-	 * has changed.
-	 * 
-	 * @param previous the VM install that was previously assigned
-	 * 	to the workspace, possibly <code>null</code>
-	 * @param current the VM install that is currently assigned to the
-	 * 	workspace, possibly <code>null</code>
-	 */
-	public void defaultVMInstallChanged(IVMInstall previous, IVMInstall current);
-	
-	/**
-	 * Notification that a property of a VM install has changed.
-	 * 
-	 * @param event event describing the change. The VM that has changed
-	 * 	is the source object associated with the event.
-	 */
-	public void vmChanged(PropertyChangeEvent event);	
-	
-	/**
-	 * Notification that a VM has been created.
-	 * 
-	 * @param vm the vm that has been created
-	 */
-	public void vmAdded(IVMInstall vm);		
-	
-	/**
-	 * Notification that a VM has been disposed.
-	 * 
-	 * @param vm the vm that has been disposed
-	 */
-	public void vmRemoved(IVMInstall vm);			
-	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstallType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstallType.java
deleted file mode 100644
index a11b45a..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMInstallType.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.launching;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Represents a particular type of VM for which there may be
- * any number of VM installations. An example of a VM type
- * is the standard JRE which might have instances corresponding 
- * to different installed versions such as JRE 1.2.2 and
- * JRE 1.3.
- * <p>
- * This interface is intended to be implemented by clients that contribute
- * to the <code>"org.eclipse.jdt.launching.vmType"</code> extension point.
- * </p>
- * 
- * @see	IVMInstall
- */
-public interface IVMInstallType {
-	/**
-	 * Creates a new instance of this VM Install type.
-	 * The newly created IVMInstall is managed by this IVMInstallType.
-	 * 
-	 * @param	id	An id String that must be unique within this IVMInstallType.
-	 * 
-	 * @return the newly created VM instance
-	 * 
-	 * @throws	IllegalArgumentException	If the id exists already.
-	 */
-	IVMInstall createVMInstall(String id);
-	/**
-	 * Finds the VM with the given id.
-	 * 
-	 * @param id the VM id
-	 * @return a VM instance, or <code>null</code> if not found
-	 */
-	IVMInstall findVMInstall(String id);
-	/**
-	 * Finds the VM with the given name.
-	 * 
-	 * @param name the VM name
-	 * @return a VM instance, or <code>null</code> if not found
-	 * @since 2.0
-	 */
-	IVMInstall findVMInstallByName(String name);	
-	
-	/**
-	 * Remove the VM associated with the given id from the set of VMs managed by
-	 * this VM type. Has no effect if a VM with the given id is not currently managed
-	 * by this type.
-	 * A VM install that is disposed may not be used anymore.
-	 * 
-	 * @param id the id of the VM to be disposed.
-	 */
-	void disposeVMInstall(String id);
-	/**
-	 * Returns all VM instances managed by this VM type.
-	 * 
-	 * @return the list of VM instances managed by this VM type
-	 */
-	IVMInstall[] getVMInstalls();
-	/**
-	 * Returns the display name of this VM type.
-	 * 
-	 * @return the name of this IVMInstallType
-	 */ 
-	String getName();
-	
-	/**
-	 * Returns the globally unique id of this VM type.
-	 * Clients are reponsible for providing a unique id.
-	 * 
-	 * @return the id of this IVMInstallType
-	 */ 
-	String getId();
-	/**
-	 * Validates the given location of a VM installation.
-	 * <p>
-	 * For example, an implementation might check whether the VM executeable 
-	 * is present.
-	 * </p>
-	 * 
-	 * @param installLocation the root directory of a potential installation for
-	 *   this type of VM
-	 * @return a status object describing whether the install location is valid
-	 */
-	IStatus validateInstallLocation(File installLocation);
-	
-	/**
-	 * Tries to detect an installed VM that matches this VM install type.
-	 * Typically, this method will detect the VM installation the
-	 * Eclipse platform runs on. Implementers should return <code>null</code> if they
-	 * can't assure that a given vm install matches this IVMInstallType.
-	 * @return The location of an VM installation that can be used
-	 * 			with this VM install type, or <code>null</code> if unable
-	 * 			to locate an installed VM.
-	 */
-	File detectInstallLocation();
-		
-	/**
-	 * Returns a collection of <code>LibraryLocation</code>s that represent the
-	 * default system libraries of this VM install type, if a VM was installed
-	 * at the given <code>installLocation</code>.
-	 * The returned <code>LibraryLocation</code>s may not exist if the
-	 * <code>installLocation</code> is not a valid install location.
-	 * 
-	 * @param installLocation home location
-	 * @see LibraryLocation
-	 * @see IVMInstallType#validateInstallLocation(File)
-	 * 
-	 * @return default library locations based on the given <code>installLocation</code>.
-	 * @since 2.0
-	 */
-	LibraryLocation[] getDefaultLibraryLocations(File installLocation);	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMRunner.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMRunner.java
deleted file mode 100644
index 7786f81..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/IVMRunner.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.launching;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-
-
-
-/**
- * A VM runner starts a Java VM running a Java program.
- * <p>
- * Clients may implement this interface to launch a new kind of VM.
- * </p>
- */
-public interface IVMRunner {
-		
-	/**
-	 * Launches a Java VM as specified in the given configuration,
-	 * contributing results (debug targets and processes), to the
-	 * given launch.
-	 *
-	 * @param configuration the configuration settings for this run
-	 * @param launch the launch to contribute to
-	 * @param monitor progress monitor or <code>null</code>
-	 * @exception CoreException if an exception occurs while launching
-	 */
-	public void run(VMRunnerConfiguration configuration, ILaunch launch, IProgressMonitor monitor) throws CoreException;	
-	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
deleted file mode 100644
index 0aa1889..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
+++ /dev/null
@@ -1,1757 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.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.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.launching.CompositeId;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.internal.launching.ListenerList;
-import org.eclipse.jdt.internal.launching.RuntimeClasspathEntry;
-import org.eclipse.jdt.internal.launching.RuntimeClasspathEntryResolver;
-import org.eclipse.jdt.internal.launching.RuntimeClasspathProvider;
-import org.eclipse.jdt.internal.launching.SocketAttachConnector;
-import org.eclipse.jdt.internal.launching.VMDefinitionsContainer;
-
-/**
- * The central access point for launching support. This class manages
- * the registered VM types contributed through the 
- * <code>"org.eclipse.jdt.launching.vmType"</code> extension point.
- * As well, this class provides VM install change notification,
- * and computes classpaths and source lookup paths for launch
- * configurations.
- * <p>
- * This class provides static methods only; it is not intended to be
- * instantiated or subclassed by clients.
- * </p>
- */
-public final class JavaRuntime {
-	
-	/**
-	 * Classpath variable name used for the default JRE's library
-	 * (value <code>"JRE_LIB"</code>).
-	 */
-	public static final String JRELIB_VARIABLE= "JRE_LIB"; //$NON-NLS-1$
-
-	/**
-	 * Classpath variable name used for the default JRE's library source
-	 * (value <code>"JRE_SRC"</code>).
-	 */
-	public static final String JRESRC_VARIABLE= "JRE_SRC"; //$NON-NLS-1$
-	
-	/**
-	 * Classpath variable name used for the default JRE's library source root
-	 * (value <code>"JRE_SRCROOT"</code>).
-	 */	
-	public static final String JRESRCROOT_VARIABLE= "JRE_SRCROOT"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"runtimeClasspathEntryResolvers"</code>) for the
-	 * runtime classpath entry resolvers extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_RUNTIME_CLASSPATH_ENTRY_RESOLVERS= "runtimeClasspathEntryResolvers";	 //$NON-NLS-1$	
-	
-	/**
-	 * Simple identifier constant (value <code>"classpathProviders"</code>) for the
-	 * runtime classpath providers extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_RUNTIME_CLASSPATH_PROVIDERS= "classpathProviders";	 //$NON-NLS-1$		
-		
-	/**
-	 * Classpath container used for a project's JRE
-	 * (value <code>"org.eclipse.jdt.launching.JRE_CONTAINER"</code>). A
-	 * container  is resolved in the context of a specific Java project, to one
-	 * or more system libraries contained in a JRE. The container can have zero
-	 * or two path segments following the container name. When no segments
-	 * follow the container name, the workspace default JRE is used to build a
-	 * project. Otherwise the segments identify a specific JRE used to build a
-	 * project:
-	 * <ol>
-	 * <li>VM Install Type Identifier - identifies the type of JRE used to build the
-	 * 	project. For example, the standard VM.</li>
-	 * <li>VM Install Name - a user defined name that identifies that a specific VM
-	 * 	of the above kind. For example, <code>IBM 1.3.1</code>. This information is
-	 *  shared in a projects classpath file, so teams must agree on JRE naming
-	 * 	conventions.</li>
-	 * </ol>
-	 * 
-	 * @since 2.0
-	 */
-	public static final String JRE_CONTAINER = LaunchingPlugin.getUniqueIdentifier() + ".JRE_CONTAINER"; //$NON-NLS-1$
-	
-	/**
-	 * A status code indicating that a JRE could not be resolved for a project.
-	 * When a JRE cannot be resolved for a project by this plug-in's container
-	 * initializer, an exception is thrown with this status code. A status handler
-	 * may be registered for this status code. The <code>source</code> object provided
-	 * to the status handler is the Java project for which the path could not be
-	 * resolved. The status handler must return an <code>IVMInstall</code> or <code>null</code>.
-	 * The container resolver will re-set the project's classpath if required.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int ERR_UNABLE_TO_RESOLVE_JRE = 160;
-	
-	/**
-	 * Preference key for launch/connect timeout. VM Runners should honor this timeout
-	 * value when attempting to launch and connect to a debuggable VM. The value is
-	 * an int, indicating a number of milliseconds.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String PREF_CONNECT_TIMEOUT = LaunchingPlugin.getUniqueIdentifier() + ".PREF_CONNECT_TIMEOUT"; //$NON-NLS-1$
-	
-	/**
-	 * Preference key for the String of XML that defines all installed VMs.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String PREF_VM_XML = LaunchingPlugin.getUniqueIdentifier() + ".PREF_VM_XML"; //$NON-NLS-1$
-	
-	/**
-	 * Default launch/connect timeout (ms).
-	 * 
-	 * @since 2.0
-	 */
-	public static final int DEF_CONNECT_TIMEOUT = 20000;
-	
-	/**
-	 * Attribute key for a process property. The class
-	 * <code>org.eclipse.debug.core.model.IProcess</code> allows attaching
-	 * String properties to processes.
-	 * The value of this attribute is the command line a process
-	 * was launched with. Implementers of <code>IVMRunner</code> should use
-	 * this attribute key to attach the command lines to the processes they create.
-	 * 
-	 * @deprecated - use <code>IProcess.ATTR_CMDLINE</code>
-	 */
-	public final static String ATTR_CMDLINE= LaunchingPlugin.getUniqueIdentifier() + ".launcher.cmdLine"; //$NON-NLS-1$
-
-	private static IVMInstallType[] fgVMTypes= null;
-	private static String fgDefaultVMId= null;
-	private static String fgDefaultVMConnectorId = null;
-	
-	/**
-	 * Resolvers keyed by variable name and container id.
-	 */
-	private static Map fgVariableResolvers = null;
-	private static Map fgContainerResolvers = null;
-	
-	/**
-	 * Path providers keyed by id
-	 */
-	private static Map fgPathProviders = null;
-	
-	/**
-	 * Default classpath and source path providers.
-	 */
-	private static IRuntimeClasspathProvider fgDefaultClasspathProvider = new StandardClasspathProvider();
-	private static IRuntimeClasspathProvider fgDefaultSourcePathProvider = new StandardSourcePathProvider();
-	
-	/**
-	 * VM change listeners
-	 */
-	private static ListenerList fgVMListeners = new ListenerList(5);
-	
-	/**
-	 * This class contains only static methods, and is not intended
-	 * to be instantiated.
-	 */
-	private JavaRuntime() {
-	}
-
-	private static synchronized void initializeVMTypes() {
-		IExtensionPoint extensionPoint= Platform.getPluginRegistry().getExtensionPoint(LaunchingPlugin.getUniqueIdentifier() + ".vmInstallTypes"); //$NON-NLS-1$
-		IConfigurationElement[] configs= extensionPoint.getConfigurationElements(); 
-		MultiStatus status= new MultiStatus(LaunchingPlugin.getUniqueIdentifier(), IStatus.OK, LaunchingMessages.getString("JavaRuntime.exceptionOccurred"), null); //$NON-NLS-1$
-		fgVMTypes= new IVMInstallType[configs.length];
-
-		for (int i= 0; i < configs.length; i++) {
-			try {
-				IVMInstallType vmType= (IVMInstallType)configs[i].createExecutableExtension("class"); //$NON-NLS-1$
-				fgVMTypes[i]= vmType;
-			} catch (CoreException e) {
-				status.add(e.getStatus());
-			}
-		}
-		if (!status.isOK()) {
-			//only happens on a CoreException
-			LaunchingPlugin.log(status);
-			//cleanup null entries in fgVMTypes
-			List temp= new ArrayList(fgVMTypes.length);
-			for (int i = 0; i < fgVMTypes.length; i++) {
-				if(fgVMTypes[i] != null) {
-					temp.add(fgVMTypes[i]);
-				}
-				fgVMTypes= new IVMInstallType[temp.size()];
-				fgVMTypes= (IVMInstallType[])temp.toArray(fgVMTypes);
-			}
-		}
-		
-		try {
-			initializeVMConfiguration();
-		} catch (IOException e) {
-			LaunchingPlugin.log(e);
-		}
-	}
-
-	/**
-	 * Returns the VM assigned to build the given Java project.
-	 * The project must exist. The VM assigned to a project is
-	 * determined from its build path.
-	 * 
-	 * @return the VM instance that is assigned to build the given Java project
-	 * 		   Returns <code>null</code> if no VM is referenced on the project's build path.
-	 * @throws CoreException if unable to determine the project's VM install
-	 */
-	public static IVMInstall getVMInstall(IJavaProject project) throws CoreException {
-		// check the classpath
-		IVMInstall vm = null;
-		IClasspathEntry[] classpath = project.getRawClasspath();
-		IRuntimeClasspathEntryResolver resolver = null;
-		for (int i = 0; i < classpath.length; i++) {
-			IClasspathEntry entry = classpath[i];
-			switch (entry.getEntryKind()) {
-				case IClasspathEntry.CPE_VARIABLE:
-					resolver = getVariableResolver(entry.getPath().segment(0));
-					if (resolver != null) {
-						vm = resolver.resolveVMInstall(entry);
-					}
-					break;
-				case IClasspathEntry.CPE_CONTAINER:
-					resolver = getContainerResolver(entry.getPath().segment(0));
-					if (resolver != null) {
-						vm = resolver.resolveVMInstall(entry);
-					}
-					break;
-			}
-			if (vm != null) {
-				return vm;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the VM install type with the given unique id. 
-	 * @return	The VM install type for the given id, or <code>null</code> if no
-	 * 			VM install type with the given id is registered.
-	 */
-	public static IVMInstallType getVMInstallType(String id) {
-		IVMInstallType[] vmTypes= getVMInstallTypes();
-		for (int i= 0; i < vmTypes.length; i++) {
-			if (vmTypes[i].getId().equals(id)) {
-				return vmTypes[i];
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Sets a VM as the system-wide default VM, and notifies registered VM install
-	 * change listeners of the change.
-	 * 
-	 * @param vm	The vm to make the default. May be <code>null</code> to clear 
-	 * 				the default.
-	 * @param monitor progress monitor or <code>null</code>
-	 */
-	public static void setDefaultVMInstall(IVMInstall vm, IProgressMonitor monitor) throws CoreException {
-		setDefaultVMInstall(vm, monitor, true);
-	}	
-	
-	/**
-	 * Sets a VM as the system-wide default VM, and notifies registered VM install
-	 * change listeners of the change.
-	 * 
-	 * @param vm	The vm to make the default. May be <code>null</code> to clear 
-	 * 				the default.
-	 * @param monitor progress monitor or <code>null</code>
-	 * @param savePreference If <code>true</code>, update workbench preferences to reflect
-	 * 		   				  the new default VM.
-	 * @since 2.1
-	 */
-	public static void setDefaultVMInstall(IVMInstall vm, IProgressMonitor monitor, boolean savePreference) throws CoreException {
-		IVMInstall previous = null;
-		if (fgDefaultVMId != null) {
-			previous = getVMFromCompositeId(fgDefaultVMId);
-		}
-		fgDefaultVMId= getCompositeIdFromVM(vm);
-		if (savePreference) {
-			saveVMConfiguration();
-		}
-		IVMInstall current = null;
-		if (fgDefaultVMId != null) {
-			current = getVMFromCompositeId(fgDefaultVMId);
-		}
-		if (previous != current) {
-			notifyDefaultVMChanged(previous, current);
-		}
-	}
-	
-	/**
-	 * Sets a VM connector as the system-wide default VM. This setting is persisted when
-	 * saveVMConfiguration is called. 
-	 * @param	connector The connector to make the default. May be null to clear 
-	 * 				the default.
-	 * @since 2.0
-	 */
-	public static void setDefaultVMConnector(IVMConnector connector, IProgressMonitor monitor) throws CoreException {
-		fgDefaultVMConnectorId= connector.getIdentifier();
-		saveVMConfiguration();
-	}		
-	
-	/**
-	 * Return the default VM set with <code>setDefaultVM()</code>.
-	 * @return	Returns the default VM. May return <code>null</code> when no default
-	 * 			VM was set or when the default VM has been disposed.
-	 */
-	public static IVMInstall getDefaultVMInstall() {
-		IVMInstall install= getVMFromCompositeId(getDefaultVMId());
-		if (install != null && install.getInstallLocation().exists()) {
-			return install;
-		} else {
-			// if the default JRE goes missing, re-detect
-			if (install != null) {
-				install.getVMInstallType().disposeVMInstall(install.getId());
-			}
-			fgDefaultVMId = null;
-			// re-detect
-			detectDefaultVM();
-			// update VM prefs 
-			try {
-				saveVMConfiguration();
-			} catch(CoreException e) {
-				LaunchingPlugin.log(e);
-			}
-			return getVMFromCompositeId(getDefaultVMId());
-		}
-	}
-	
-	/**
-	 * Return the default VM connector.
-	 * @return	Returns the default VM connector.
-	 * @since 2.0
-	 */
-	public static IVMConnector getDefaultVMConnector() {
-		String id = getDefaultVMConnectorId();
-		IVMConnector connector = null;
-		if (id != null) {
-			connector = getVMConnector(id);
-		}
-		if (connector == null) {
-			connector = new SocketAttachConnector();
-		}
-		return connector;
-	}	
-	
-	/**
-	 * Returns the list of registered VM types. VM types are registered via
-	 * <code>"org.eclipse.jdt.launching.vmTypes"</code> extension point.
-	 * Returns an empty list if there are no registered VM types.
-	 * 
-	 * @return the list of registered VM types
-	 */
-	public static IVMInstallType[] getVMInstallTypes() {
-		if (fgVMTypes == null) {
-			initializeVMTypes();
-		}
-		return fgVMTypes; 
-	}
-	
-	private static String getDefaultVMId() {
-		if (fgVMTypes == null) {
-			initializeVMTypes();
-		}
-		return fgDefaultVMId;
-	}
-	
-	private static String getDefaultVMConnectorId() {
-		if (fgVMTypes == null) {
-			initializeVMTypes();
-		}
-		return fgDefaultVMConnectorId;
-	}	
-	
-	/** 
-	 * Returns a String that uniquely identifies the specified VM across all VM types.
-	 * 
-	 * @param vm the instance of IVMInstallType to be indentified
-	 * 
-	 * @since 2.1
-	 */
-	public static String getCompositeIdFromVM(IVMInstall vm) {
-		if (vm == null) {
-			return null;
-		}
-		IVMInstallType vmType= vm.getVMInstallType();
-		String typeID= vmType.getId();
-		CompositeId id= new CompositeId(new String[] { typeID, vm.getId() });
-		return id.toString();
-	}
-	
-	/**
-	 * Return the VM corrseponding to the specified composite Id.  The id uniquely
-	 * identifies a VM across all vm types.  
-	 * 
-	 * @param idString the composite id that specifies an instance of IVMInstall
-	 * 
-	 * @since 2.1
-	 */
-	public static IVMInstall getVMFromCompositeId(String idString) {
-		if (idString == null || idString.length() == 0) {
-			return null;
-		}
-		CompositeId id= CompositeId.fromString(idString);
-		if (id.getPartCount() == 2) {
-			IVMInstallType vmType= getVMInstallType(id.get(0));
-			if (vmType != null) {
-				return vmType.findVMInstall(id.get(1));
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns a new runtime classpath entry for the given project.
-	 * 
-	 * @param project Java project
-	 * @return runtime classpath entry
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry newProjectRuntimeClasspathEntry(IJavaProject project) {
-		IClasspathEntry cpe = JavaCore.newProjectEntry(project.getProject().getFullPath());
-		return newRuntimeClasspathEntry(cpe);
-	}
-	
-	
-	/**
-	 * Returns a new runtime classpath entry for the given archive.
-	 * 
-	 * @param resource archive resource
-	 * @return runtime classpath entry
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(IResource resource) {
-		IClasspathEntry cpe = JavaCore.newLibraryEntry(resource.getFullPath(), null, null);
-		return newRuntimeClasspathEntry(cpe);
-	}
-	
-	/**
-	 * Returns a new runtime classpath entry for the given archive (possibly
-	 * external).
-	 * 
-	 * @param path absolute path to an archive
-	 * @return runtime classpath entry
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry newArchiveRuntimeClasspathEntry(IPath path) {
-		IClasspathEntry cpe = JavaCore.newLibraryEntry(path, null, null);
-		return newRuntimeClasspathEntry(cpe);
-	}
-
-	/**
-	 * Returns a new runtime classpath entry for the classpath
-	 * variable with the given path.
-	 * 
-	 * @param path variable path; first segment is the name of the variable; 
-	 * 	trailing segments are appended to the resolved variable value
-	 * @return runtime classpath entry
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry newVariableRuntimeClasspathEntry(IPath path) {
-		IClasspathEntry cpe = JavaCore.newVariableEntry(path, null, null);
-		return newRuntimeClasspathEntry(cpe);
-	}
-
-	/**
-	 * Returns a runtime classpath entry for the given container path with the given
-	 * classpath property.
-	 * 
-	 * @param path container path
-	 * @param classpathProperty the type of entry - one of <code>USER_CLASSES</code>,
-	 * 	<code>BOOTSTRAP_CLASSES</code>, or <code>STANDARD_CLASSES</code>
-	 * @return runtime classpath entry
-	 * @exception CoreException if unable to construct a runtime classpath entry
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry newRuntimeContainerClasspathEntry(IPath path, int classpathProperty) throws CoreException {
-		IClasspathEntry cpe = JavaCore.newContainerEntry(path);
-		return new RuntimeClasspathEntry(cpe, classpathProperty);
-	}
-		
-	/**
-	 * Returns a runtime classpath entry constructed from the given memento.
-	 * 
-	 * @param memento a menento for a runtime classpath entry
-	 * @return runtime classpath entry
-	 * @exception CoreException if unable to construct a runtime classpath entry
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry newRuntimeClasspathEntry(String memento) throws CoreException {
-		return new RuntimeClasspathEntry(memento);
-	}
-	
-	/**
-	 * Returns a runtime classpath entry that corresponds to the given
-	 * classpath entry. The classpath entry may not be of type <code>CPE_SOURCE</code>
-	 * or <code>CPE_CONTAINER</code>.
-	 * 
-	 * @param entry a classpath entry
-	 * @return runtime classpath entry
-	 * @since 2.0
-	 */
-	private static IRuntimeClasspathEntry newRuntimeClasspathEntry(IClasspathEntry entry) {
-		return new RuntimeClasspathEntry(entry);
-	}	
-			
-	/**
-	 * Computes and returns the default unresolved runtime claspath for the
-	 * given project.
-	 * 
-	 * @return runtime classpath entries
-	 * @exception CoreException if unable to compute the runtime classpath
-	 * @see IRuntimeClasspathEntry
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(IJavaProject project) throws CoreException {
-		IClasspathEntry entry = JavaCore.newProjectEntry(project.getProject().getFullPath());
-		List classpathEntries = new ArrayList(5);
-		List expanding = new ArrayList(5);
-		expandProject(entry, classpathEntries, expanding);
-		IRuntimeClasspathEntry[] runtimeEntries = new IRuntimeClasspathEntry[classpathEntries == null ? 0 : classpathEntries.size()];
-		for (int i = 0; i < runtimeEntries.length; i++) {
-			Object e = classpathEntries.get(i);
-			if (e instanceof IClasspathEntry) {
-				IClasspathEntry cpe = (IClasspathEntry)e;
-				runtimeEntries[i] = newRuntimeClasspathEntry(cpe);
-			} else {
-				runtimeEntries[i] = (IRuntimeClasspathEntry)e;				
-			}
-		}
-		// sort bootpath and standard entries first
-		IRuntimeClasspathEntry[] ordered = new IRuntimeClasspathEntry[runtimeEntries.length];
-		int index = 0;
-		for (int i = 0; i < runtimeEntries.length; i++) {
-			if (runtimeEntries[i].getClasspathProperty() != IRuntimeClasspathEntry.USER_CLASSES) {
-				ordered[index] = runtimeEntries[i];
-				index++;
-				runtimeEntries[i] = null;
-			} 
-		}
-		for (int i = 0; i < runtimeEntries.length; i++) {
-			if (runtimeEntries[i] != null) {
-				ordered[index] = runtimeEntries[i];
-				index++;
-			}
-		}
-		return ordered;
-	}
-	
-	/**
-	 * Computes and returns the unresolved source lookup path for the given launch
-	 * configuration.
-	 * 
-	 * @param configuration launch configuration
-	 * @return runtime classpath entries
-	 * @exception CoreException if unable to compute the source lookup path
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry[] computeUnresolvedSourceLookupPath(ILaunchConfiguration configuration) throws CoreException {
-		return getSourceLookupPathProvider(configuration).computeUnresolvedClasspath(configuration);
-	}
-	
-	/**
-	 * Resolves the given source lookup path, returning the resolved source lookup path
-	 * in the context of the given launch configuration.
-	 * 
-	 * @param entries unresolved entries
-	 * @param configuration launch configuration
-	 * @return resolved entries
-	 * @exception CoreException if unable to resolve the source lookup path
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry[] resolveSourceLookupPath(IRuntimeClasspathEntry[] entries, ILaunchConfiguration configuration) throws CoreException {
-		return getSourceLookupPathProvider(configuration).resolveClasspath(entries, configuration);
-	}	
-	
-	/**
-	 * Returns the classpath provider for the given launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 * @return classpath provider
-	 * @exception CoreException if unable to resolve the path provider
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathProvider getClasspathProvider(ILaunchConfiguration configuration) throws CoreException {
-		String providerId = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER, (String)null);
-		IRuntimeClasspathProvider provider = null;
-		if (providerId == null) {
-			provider = fgDefaultClasspathProvider;
-		} else {
-			provider = (IRuntimeClasspathProvider)getClasspathProviders().get(providerId);	
-		}
-		return provider;
-	}	
-		
-	/**
-	 * Returns the source lookup path provider for the given launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 * @return source lookup path provider
-	 * @exception CoreException if unable to resolve the path provider
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathProvider getSourceLookupPathProvider(ILaunchConfiguration configuration) throws CoreException {
-		String providerId = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH_PROVIDER, (String)null);
-		IRuntimeClasspathProvider provider = null;
-		if (providerId == null) {
-			provider = fgDefaultSourcePathProvider;
-		} else {
-			provider = (IRuntimeClasspathProvider)getClasspathProviders().get(providerId);
-		}
-		return provider;
-	}	
-		
-	/**
-	 * Returns resolved entries for the given entry in the context of the given
-	 * launch configuration. If the entry is of kind
-	 * <code>VARIABLE</code> or <code>CONTAINTER</code>, variable and contanier
-	 * resolvers are consulted. If the entry is of kind <code>PROJECT</code>,
-	 * and the associated Java project specifies non-default output locations,
-	 * the corresponding output locations are returned. Otherwise, the given
-	 * entry is returned.
-	 * <p>
-	 * If the given entry is a variable entry, and a resolver is not registered,
-	 * the entry itself is returned. If the given entry is a container, and a
-	 * resolver is not registered, resolved runtime classpath entries are calculated
-	 * from the associated container classpath entries, in the context of the project
-	 * associated with the given launch configuration.
-	 * </p>
-	 * @param entry runtime classpath entry
-	 * @param configuration launch configuration
-	 * @return resolved runtime classpath entry
-	 * @exception CoreException if unable to resolve
-	 * @see IRuntimeClasspathEntryResolver
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, ILaunchConfiguration configuration) throws CoreException {
-		switch (entry.getType()) {
-			case IRuntimeClasspathEntry.PROJECT:
-				// if the project has multiple output locations, they must be returned
-				IResource resource = entry.getResource();
-				if (resource instanceof IProject) {
-					IJavaProject project = JavaCore.create((IProject)resource);
-					if (project == null || !project.exists()) { 
-						abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Classpath_references_non-existant_project__{0}_1"), new String[]{entry.getPath().lastSegment()}), null); //$NON-NLS-1$
-					}
-					if (!project.getProject().isOpen()) {
-						abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Classpath_references_closed_project__{0}_2"), new String[]{entry.getPath().lastSegment()}), null); //$NON-NLS-1$
-					}
-					IRuntimeClasspathEntry[] entries = resolveOutputLocations(project, entry.getClasspathProperty());
-					if (entries != null) {
-						return entries;
-					}
-				} else {
-					// could not resolve project
-					abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Classpath_references_non-existant_project__{0}_3"), new String[]{entry.getPath().lastSegment()}), null); //$NON-NLS-1$
-				}
-				break;
-			case IRuntimeClasspathEntry.VARIABLE:
-				IRuntimeClasspathEntryResolver resolver = getVariableResolver(entry.getVariableName());
-				if (resolver == null) {
-					IRuntimeClasspathEntry[] resolved = resolveVariableEntry(entry, null, configuration);
-					if (resolved != null) { 
-						return resolved;
-					}
-					break;
-				} else {
-					return resolver.resolveRuntimeClasspathEntry(entry, configuration);
-				}				
-			case IRuntimeClasspathEntry.CONTAINER:
-				resolver = getContainerResolver(entry.getVariableName());
-				if (resolver == null) {
-					return computeDefaultContainerEntries(entry, configuration);
-				} else {
-					return resolver.resolveRuntimeClasspathEntry(entry, configuration);
-				}
-			case IRuntimeClasspathEntry.ARCHIVE:
-				// verify the archive exists
-				String location = entry.getLocation();
-				if (location == null) {
-					abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Classpath_references_non-existant_archive__{0}_4"), new String[]{entry.getPath().toString()}), null); //$NON-NLS-1$
-				}
-				File file = new File(location);
-				if (!file.exists()) {
-					abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Classpath_references_non-existant_archive__{0}_5"), new String[]{entry.getPath().toString()}), null); //$NON-NLS-1$
-				}
-				break;
-			default:
-				break;
-		}
-		return new IRuntimeClasspathEntry[] {entry};
-	}
-	
-	/**
-	 * Default resolution for a classpath variable - resolve to an archive. Only
-	 * one of project/configuration can be non-null.
-	 * 
-	 * @param entry
-	 * @param project the project context or <code>null</code>
-	 * @param configuration configuration context or <code>null</code>
-	 * @return IRuntimeClasspathEntry[]
-	 * @throws CoreException
-	 */
-	private static IRuntimeClasspathEntry[] resolveVariableEntry(IRuntimeClasspathEntry entry, IJavaProject project, ILaunchConfiguration configuration) throws CoreException {
-		// default resolution - an archive
-		IPath archPath = JavaCore.getClasspathVariable(entry.getVariableName());
-		if (archPath != null) {
-			if (entry.getPath().segmentCount() > 1) {
-				archPath = archPath.append(entry.getPath().removeFirstSegments(1));
-			}
-			IPath srcPath = null;
-			IPath srcVar = entry.getSourceAttachmentPath();
-			IPath srcRootPath = null;
-			IPath srcRootVar = entry.getSourceAttachmentRootPath();
-			if (archPath != null && !archPath.isEmpty()) {
-				if (srcVar != null && !srcVar.isEmpty()) {
-					srcPath = JavaCore.getClasspathVariable(srcVar.segment(0));
-					if (srcPath != null) {
-						if (srcVar.segmentCount() > 1) {
-							srcPath = srcPath.append(srcVar.removeFirstSegments(1));
-						}
-						if (srcRootVar != null && !srcRootVar.isEmpty()) {
-							srcRootPath = JavaCore.getClasspathVariable(srcRootVar.segment(0));	
-							if (srcRootPath != null) {
-								if (srcRootVar.segmentCount() > 1) {
-									srcRootPath = srcRootPath.append(srcRootVar.removeFirstSegments(1));					
-								}
-							}
-						}
-					}
-				}
-				// now resolve the archive (recursively)
-				IClasspathEntry archEntry = JavaCore.newLibraryEntry(archPath, srcPath, srcRootPath, entry.getClasspathEntry().isExported());
-				IRuntimeClasspathEntry runtimeArchEntry = newRuntimeClasspathEntry(archEntry);
-				runtimeArchEntry.setClasspathProperty(entry.getClasspathProperty());
-				if (configuration == null) {
-					return resolveRuntimeClasspathEntry(runtimeArchEntry, project);
-				} else {
-					return resolveRuntimeClasspathEntry(runtimeArchEntry, configuration);
-				}
-			}		
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns runtime classpath entries corresponding to the output locations
-	 * of the given project, or null if the project only uses the default
-	 * output location.
-	 * 
-	 * @param project
-	 * @param classpathProperty the type of classpath entries to create
-	 * @return IRuntimeClasspathEntry[] or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static IRuntimeClasspathEntry[] resolveOutputLocations(IJavaProject project, int classpathProperty) throws CoreException {
-		List nonDefault = new ArrayList();
-		if (project.exists() && project.getProject().isOpen()) {
-			IClasspathEntry entries[] = project.getRawClasspath();
-			for (int i = 0; i < entries.length; i++) {
-				IClasspathEntry classpathEntry = entries[i];
-				if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-					IPath path = classpathEntry.getOutputLocation();
-					if (path != null) {
-						nonDefault.add(path);
-					}
-				}
-			}
-		}
-		if (nonDefault.isEmpty()) {
-			return null; 
-		} else {
-			// add the default location if not already included
-			IPath def = project.getOutputLocation();
-			if (!nonDefault.contains(def)) {
-				nonDefault.add(def);						
-			}
-			IRuntimeClasspathEntry[] locations = new IRuntimeClasspathEntry[nonDefault.size()];
-			for (int i = 0; i < locations.length; i++) {
-				IClasspathEntry newEntry = JavaCore.newLibraryEntry((IPath)nonDefault.get(i), null, null);
-				locations[i] = new RuntimeClasspathEntry(newEntry);
-				locations[i].setClasspathProperty(classpathProperty);
-			}
-			return locations;						
-		}
-	}
-	
-	/**
-	 * Returns resolved entries for the given entry in the context of the given
-	 * Java project. If the entry is of kind
-	 * <code>VARIABLE</code> or <code>CONTAINTER</code>, variable and contanier
-	 * resolvers are consulted. If the entry is of kind <code>PROJECT</code>,
-	 * and the associated Java project specifies non-default output locations,
-	 * the corresponding output locations are returned. Otherwise, the given
-	 * entry is returned.
-	 * <p>
-	 * If the given entry is a variable entry, and a resolver is not registered,
-	 * the entry itself is returned. If the given entry is a container, and a
-	 * resolver is not registered, resolved runtime classpath entries are calculated
-	 * from the associated container classpath entries, in the context of the 
-	 * given project.
-	 * </p>
-	 * @param entry runtime classpath entry
-	 * @param project Java project context
-	 * @return resolved runtime classpath entry
-	 * @exception CoreException if unable to resolve
-	 * @see IRuntimeClasspathEntryResolver
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry[] resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry, IJavaProject project) throws CoreException {
-		switch (entry.getType()) {
-			case IRuntimeClasspathEntry.PROJECT:
-				// if the project has multiple output locations, they must be returned
-				IResource resource = entry.getResource();
-				if (resource instanceof IProject) {
-					IJavaProject jp = JavaCore.create((IProject)resource);
-					if (jp.exists() && jp.getProject().isOpen()) {
-						IRuntimeClasspathEntry[] entries = resolveOutputLocations(jp, entry.getClasspathProperty());
-						if (entries != null) {
-							return entries;
-						}
-					}
-				}
-				break;			
-			case IRuntimeClasspathEntry.VARIABLE:
-				IRuntimeClasspathEntryResolver resolver = getVariableResolver(entry.getVariableName());
-				if (resolver == null) {
-					IRuntimeClasspathEntry[] resolved = resolveVariableEntry(entry, project, null);
-					if (resolved != null) { 
-						return resolved;
-					}
-					break;
-				} else {
-					return resolver.resolveRuntimeClasspathEntry(entry, project);
-				}				
-			case IRuntimeClasspathEntry.CONTAINER:
-				resolver = getContainerResolver(entry.getVariableName());
-				if (resolver == null) {
-					return computeDefaultContainerEntries(entry, project);
-				} else {
-					return resolver.resolveRuntimeClasspathEntry(entry, project);
-				}
-			default:
-				break;
-		}
-		return new IRuntimeClasspathEntry[] {entry};
-	}	
-		
-	/**
-	 * Performs default resolution for a container entry.
-	 * Delegates to the Java model.
-	 */
-	private static IRuntimeClasspathEntry[] computeDefaultContainerEntries(IRuntimeClasspathEntry entry, ILaunchConfiguration config) throws CoreException {
-		return computeDefaultContainerEntries(entry, getJavaProject(config));
-	}
-	
-	/**
-	 * Performs default resolution for a container entry.
-	 * Delegates to the Java model.
-	 */
-	private static IRuntimeClasspathEntry[] computeDefaultContainerEntries(IRuntimeClasspathEntry entry, IJavaProject project) throws CoreException {
-		if (project == null || entry == null) {
-			// cannot resolve without entry or project context
-			return new IRuntimeClasspathEntry[0];
-		} else {							
-			IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), project);
-			if (container == null) {
-				abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Could_not_resolve_classpath_container__{0}_1"), new String[]{entry.getPath().toString()}), null); //$NON-NLS-1$
-				// execution will not reach here - exception will be thrown
-				return null;
-			} else {
-				IClasspathEntry[] cpes = container.getClasspathEntries();
-				int property = -1;
-				switch (container.getKind()) {
-					case IClasspathContainer.K_APPLICATION:
-						property = IRuntimeClasspathEntry.USER_CLASSES;
-						break;
-					case IClasspathContainer.K_DEFAULT_SYSTEM:
-						property = IRuntimeClasspathEntry.STANDARD_CLASSES;
-						break;	
-					case IClasspathContainer.K_SYSTEM:
-						property = IRuntimeClasspathEntry.BOOTSTRAP_CLASSES;
-						break;
-				}			
-				IRuntimeClasspathEntry[] resolved = new IRuntimeClasspathEntry[cpes.length];
-				for (int i = 0; i < resolved.length; i++) {
-					resolved[i] = newRuntimeClasspathEntry(cpes[i]);
-					resolved[i].setClasspathProperty(property);
-				}
-				return resolved;
-			}
-		}
-	}
-			
-	/**
-	 * Computes and returns the unresolved class path for the given launch configuration.
-	 * Variable and container entries are unresolved.
-	 * 
-	 * @param configuration launch configuration
-	 * @return unresolved runtime classpath entries
-	 * @exception CoreException if unable to compute the classpath
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry[] computeUnresolvedRuntimeClasspath(ILaunchConfiguration configuration) throws CoreException {
-		return getClasspathProvider(configuration).computeUnresolvedClasspath(configuration);
-	}
-	
-	/**
-	 * Resolves the given classpath, returning the resolved classpath
-	 * in the context of the given launch configuration.
-	 *
-	 * @param entries unresolved classpath
-	 * @param configuration launch configuration
-	 * @return resolved runtime classpath entries
-	 * @exception CoreException if unable to compute the classpath
-	 * @since 2.0
-	 */
-	public static IRuntimeClasspathEntry[] resolveRuntimeClasspath(IRuntimeClasspathEntry[] entries, ILaunchConfiguration configuration) throws CoreException {
-		return getClasspathProvider(configuration).resolveClasspath(entries, configuration);
-	}	
-	
-	/**
-	 * Return the <code>IJavaProject</code> referenced in the specified configuration or
-	 * <code>null</code> if none.
-	 *
-	 * @exception CoreException if the referenced Java project does not exist
-	 * @since 2.0
-	 */
-	public static IJavaProject getJavaProject(ILaunchConfiguration configuration) throws CoreException {
-		String projectName = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String)null);
-		if ((projectName == null) || (projectName.trim().length() < 1)) {
-			return null;
-		}			
-		IJavaProject javaProject = getJavaModel().getJavaProject(projectName);		
-		if ((javaProject == null) || !javaProject.exists()) {
-			abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Launch_configuration_{0}_references_non-existing_project_{1}._1"), new String[] {configuration.getName(), projectName}), IJavaLaunchConfigurationConstants.ERR_NOT_A_JAVA_PROJECT, null); //$NON-NLS-1$
-		}
-		return javaProject;
-	}
-				
-	/**
-	 * Convenience method to get the java model.
-	 */
-	private static IJavaModel getJavaModel() {
-		return JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	
-	/**
-	 * Returns the VM install for the given launch configuration.
-	 * The VM install is determined in the following prioritized way:
-	 * <ol>
-	 * <li>The VM install is explicitly specified on the launch configuration
-	 * 	via the <code>ATTR_VM_INSTALL_TYPE</code> and <code>ATTR_VM_INSTALL_ID</code>
-	 *  attributes.</li>
-	 * <li>If no explicit VM install is specified, the VM install associated with
-	 * 	the launch confiugration's project is returned.</li>
-	 * <li>If no project is specified, or the project does not specify a custom
-	 * 	VM install, the workspace default VM install is returned.</li>
-	 * </ol>
-	 * 
-	 * @param configuration launch configuration
-	 * @return vm install
-	 * @exception CoreException if unable to compute a vm install
-	 * @since 2.0
-	 */
-	public static IVMInstall computeVMInstall(ILaunchConfiguration configuration) throws CoreException {
-		String type = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-		if (type == null) {
-			IJavaProject proj = getJavaProject(configuration);
-			if (proj != null) {
-				IVMInstall vm = getVMInstall(proj);
-				if (vm != null) {
-					return vm;
-				}
-			}
-		} else {
-			IVMInstallType vt = getVMInstallType(type);
-			if (vt == null) {
-				// error type does not exist
-				abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Specified_VM_install_type_does_not_exist__{0}_2"), new String[] {type}), null); //$NON-NLS-1$
-			}
-			IVMInstall vm = null;
-			// look for a name
-			String name = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
-			if (name == null) {
-				// error - type specified without a specific install (could be an old config that specified a VM ID)
-				// log the error, but choose the default VM.
-				IStatus status = new Status(IStatus.WARNING, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_VM_INSTALL, MessageFormat.format(LaunchingMessages.getString("JavaRuntime.VM_not_fully_specified_in_launch_configuration_{0}_-_missing_VM_name._Reverting_to_default_VM._1"), new String[] {configuration.getName()}), null); //$NON-NLS-1$
-				LaunchingPlugin.log(status);
-				return getDefaultVMInstall();
-			} else {
-				vm = vt.findVMInstallByName(name);
-				if (vm == null) {
-					// error - install not found
-					abort(MessageFormat.format(LaunchingMessages.getString("JavaRuntime.Specified_VM_install_not_found__type_{0},_name_{1}_2"), new String[] {type, name}), null);					 //$NON-NLS-1$
-				} else {
-					return vm;
-				}
-			}
-		}
-		
-		return getDefaultVMInstall();
-	}
-	
-	/**
-	 * Throws a core exception with an internal error status.
-	 * 
-	 * @param message the status message
-	 * @param exception lower level exception associated with the
-	 *  error, or <code>null</code> if none
-	 */
-	private static void abort(String message, Throwable exception) throws CoreException {
-		abort(message, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, exception);
-	}	
-		
-		
-	/**
-	 * Throws a core exception with an internal error status.
-	 * 
-	 * @param message the status message
-	 * @param code status code
-	 * @param exception lower level exception associated with the
-	 * 
-	 *  error, or <code>null</code> if none
-	 */
-	private static void abort(String message, int code, Throwable exception) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), code, message, exception));
-	}	
-					
-	/**
-	 * Returns the transitive closure of classpath entries for the
-	 * given project entry.
-	 * 
-	 * @param projectEntry project classpath entry
-	 * @param expandedPath a list of entries already expanded, should be empty
-	 * to begin, and contains the result
-	 * @param expanding a list of projects that have been or are currently being
-	 * expanded (to detect cycles)
-	 * @exception CoreException if unable to expand the classpath
-	 */
-	private static void expandProject(IClasspathEntry projectEntry, List expandedPath, List expanding) throws CoreException {
-		expanding.add(projectEntry);
-		// 1. Get the raw classpath
-		// 2. Replace source folder entries with a project entry
-		IPath projectPath = projectEntry.getPath();
-		IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(projectPath.lastSegment());
-		if (res == null) {
-			// add project entry and return
-			expandedPath.add(projectEntry);
-			return;
-		}
-		IJavaProject project = (IJavaProject)JavaCore.create(res);
-		if (project == null || !project.exists() || !project.getProject().isOpen()) {
-			// add project entry and return
-			expandedPath.add(projectEntry);
-			return;
-		}
-		
-		IClasspathEntry[] buildPath = project.getRawClasspath();
-		List unexpandedPath = new ArrayList(buildPath.length);
-		boolean projectAdded = false;
-		for (int i = 0; i < buildPath.length; i++) {
-			if (buildPath[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-				if (!projectAdded) {
-					projectAdded = true;
-					unexpandedPath.add(projectEntry);
-				}
-			} else {
-				unexpandedPath.add(buildPath[i]);
-			}
-		}
-		// 3. expand each project entry (except for the root project)
-		// 4. replace each container entry with a runtime entry associated with the project
-		Iterator iter = unexpandedPath.iterator();
-		while (iter.hasNext()) {
-			IClasspathEntry entry = (IClasspathEntry)iter.next();
-			if (entry == projectEntry) {
-				expandedPath.add(entry);
-			} else {
-				switch (entry.getEntryKind()) {
-					case IClasspathEntry.CPE_PROJECT:
-						if (!expanding.contains(entry)) {
-							expandProject(entry, expandedPath, expanding);
-						}
-						break;
-					case IClasspathEntry.CPE_CONTAINER:
-						IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), project);
-						int property = -1;
-						if (container != null) {
-							switch (container.getKind()) {
-								case IClasspathContainer.K_APPLICATION:
-									property = IRuntimeClasspathEntry.USER_CLASSES;
-									break;
-								case IClasspathContainer.K_DEFAULT_SYSTEM:
-									property = IRuntimeClasspathEntry.STANDARD_CLASSES;
-									break;	
-								case IClasspathContainer.K_SYSTEM:
-									property = IRuntimeClasspathEntry.BOOTSTRAP_CLASSES;
-									break;
-							}
-							IRuntimeClasspathEntry r = newRuntimeContainerClasspathEntry(entry.getPath(), property);
-							// check for duplicate/redundant entries 
-							boolean duplicate = false;
-							for (int i = 0; i < expandedPath.size(); i++) {
-								Object o = expandedPath.get(i);
-								if (o instanceof IRuntimeClasspathEntry) {
-									IRuntimeClasspathEntry re = (IRuntimeClasspathEntry)o;
-									if (re.getType() == IRuntimeClasspathEntry.CONTAINER) {
-										if (container instanceof IRuntimeContainerComparator) {
-											duplicate = ((IRuntimeContainerComparator)container).isDuplicate(re.getPath());
-											if (duplicate) {
-												break;
-											}
-										} else if (re.getVariableName().equals(r.getVariableName())) {
-											duplicate = true;
-											break;
-										}
-									}
-								}
-							}
-							if (!duplicate) {
-								expandedPath.add(r);
-							}	
-						}
-						break;
-					case IClasspathEntry.CPE_VARIABLE:
-						if (entry.getPath().segment(0).equals(JRELIB_VARIABLE)) {
-							IRuntimeClasspathEntry r = newVariableRuntimeClasspathEntry(entry.getPath());
-							r.setSourceAttachmentPath(entry.getSourceAttachmentPath());
-							r.setSourceAttachmentRootPath(entry.getSourceAttachmentRootPath());
-							r.setClasspathProperty(IRuntimeClasspathEntry.STANDARD_CLASSES);
-							if (!expandedPath.contains(r)) {
-								expandedPath.add(r);
-							}
-							break;
-						}
-						// fall through if not the special JRELIB variable
-					default:
-						if (!expandedPath.contains(entry)) {
-							expandedPath.add(entry);
-						}
-						break;
-				}
-			}
-		}
-		return;
-	}
-		
-	/**
-	 * Computes the default application classpath entries for the given 
-	 * project.
-	 * 
-	 * @param	jproject The project to compute the classpath for
-	 * @return	The computed classpath. May be empty, but not null.
-	 * @throws	CoreException if unable to compute the default classpath
-	 */
-	public static String[] computeDefaultRuntimeClassPath(IJavaProject jproject) throws CoreException {
-		IRuntimeClasspathEntry[] unresolved = computeUnresolvedRuntimeClasspath(jproject);
-		// 1. remove bootpath entries
-		// 2. resolve & translate to local file system paths
-		List resolved = new ArrayList(unresolved.length);
-		for (int i = 0; i < unresolved.length; i++) {
-			IRuntimeClasspathEntry entry = unresolved[i];
-			if (entry.getClasspathProperty() == IRuntimeClasspathEntry.USER_CLASSES) {
-				IRuntimeClasspathEntry[] entries = resolveRuntimeClasspathEntry(entry, jproject);
-				for (int j = 0; j < entries.length; j++) {
-					String location = entries[j].getLocation();
-					if (location != null) {
-						resolved.add(location); 
-					}
-				}
-			}
-		}
-		return (String[])resolved.toArray(new String[resolved.size()]);
-	}	
-		
-	/**
-	 * Saves the VM configuration information to the preferences. This includes
-	 * the following information:
-	 * <ul>
-	 * <li>The list of all defined IVMInstall instances.</li>
-	 * <li>The default VM</li>
-	 * <ul>
-	 * This state will be read again upon first access to VM
-	 * configuration information.
-	 */
-	public static void saveVMConfiguration() throws CoreException {
-		if (fgVMTypes == null) {
-			// if the VM types have not been instantiated, there can be no changes.
-			return;
-		}
-		try {
-			String xml = getVMsAsXML();
-			getPreferences().setValue(PREF_VM_XML, xml);
-			savePreferences();
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IStatus.ERROR, LaunchingMessages.getString("JavaRuntime.ioExceptionOccurred"), e)); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Write out the specified String as the new value of the VM definitions preference
-	 * and save all preferences.
-	 */
-	private static void saveVMDefinitions(String vmDefXML) {
-		LaunchingPlugin.getDefault().getPluginPreferences().setValue(PREF_VM_XML, vmDefXML);
-		LaunchingPlugin.getDefault().savePluginPreferences();		
-	}
-
-	private static String getVMsAsXML() throws IOException {
-		VMDefinitionsContainer container = new VMDefinitionsContainer();	
-		container.setDefaultVMInstallCompositeID(getDefaultVMId());
-		container.setDefaultVMInstallConnectorTypeID(getDefaultVMConnectorId());	
-		IVMInstallType[] vmTypes= getVMInstallTypes();
-		for (int i = 0; i < vmTypes.length; ++i) {
-			IVMInstall[] vms = vmTypes[i].getVMInstalls();
-			for (int j = 0; j < vms.length; j++) {
-				IVMInstall install = vms[j];
-				container.addVM(install);
-			}
-		}
-		return container.getAsXML();
-	}
-	
-	/**
-	 * This method loads the set of installed JREs.  This definition is stored in the
-	 * workbench preferences, however older workspaces may store this information in
-	 * a meta-data file.  In both cases, the VMs are described as an XML document.
-	 * If neither the preference nor the meta-data file is found, the file system is
-	 * searched for VMs.
-	 */
-	private static void initializeVMConfiguration() throws IOException {
-		// Try retrieving the VM preferences from the preference store
-		String vmXMLString = getPreferences().getString(PREF_VM_XML);
-		
-		// If the preference was found, load VMs from it into memory
-		if (vmXMLString.length() > 0) {
-			try {
-				ByteArrayInputStream inputStream = new ByteArrayInputStream(vmXMLString.getBytes());
-				VMDefinitionsContainer vmDefs = VMDefinitionsContainer.parseXMLIntoContainer(inputStream);
-				loadVMDefsIntoMemory(vmDefs);
-			} catch (IOException ioe) {
-				LaunchingPlugin.log(ioe);
-			}			
-		} else {			
-			// Otherwise, look for the old file that previously held the VM defs
-			IPath stateLocation= LaunchingPlugin.getDefault().getStateLocation();
-			IPath stateFile= stateLocation.append("vmConfiguration.xml"); //$NON-NLS-1$
-			File file = new File(stateFile.toOSString());
-			
-			VMDefinitionsContainer vmDefs = null;
-			if (file.exists()) {        
-				// If file exists, load VM defs from it into memory and write the defs to
-				// the preference store WITHOUT triggering any processing of the new value
-				FileInputStream fileInputStream = new FileInputStream(file);
-				vmDefs = VMDefinitionsContainer.parseXMLIntoContainer(fileInputStream);
-				loadVMDefsIntoMemory(vmDefs);
-				LaunchingPlugin.getDefault().setIgnoreVMDefPropertyChangeEvents(true);
-				saveVMDefinitions(vmDefs.getAsXML());
-				LaunchingPlugin.getDefault().setIgnoreVMDefPropertyChangeEvents(false);				
-			} else {				 
-				// Otherwise go looking for VMs in the file system.  Write the results
-				// to the preference store.  This will be treated just like a user change
-				// to the VM prefs with full notification to all VM listeners.
-				detectAndSaveVMDefinitions();
-			}			
-		}
-	}
-	
-	/**
-	 * For each VMStandin object in the specified VM container, convert it into a 'real' VM.
-	 */
-	private static void loadVMDefsIntoMemory(VMDefinitionsContainer vmContainer) {
-		fgDefaultVMId = vmContainer.getDefaultVMInstallCompositeID();
-		fgDefaultVMConnectorId = vmContainer.getDefaultVMInstallConnectorTypeID();
-		
-		// Create the underlying VMs for each VMStandin
-		List vmList = vmContainer.getValidVMList();
-		Iterator vmListIterator = vmList.iterator();
-		while (vmListIterator.hasNext()) {
-			VMStandin vmStandin = (VMStandin) vmListIterator.next();
-			vmStandin.convertToRealVM();
-		}
-		
-	}
-	
-	/**
-	 * Evaluates library locations for a IVMInstall. If no library locations are set on the install, a default
-	 * location is evaluated and checked if it exists.
-	 * @return library locations with paths that exist or are empty
-	 * @since 2.0
-	 */
-	public static LibraryLocation[] getLibraryLocations(IVMInstall vm)  {
-		IPath[] libraryPaths;
-		IPath[] sourcePaths;
-		IPath[] sourceRootPaths;
-		LibraryLocation[] locations= vm.getLibraryLocations();
-		if (locations == null) {
-			LibraryLocation[] dflts= vm.getVMInstallType().getDefaultLibraryLocations(vm.getInstallLocation());
-			libraryPaths = new IPath[dflts.length];
-			sourcePaths = new IPath[dflts.length];
-			sourceRootPaths = new IPath[dflts.length];
-			for (int i = 0; i < dflts.length; i++) {
-				libraryPaths[i]= dflts[i].getSystemLibraryPath();
-				if (!libraryPaths[i].toFile().isFile()) {
-					libraryPaths[i]= Path.EMPTY;
-				}
-				
-				sourcePaths[i]= dflts[i].getSystemLibrarySourcePath();
-				if (sourcePaths[i].toFile().isFile()) {
-					sourceRootPaths[i]= dflts[i].getPackageRootPath();
-				} else {
-					sourcePaths[i]= Path.EMPTY;
-					sourceRootPaths[i]= Path.EMPTY;
-				}
-			}
-		} else {
-			libraryPaths = new IPath[locations.length];
-			sourcePaths = new IPath[locations.length];
-			sourceRootPaths = new IPath[locations.length];
-			for (int i = 0; i < locations.length; i++) {			
-				libraryPaths[i]= locations[i].getSystemLibraryPath();
-				sourcePaths[i]= locations[i].getSystemLibrarySourcePath();
-				sourceRootPaths[i]= locations[i].getPackageRootPath();
-			}
-		}
-		locations = new LibraryLocation[sourcePaths.length];
-		for (int i = 0; i < sourcePaths.length; i++) {
-			locations[i] = new LibraryLocation(libraryPaths[i], sourcePaths[i], sourceRootPaths[i]);
-		}
-		return locations;
-	}
-	
-	/**
-	 * Detect the VM that Eclipse is running on.
-	 * 
-	 * @return a VM standin representing the VM that Eclipse is running on, or
-	 * <code>null</code> if unable to detect the runtime VM
-	 */
-	private static VMStandin detectEclipseRuntime() {
-		VMStandin detectedVMStandin = null;
-		// Try to detect a VM for each declared VM type
-		IVMInstallType[] vmTypes= getVMInstallTypes();
-		for (int i = 0; i < vmTypes.length; i++) {
-			
-			File detectedLocation= vmTypes[i].detectInstallLocation();
-			if (detectedLocation != null && detectedVMStandin == null) {
-				
-				// Make sure the VM id is unique
-				int unique = i;
-				IVMInstallType vmType = vmTypes[i];
-				while (vmType.findVMInstall(String.valueOf(unique)) != null) {
-					unique++;
-				}
-
-				// Create a standin for the detected VM and add it to the result collector
-				String vmID = String.valueOf(unique);
-				detectedVMStandin = new VMStandin(vmType, vmID);
-				if (detectedVMStandin != null) {
-					detectedVMStandin.setInstallLocation(detectedLocation);
-					detectedVMStandin.setName(generateDetectedVMName(detectedVMStandin));
-					if (vmType instanceof AbstractVMInstallType) {
-						AbstractVMInstallType abs = (AbstractVMInstallType)vmType;
-						URL url = abs.getDefaultJavadocLocation(detectedLocation);
-						detectedVMStandin.setJavadocLocation(url);						
-					}
-				}				
-			}
-		}
-		return detectedVMStandin;
-	}
-
-	/**
-	 * Tries to locate a default VM (if one is not currently set). Sets the
-	 * default VM to be the Eclipse runtime or the first VM found. Log an error
-	 * with the workspace if a no VMs can be located.
-	 */
-	private static void detectDefaultVM() {
-		if (getDefaultVMId() == null) {
-			VMStandin eclipseRuntime = detectEclipseRuntime();
-			IVMInstall defaultVM = null;
-			IVMInstallType[] vmTypes= getVMInstallTypes();
-			if  (eclipseRuntime == null) {
-				// No default VM or Eclipse runtime. Set the first VM as the default (if any)
-				for (int i = 0; i < vmTypes.length; i++) {
-					IVMInstallType type = vmTypes[i];
-					IVMInstall[] vms = type.getVMInstalls();
-					for (int j = 0; j < vms.length; j++) {
-						defaultVM = vms[j];
-						break;
-					}
-					if (defaultVM != null) {
-						break;
-					}
-				}
-			} else {
-				// if there is no default VM, set the Eclipse runtime to be the default
-				// VM. First search for an existing VM install with the same
-				// install location as the detected runtime
-				IVMInstallType type = eclipseRuntime.getVMInstallType();
-				IVMInstall[] vms = type.getVMInstalls();
-				for (int j = 0; j < vms.length; j++) {
-					IVMInstall install = vms[j];
-					if (install.getInstallLocation().equals(eclipseRuntime.getInstallLocation())) {
-						defaultVM = install;
-						break;
-					}
-				}
-				if (defaultVM == null) {
-					// There is no VM install that corresponds to the Eclipse runtime.
-					// Create a VM install for the Eclipse runtime.
-					defaultVM = eclipseRuntime.convertToRealVM();
-				}
-			}
-			if (defaultVM != null) {
-				fgDefaultVMId = getCompositeIdFromVM(defaultVM);
-			}
-		}		
-	}
-	/**
-	 * Detects VM installations, and a default VM (if required). Saves the
-	 * results.
-	 */
-	private static void detectAndSaveVMDefinitions() {
-		detectDefaultVM();
-		try {
-			String vmDefXML = getVMsAsXML();
-			saveVMDefinitions(vmDefXML);
-		} catch (IOException ioe) {
-			LaunchingPlugin.log(ioe);
-		}
-	}
-	
-	/**
-	 * Make the name of a detected VM stand out.
-	 */
-	private static String generateDetectedVMName(IVMInstall vm) {
-		return vm.getInstallLocation().getName();
-	}
-	
-	/**
-	 * Creates and returns a classpath entry describing
-	 * the JRE_LIB classpath variable.
-	 * 
-	 * @return a new IClasspathEntry that describes the JRE_LIB classpath variable
-	 */
-	public static IClasspathEntry getJREVariableEntry() {
-		return JavaCore.newVariableEntry(
-			new Path(JRELIB_VARIABLE),
-			new Path(JRESRC_VARIABLE),
-			new Path(JRESRCROOT_VARIABLE)
-		);
-	}
-	
-	/**
-	 * Creates and returns a classpath entry describing
-	 * the default JRE container entry.
-	 * 
-	 * @return a new IClasspathEntry that describes the default JRE container entry
-	 * @since 2.0
-	 */
-	public static IClasspathEntry getDefaultJREContainerEntry() {
-		return JavaCore.newContainerEntry(new Path(JRE_CONTAINER));
-	}	
-	
-	/**
-	 * Returns the VM connetor defined with the specified identifier,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param id VM connector identifier
-	 * @return VM connector or <code>null</code> if none
-	 * @since 2.0
-	 */
-	public static IVMConnector getVMConnector(String id) {
-		return LaunchingPlugin.getDefault().getVMConnector(id);
-	}
-	
-	/**
-	 * Returns all VM connector extensions.
-	 *
-	 * @return VM connectors
-	 * @since 2.0
-	 */
-	public static IVMConnector[] getVMConnectors() {
-		return LaunchingPlugin.getDefault().getVMConnectors();
-	}	
-	
-	/**
-	 * Returns the preference store for the launching plug-in.
-	 * 
-	 * @return the preference store for the launching plug-in
-	 * @since 2.0
-	 */
-	public static Preferences getPreferences() {
-		return LaunchingPlugin.getDefault().getPluginPreferences();
-	}
-	
-	/**
-	 * Saves the preferences for the launching plug-in.
-	 * 
-	 * @since 2.0
-	 */
-	public static void savePreferences() {
-		LaunchingPlugin.getDefault().savePluginPreferences();
-	}
-	
-	/**
-	 * Registers the given resolver for the specified variable.
-	 * 
-	 * @param resolver runtime classpathe entry resolver
-	 * @param variableName variable name to register for
-	 * @since 2.0
-	 */
-	public static void addVariableResolver(IRuntimeClasspathEntryResolver resolver, String variableName) {
-		Map map = getVariableResolvers();
-		map.put(variableName, resolver);
-	}
-	
-	/**
-	 * Registers the given resolver for the specified container.
-	 * 
-	 * @param resolver runtime classpathe entry resolver
-	 * @param containerIdentifier identifier of the classpath container to register for
-	 * @since 2.0
-	 */
-	public static void addContainerResolver(IRuntimeClasspathEntryResolver resolver, String containerIdentifier) {
-		Map map = getContainerResolvers();
-		map.put(containerIdentifier, resolver);
-	}	
-	
-	/**
-	 * Returns all registered variable resolvers.
-	 */
-	private static Map getVariableResolvers() {
-		if (fgVariableResolvers == null) {
-			initializeResolvers();
-		}
-		return fgVariableResolvers;
-	}
-	
-	/**
-	 * Returns all registered container resolvers.
-	 */
-	private static Map getContainerResolvers() {
-		if (fgContainerResolvers == null) {
-			initializeResolvers();
-		}
-		return fgContainerResolvers;
-	}
-
-	private static void initializeResolvers() {
-		IExtensionPoint point = LaunchingPlugin.getDefault().getDescriptor().getExtensionPoint(EXTENSION_POINT_RUNTIME_CLASSPATH_ENTRY_RESOLVERS);
-		IConfigurationElement[] extensions = point.getConfigurationElements();
-		fgVariableResolvers = new HashMap(extensions.length);
-		fgContainerResolvers = new HashMap(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			RuntimeClasspathEntryResolver res = new RuntimeClasspathEntryResolver(extensions[i]);
-			String variable = res.getVariableName();
-			String container = res.getContainerId();
-			if (variable != null) {
-				fgVariableResolvers.put(variable, res);
-			}
-			if (container != null) {
-				fgContainerResolvers.put(container, res);
-			}
-		}		
-	}
-
-	/**
-	 * Returns all registered classpath providers.
-	 */
-	private static Map getClasspathProviders() {
-		if (fgPathProviders == null) {
-			initializeProviders();
-		}
-		return fgPathProviders;
-	}
-		
-	private static void initializeProviders() {
-		IExtensionPoint point = LaunchingPlugin.getDefault().getDescriptor().getExtensionPoint(EXTENSION_POINT_RUNTIME_CLASSPATH_PROVIDERS);
-		IConfigurationElement[] extensions = point.getConfigurationElements();
-		fgPathProviders = new HashMap(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			RuntimeClasspathProvider res = new RuntimeClasspathProvider(extensions[i]);
-			fgPathProviders.put(res.getIdentifier(), res);
-		}		
-	}
-		
-	/**
-	 * Returns the resovler registered for the give variable, or
-	 * <code>null</code> if none.
-	 * 
-	 * @return the resovler registered for the give variable, or
-	 * <code>null</code> if none
-	 */
-	private static IRuntimeClasspathEntryResolver getVariableResolver(String variableName) {
-		return (IRuntimeClasspathEntryResolver)getVariableResolvers().get(variableName);
-	}
-	
-	/**
-	 * Returns the resovler registered for the give container id, or
-	 * <code>null</code> if none.
-	 * 
-	 * @return the resovler registered for the give container id, or
-	 * <code>null</code> if none
-	 */	
-	private static IRuntimeClasspathEntryResolver getContainerResolver(String containerId) {
-		return (IRuntimeClasspathEntryResolver)getContainerResolvers().get(containerId);
-	}	
-	
-	/**
-	 * Adds the given listener to the list of registered VM install changed
-	 * listeners. Has no effect if an identical listener is already registered.
-	 * 
-	 * @param listener the listener to add
-	 * @since 2.0
-	 */
-	public static void addVMInstallChangedListener(IVMInstallChangedListener listener) {
-		fgVMListeners.add(listener);
-	}
-	
-	/**
-	 * Removes the given listener from the list of registered VM install changed
-	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener the listener to remove
-	 * @since 2.0
-	 */
-	public static void removeVMInstallChangedListener(IVMInstallChangedListener listener) {
-		fgVMListeners.remove(listener);
-	}	
-	
-	private static void notifyDefaultVMChanged(IVMInstall previous, IVMInstall current) {
-		Object[] listeners = fgVMListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IVMInstallChangedListener listener = (IVMInstallChangedListener)listeners[i];
-			listener.defaultVMInstallChanged(previous, current);
-		}
-	}
-	
-	/**
-	 * Notifies all VM install changed listeners of the given property change.
-	 * 
-	 * @param vm the VM that has changed
-	 * @param event event desribing the change.
-	 * @since 2.0
-	 */
-	public static void fireVMChanged(PropertyChangeEvent event) {
-		Object[] listeners = fgVMListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IVMInstallChangedListener listener = (IVMInstallChangedListener)listeners[i];
-			listener.vmChanged(event);
-		}		
-	}
-	
-	/**
-	 * Notifies all VM install changed listeners of the VM addition
-	 * 
-	 * @param vm the VM that has been added
-	 * @since 2.0
-	 */
-	public static void fireVMAdded(IVMInstall vm) {
-		Object[] listeners = fgVMListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IVMInstallChangedListener listener = (IVMInstallChangedListener)listeners[i];
-			listener.vmAdded(vm);
-		}		
-	}	
-	
-	/**
-	 * Notifies all VM install changed listeners of the VM removal
-	 * 
-	 * @param vm the VM that has been removed
-	 * @since 2.0
-	 */
-	public static void fireVMRemoved(IVMInstall vm) {
-		Object[] listeners = fgVMListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IVMInstallChangedListener listener = (IVMInstallChangedListener)listeners[i];
-			listener.vmRemoved(vm);
-		}		
-	}		
-	
-	/**
-	 * Return the String representation of the default output directory of the
-	 * launch config's project or <code>null</code> if there is no config, no
-	 * project or some sort of problem.
-	 * 
-	 * @return the default output directory for the specified launch
-	 * configuration's project
-	 * @since 2.1
-	 */
-	public static String getProjectOutputDirectory(ILaunchConfiguration config) {
-		try {
-			if (config != null) {
-				IJavaProject javaProject = JavaRuntime.getJavaProject(config);
-				if (javaProject != null) {
-					IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-					IPath outputLocation = javaProject.getOutputLocation();
-					IResource resource = root.findMember(outputLocation);
-					IPath path = resource.getFullPath();
-					if (path != null)  {
-						return path.makeRelative().toString();
-					}
-				} 
-			}
-		} catch (CoreException ce) {
-		} 
-		return null;
-	}
-	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/LibraryLocation.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/LibraryLocation.java
deleted file mode 100644
index 5547bc3..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/LibraryLocation.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-
-
-/**
- * The location of a library (for example rt.jar).
- * <p>
- * Clients may instantiate this class; it is not intended to be subclassed.
- * </p>
- */
-public final class LibraryLocation {
-	private IPath fSystemLibrary;
-	private IPath fSystemLibrarySource;
-	private IPath fPackageRootPath;
-	
-	/**
-	 * Creates a new library location.
-	 * 
-	 * @param libraryPath	The location of the JAR containing java.lang.Object
-	 * 					Must not be <code>null</code>.
-	 * @param sourcePath	The location of the zip file containing the sources for <code>library</code>
-	 * 					Must not be <code>null</code> (Use Path.EMPTY instead)
-	 * @param packageRoot The path inside the <code>source</code> zip file where packages names
-	 * 					  begin. If the source for java.lang.Object source is found at 
-	 * 					  "src/java/lang/Object.java" in the zip file, the 
-	 * 					  packageRoot should be "src"
-	 * 					  Must not be <code>null</code>. (Use Path.EMPTY instead)
-	 * @throws	IllegalArgumentException	If the library path is <code>null</code>.
-	 */	
-	public LibraryLocation(IPath libraryPath, IPath sourcePath, IPath packageRoot) {
-		if (libraryPath == null)
-			throw new IllegalArgumentException(LaunchingMessages.getString("libraryLocation.assert.libraryNotNull")); //$NON-NLS-1$
-
-		fSystemLibrary= libraryPath;
-		fSystemLibrarySource= sourcePath;
-		fPackageRootPath= packageRoot;
-	}		
-		
-	/**
-	 * Returns the JRE library jar location.
-	 * 
-	 * @return The JRE library jar location.
-	 */
-	public IPath getSystemLibraryPath() {
-		return fSystemLibrary;
-	}
-	
-	/**
-	 * Reutrns the JRE library source zip location.
-	 * 
-	 * @return The JRE library source zip location.
-	 */
-	public IPath getSystemLibrarySourcePath() {
-		return fSystemLibrarySource;
-	}	
-	
-	/**
-	 * Returns the path to the default package in the sources zip file
-	 * 
-	 * @return The path to the default package in the sources zip file.
-	 */
-	public IPath getPackageRootPath() {
-		return fPackageRootPath;
-	}
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof LibraryLocation) {
-			LibraryLocation lib = (LibraryLocation)obj;
-			return getSystemLibraryPath().equals(lib.getSystemLibraryPath()) 
-				&& equals(getSystemLibrarySourcePath(), lib.getSystemLibrarySourcePath())
-				&& equals(getPackageRootPath(), lib.getPackageRootPath());
-		} 
-		return false;
-	}
-
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getSystemLibraryPath().hashCode();
-	}
-	
-	/**
-	 * Returns whether the given paths are equal - either may be <code>null</code>.
-	 */
-	protected boolean equals(IPath path1, IPath path2) {
-		if (path1 == null) {
-			return path2 == null;
-		}
-		if (path2 == null) {
-			return false;
-		}
-		return path1.equals(path2);
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/PropertyChangeEvent.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/PropertyChangeEvent.java
deleted file mode 100644
index 4f82b77..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/PropertyChangeEvent.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.util.EventObject;
-/**
- * An event object describing a change to a named property.
- * <p>
- * JavaRuntime provides change notification for properties of VM installs
- * </p>
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 2.0
- */
-public class PropertyChangeEvent extends EventObject {
-
-	/**
-	 * The name of the changed property.
-	 */
-	private String propertyName;
-	
-	/**
-	 * The old value of the changed property, or <code>null</code> if
-	 * not known or not relevant.
-	 */
-	private Object oldValue;
-	
-	/**
-	 * The new value of the changed property, or <code>null</code> if
-	 * not known or not relevant.
-	 */
-	private Object newValue;
-	
-	/**
-	 * Creates a new property change event.
-	 *
-	 * @param source the object whose property has changed
-	 * @param property the property that has changed (must not be 
-	 *    <code>null</code>)
-	 * @param oldValue the old value of the property, or 
-	 *    <code>null</code> if none
-	 * @param newValue the new value of the property, or 
-	 *    <code>null</code> if none
-	 */
-	public PropertyChangeEvent(
-		Object source,
-		String property,
-		Object oldValue,
-		Object newValue) {
-	
-		super(source);
-		if (property == null) {
-			throw new IllegalArgumentException();
-		}
-		this.propertyName = property;
-		this.oldValue = oldValue;
-		this.newValue = newValue;
-	}
-	
-	/**
-	 * Returns the name of the property that changed.
-	 *
-	 * @return the name of the property that changed
-	 */
-	public String getProperty() {
-		return propertyName;
-	}
-	
-	/**
-	 * Returns the new value of the property.
-	 *
-	 * @return the new value, or <code>null</code> if not known
-	 *  or not relevant
-	 */
-	public Object getNewValue() {
-		return newValue;
-	}
-	
-	/**
-	 * Returns the old value of the property.
-	 *
-	 * @return the old value, or <code>null</code> if not known
-	 *  or not relevant
-	 */
-	public Object getOldValue() {
-		return oldValue;
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/SocketUtil.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/SocketUtil.java
deleted file mode 100644
index 751b27e..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/SocketUtil.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.util.Random;
-
-/**
- * Utility class to find a port to debug on.
- */
-public class SocketUtil {
-	private static final Random fgRandom= new Random(System.currentTimeMillis());
-	
-	/**
-	 * Returns a free port number on the specified host within the given range,
-	 * or if there are no free ports in the given range, returns any free port,
-	 * or -1 if none found.
-	 * 
-	 * @param host name or IP addres of host on which to find a free port
-	 * @param searchFrom the port number from which to start searching 
-	 * @param searchTo the port number at which to stop searching
-	 * @return a free port in the specified range, or any free port, or -1 of none found
-	 */
-	public static int findUnusedLocalPort(String host, int searchFrom, int searchTo) {
-		for (int i= 0; i < 10; i++) {
-			ServerSocket socket= null;
-			try {
-				int port= getRandomPort(searchFrom, searchTo);
-				socket= new ServerSocket(port);
-				return port;
-			} catch (IOException e) { 
-			} finally {
-				if (socket != null) {
-					try {
-						socket.close();
-					} catch (IOException e) {
-					}
-				}
-			}
-		}
-		ServerSocket socket= null;
-		try {
-			socket= new ServerSocket(0);
-			return socket.getLocalPort();
-		} catch (IOException e) { 
-		} finally {
-			if (socket != null) {
-				try {
-					socket.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-		return -1;
-	}
-	
-	private static int getRandomPort(int low, int high) {
-		return (int)(fgRandom.nextFloat() * (high-low)) + low;
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/StandardClasspathProvider.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/StandardClasspathProvider.java
deleted file mode 100644
index 35099c4..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/StandardClasspathProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.core.IJavaProject;
-
-/**
- * Default implementation for classpath provider.
- * <p>
- * This class may be subclassed.
- * </p>
- * @since 2.0
- */
-public class StandardClasspathProvider implements IRuntimeClasspathProvider {
-
-	/**
-	 * @see IRuntimeClasspathProvider#computeUnresolvedClasspath(ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] computeUnresolvedClasspath(ILaunchConfiguration configuration) throws CoreException {
-		boolean useDefault = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, true);
-		if (useDefault) {
-			IJavaProject proj = JavaRuntime.getJavaProject(configuration);
-			if (proj == null) {
-				// no project - use JRE's libraries by default
-				IVMInstall vm = JavaRuntime.computeVMInstall(configuration);
-				LibraryLocation[] libs = JavaRuntime.getLibraryLocations(vm);
-				if (libs == null) {
-					return new IRuntimeClasspathEntry[0];
-				} else {
-					IRuntimeClasspathEntry[] rtes = new IRuntimeClasspathEntry[libs.length];
-					for (int i = 0; i < libs.length; i++) {
-						IRuntimeClasspathEntry r = JavaRuntime.newArchiveRuntimeClasspathEntry(libs[i].getSystemLibraryPath());
-						r.setSourceAttachmentPath(libs[i].getSystemLibrarySourcePath());
-						r.setSourceAttachmentRootPath(libs[i].getPackageRootPath());
-						r.setClasspathProperty(IRuntimeClasspathEntry.STANDARD_CLASSES);
-						rtes[i] = r;
-					}
-					return rtes;
-				}				
-			} else {
-				return JavaRuntime.computeUnresolvedRuntimeClasspath(proj);						
-			}
-		} else {
-			// recover persisted classpath
-			return recoverRuntimePath(configuration, IJavaLaunchConfigurationConstants.ATTR_CLASSPATH);
-		}
-	}
-
-	/**
-	 * @see IRuntimeClasspathProvider#resolveClasspath(IRuntimeClasspathEntry[], ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] resolveClasspath(IRuntimeClasspathEntry[] entries, ILaunchConfiguration configuration) throws CoreException {
-		List all = new ArrayList(entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			IRuntimeClasspathEntry[] resolved =JavaRuntime.resolveRuntimeClasspathEntry(entries[i], configuration);
-			for (int j = 0; j < resolved.length; j++) {
-				all.add(resolved[j]);
-			}
-		}
-		return (IRuntimeClasspathEntry[])all.toArray(new IRuntimeClasspathEntry[all.size()]);
-	}
-	
-	/**
-	 * Returns a collection of runtime classpath entries that are defined in the
-	 * specified attribute of the given launch configuration. When present,
-	 * the attribute must contain a list of runtime classpath entry mementos.
-	 * 
-	 * @param configuration launch configuration
-	 * @param attribute attribute name containing the list of entries
-	 * @return collection of runtime classpath entries that are defined in the
-	 *  specified attribute of the given launch configuration
-	 * @exception CoreException if unable to retrieve the list
-	 */
-	protected IRuntimeClasspathEntry[] recoverRuntimePath(ILaunchConfiguration configuration, String attribute) throws CoreException {
-		List entries = (List)configuration.getAttribute(attribute, Collections.EMPTY_LIST);
-		IRuntimeClasspathEntry[] rtes = new IRuntimeClasspathEntry[entries.size()];
-		Iterator iter = entries.iterator();
-		int i = 0;
-		while (iter.hasNext()) {
-			rtes[i] = JavaRuntime.newRuntimeClasspathEntry((String)iter.next());
-			i++;
-		}
-		return rtes;		
-	}	
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/StandardSourcePathProvider.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/StandardSourcePathProvider.java
deleted file mode 100644
index 44e306e..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/StandardSourcePathProvider.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * Default implementation of source lookup path computation and resolution.
- * <p>
- * This class may be subclassed.
- * </p>
- * @since 2.0
- */
-public class StandardSourcePathProvider extends StandardClasspathProvider {
-	
-	/**
-	 * @see IRuntimeClasspathProvider#computeUnresolvedClasspath(ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] computeUnresolvedClasspath(ILaunchConfiguration configuration) throws CoreException {
-		boolean useDefault = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_SOURCE_PATH, true);
-		IRuntimeClasspathEntry[] entries = null;
-		if (useDefault) {
-			// the default source lookup path is the same as the classpath
-			entries = super.computeUnresolvedClasspath(configuration);
-		} else {
-			// recover persisted source path
-			entries = recoverRuntimePath(configuration, IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH);
-		}
-		return entries;
-
-	}
-
-	/**
-	 * @see IRuntimeClasspathProvider#resolveClasspath(IRuntimeClasspathEntry[], ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] resolveClasspath(IRuntimeClasspathEntry[] entries, ILaunchConfiguration configuration) throws CoreException {
-		List all = new ArrayList(entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].getType() == IRuntimeClasspathEntry.PROJECT) {
-				// a project resolves to itself for source lookup (rather than the class file output locations)
-				all.add(entries[i]);
-			} else {
-				IRuntimeClasspathEntry[] resolved =JavaRuntime.resolveRuntimeClasspathEntry(entries[i], configuration);
-				for (int j = 0; j < resolved.length; j++) {
-					all.add(resolved[j]);
-				}				
-			}
-		}
-		return (IRuntimeClasspathEntry[])all.toArray(new IRuntimeClasspathEntry[all.size()]);
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/VMRunnerConfiguration.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/VMRunnerConfiguration.java
deleted file mode 100644
index 5a1bd06..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/VMRunnerConfiguration.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.launching;
-
- 
-import java.util.Map;
-
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-
-/**
- * Holder for various arguments passed to a VM runner.
- * Mandatory parameters are passed in the constructor; optional arguments, via setters.
- * <p>
- * Clients may instantiate this class; it is not intended to be subclassed.
- * </p>
- */
-public class VMRunnerConfiguration {
-	private String fClassToLaunch;
-	private String[] fVMArgs;
-	private String[] fProgramArgs;
-	private String[] fClassPath;
-	private String[] fBootClassPath;
-	private String fWorkingDirectory;
-	private Map fVMSpecificAttributesMap;
-	
-	private static final String[] fgEmpty= new String[0];
-	
-	/**
-	 * Creates a new configuration for launching a VM to run the given main class
-	 * using the given class path.
-	 *
-	 * @param classToLaunch The fully qualified name of the class to launch. May not be null.
-	 * @param classPath 	The classpath. May not be null.
-	 */
-	public VMRunnerConfiguration(String classToLaunch, String[] classPath) {
-		if (classToLaunch == null) {
-			throw new IllegalArgumentException(LaunchingMessages.getString("vmRunnerConfig.assert.classNotNull")); //$NON-NLS-1$
-		}
-		if (classPath == null) {
-			throw new IllegalArgumentException(LaunchingMessages.getString("vmRunnerConfig.assert.classPathNotNull")); //$NON-NLS-1$
-		}
-		fClassToLaunch= classToLaunch;
-		fClassPath= classPath;
-	}
-
-	/**
-	 * Sets the <code>Map</code> that contains String name/value pairs that represent
-	 * VM-specific attributes.
-	 * 
-	 * @param map the <code>Map</code> of VM-specific attributes.
-	 * @since 2.0
-	 */
-	public void setVMSpecificAttributesMap(Map map) {
-		fVMSpecificAttributesMap = map;
-	}
-
-	/**
-	 * Sets the custom VM arguments. These arguments will be appended to the list of 
-	 * VM arguments that a VM runner uses when launching a VM. Typically, these VM arguments
-	 * are set by the user.
-	 * These arguments will not be interpreted by a VM runner, the client is responsible for
-	 * passing arguments compatible with a particular VM runner.
-	 *
-	 * @param args the list of VM arguments
-	 */
-	public void setVMArguments(String[] args) {
-		if (args == null) {
-			throw new IllegalArgumentException(LaunchingMessages.getString("vmRunnerConfig.assert.vmArgsNotNull")); //$NON-NLS-1$
-		}
-		fVMArgs= args;
-	}
-	
-	/**
-	 * Sets the custom program arguments. These arguments will be appended to the list of 
-	 * program arguments that a VM runner uses when launching a VM (in general: none). 
-	 * Typically, these VM arguments are set by the user.
-	 * These arguments will not be interpreted by a VM runner, the client is responsible for
-	 * passing arguments compatible with a particular VM runner.
-	 *
-	 * @param args the list of arguments	
-	 */
-	public void setProgramArguments(String[] args) {
-		if (args == null) {
-			throw new IllegalArgumentException(LaunchingMessages.getString("vmRunnerConfig.assert.programArgsNotNull")); //$NON-NLS-1$
-		}
-		fProgramArgs= args;
-	}
-	
-	/**
-	 * Sets the boot classpath. Note that the boot classpath will be passed to the 
-	 * VM "as is". This means it has to be complete. Interpretation of the boot class path
-	 * is up to the VM runner this object is passed to.
-	 *
-	 * @param bootClassPath The boot classpath. An emptry array indicates an empty
-	 *  bootpath and <code>null</code> indicates a default bootpah.
-	 */
-	public void setBootClassPath(String[] bootClassPath) {
-		fBootClassPath= bootClassPath;
-	}
-	
-	/**
-	 * Returns the <code>Map</code> that contains String name/value pairs that represent
-	 * VM-specific attributes.
-	 * 
-	 * @return The <code>Map</code> of VM-specific attributes or <code>null</code>.
-	 * @since 2.0
-	 */
-	public Map getVMSpecificAttributesMap() {
-		return fVMSpecificAttributesMap;
-	}
-	
-	/**
-	 * Returns the name of the class to launch.
-	 *
-	 * @return The fully qualified name of the class to launch. Will not be <code>null</code>.
-	 */
-	public String getClassToLaunch() {
-		return fClassToLaunch;
-	}
-	
-	/**
-	 * Returns the classpath.
-	 *
-	 * @return the classpath
-	 */
-	public String[] getClassPath() {
-		return fClassPath;
-	}
-	
-	/**
-	 * Returns the boot classpath. An emptry array indicates an empty
-	 * bootpath and <code>null</code> indicates a default bootpah.
-	 *
-	 * @return The boot classpath. An emptry array indicates an empty
-	 *  bootpath and <code>null</code> indicates a default bootpah.
-	 * @see #setBootClassPath
-	 */
-	public String[] getBootClassPath() {
-		return fBootClassPath;
-	}
-
-	/**
-	 * Returns the arguments to the VM itself.
-	 *
-	 * @return The VM arguments. Default is an empty array. Will not be <code>null</code>.
-	 * @see #setVMArguments
-	 */
-	public String[] getVMArguments() {
-		if (fVMArgs == null) {
-			return fgEmpty;
-		}
-		return fVMArgs;
-	}
-	
-	/**
-	 * Returns the arguments to the Java program.
-	 *
-	 * @return The Java program arguments. Default is an empty array. Will not be <code>null</code>.
-	 * @see #setProgramArguments
-	 */
-	public String[] getProgramArguments() {
-		if (fProgramArgs == null) {
-			return fgEmpty;
-		}
-		return fProgramArgs;
-	}
-	
-	/**
-	 * Sets the working directory for a launched VM.
-	 * 
-	 * @param path the absolute path to the working directory
-	 *  to be used by a launched VM, or <code>null</code> if
-	 *  the default working directory is to be inherited from the
-	 *  current process
-	 * @since 2.0
-	 */
-	public void setWorkingDirectory(String path) {
-		fWorkingDirectory = path;
-	}
-	
-	/**
-	 * Returns the working directory of a launched VM.
-	 * 
-	 * @return the absolute path to the working directory
-	 *  of a launched VM, or <code>null</code> if the working
-	 *  directory is inherited from the current process
-	 * @since 2.0
-	 */
-	public String getWorkingDirectory() {
-		return fWorkingDirectory;
-	}	
-	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/VMStandin.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/VMStandin.java
deleted file mode 100644
index daeb31b..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/VMStandin.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching;
-
-
-
-/**
- * An implementation of IVMInstall that is used for manipulating VMs without necessarily 
- * committing changes.
- * <p>
- * Instances of this class act like wrappers.  All other instances of IVMInstall represent 
- * 'real live' VMs that may be used for building or launching.  Instances of this class
- * behave like 'temporary' VMs that are not visible and not available for building or launching.
- * </p>
- * <p>
- * Instances of this class may be constructed as a preliminary step to creating a 'live' VM
- * or as a preliminary step to making changes to a 'real' VM.
- * </p>
- * When <code>convertToRealVM</code> is called, a corresponding 'real' VM is created
- * if one did not previously exist, or the corresponding 'real' VM is updated.
- * </p>
- * <p>
- * Clients may instantiate this class; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.1
- */
-public class VMStandin extends AbstractVMInstall {
-
-	/**
-	 * @see org.eclipse.jdt.launching.AbstractVMInstall#AbstractVMInstall(org.eclipse.jdt.launching.IVMInstallType, java.lang.String)
-	 */
-	public VMStandin(IVMInstallType type, String id) {
-		super(type, id);
-		setNotify(false);
-	}
-	
-	/**
-	 * Construct a <code>VMStandin</code> instance based on the specified <code>IVMInstall</code>.
-	 * Changes to this standin will not be reflected in the 'real' VM until <code>convertToRealVM</code>
-	 * is called.
-	 * 
-	 * @param realVM the 'real' VM from which to construct this standin VM
-	 */
-	public VMStandin(IVMInstall realVM) {
-		this (realVM.getVMInstallType(), realVM.getId());
-		setName(realVM.getName());
-		setInstallLocation(realVM.getInstallLocation());
-		setLibraryLocations(realVM.getLibraryLocations());
-		setJavadocLocation(realVM.getJavadocLocation());
-	}
-	
-	/**
-	 * If no corresponding 'real' VM exists, create one and populate it from this standin instance. 
-	 * If a corresponding VM exists, update its attributes from this standin instance.
-	 * 
-	 * @return IVMInstall the 'real' corresponding to this standin VM
-	 */
-	public IVMInstall convertToRealVM() {
-		IVMInstallType vmType= getVMInstallType();
-		IVMInstall realVM= vmType.findVMInstall(getId());
-		boolean notify = true;
-		
-		if (realVM == null) {
-			realVM= vmType.createVMInstall(getId());
-			notify = false;
-		}
-		// do not notify of property changes on new VMs
-		if (realVM instanceof AbstractVMInstall) {
-			 ((AbstractVMInstall)realVM).setNotify(notify);
-		}
-		realVM.setName(getName());
-		realVM.setInstallLocation(getInstallLocation());
-		realVM.setLibraryLocations(getLibraryLocations());
-		realVM.setJavadocLocation(getJavadocLocation());
-		if (realVM instanceof AbstractVMInstall) {
-			 ((AbstractVMInstall)realVM).setNotify(true);
-		}		
-		if (!notify) {
-			JavaRuntime.fireVMAdded(realVM);
-		}
-		return realVM;
-	}
-		
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/package.html b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/package.html
deleted file mode 100644
index 1cd36bb..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/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">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Application programming interfaces for interaction
-with the Eclipse Java launching support.
-<h2>
-Package Specification</h2>
-Provides support for describing installed Java runtime environments and launching
-Java virtual machines.
-</body>
-</html>
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/ArchiveSourceLocation.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/ArchiveSourceLocation.java
deleted file mode 100644
index f56e4ad..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/ArchiveSourceLocation.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching.sourcelookup;
-
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.internal.launching.JavaLaunchConfigurationUtils;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
- 
-/**
- * Locates source elements in an archive (zip) in the local file system. Returns
- * instances of <code>ZipEntryStorage</code>.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IJavaSourceLocation
- * @since 2.0
- */
-public class ArchiveSourceLocation extends PlatformObject implements IJavaSourceLocation {
-	
-	/**
-	 * Cache of shared zip files. Zip files are closed
-	 * when the launching plug-in is shutdown.
-	 */
-	private static HashMap fZipFileCache = new HashMap(5);
-
-	/**
-	 * Returns a zip file with the given name
-	 * 
-	 * @param name zip file name
-	 * @exception IOException if unable to create the specified zip
-	 * 	file
-	 */
-	private static ZipFile getZipFile(String name) throws IOException {
-		ZipFile zip = (ZipFile)fZipFileCache.get(name);
-		if (zip == null) {
-			zip = new ZipFile(name);
-			fZipFileCache.put(name, zip);
-		}
-		return zip;
-	}
-	
-	/**
-	 * Closes all zip files that have been opened,
-	 * and removes them from the zip file cache.
-	 * This method is only to be called by the launching
-	 * plug-in.
-	 */
-	public static void closeArchives() {
-		Iterator iter = fZipFileCache.values().iterator();
-		while (iter.hasNext()) {
-			ZipFile file = (ZipFile)iter.next();
-			try {
-				file.close();
-			} catch (IOException e) {
-				LaunchingPlugin.log(e);
-			}
-		}
-		fZipFileCache.clear();
-	}
-	
-	/**
-	 * The root source folder in the archive
-	 */
-	private IPath fRootPath;
-	
-	/**
-	 * Whether the root path has been detected (or set)
-	 */
-	private boolean fRootDetected = false;
-	
-	/**
-	 * The name of the archive
-	 */
-	private String fName;
-
-	/**
-	 * Constructs a new empty source location to be initialized with 
-	 * a memento.
-	 */
-	public ArchiveSourceLocation() {
-	}
-		
-	/**
-	 * Constructs a new source location that will retrieve source
-	 * elements from the zip file with the given name.
-	 * 
-	 * @param archive zip file
-	 * @param sourceRoot a path to the root source folder in the
-	 *  specified archive, or <code>null</code> if the root source folder
-	 *  is the root of the archive
-	 */
-	public ArchiveSourceLocation(String archiveName, String sourceRoot) {
-		super();
-		setName(archiveName);
-		setRootPath(sourceRoot);
-	}
-		
-	/**
-	 * @see IJavaSourceLocation#findSourceElement(String)
-	 */
-	public Object findSourceElement(String name) throws CoreException {
-		try {
-			if (getArchive() == null) {
-				return null;
-			}
-			
-			// guess at source name if an inner type
-			String pathStr= name.replace('.', '/');
-			int dotIndex= pathStr.lastIndexOf('/');
-			int dollarIndex= pathStr.indexOf('$', dotIndex + 1);
-			if (dollarIndex >= 0) {
-				pathStr = pathStr.substring(0, dollarIndex);
-			}		
-			pathStr += ".java"; //$NON-NLS-1$
-			IPath path = new Path(pathStr); 
-			autoDetectRoot(path);
-			if (getRootPath() != null) {
-				path = getRootPath().append(path);
-			}
-			ZipEntry entry = getArchive().getEntry(path.toString());
-			if (entry != null) {
-				return new ZipEntryStorage(getArchive(), entry);
-			}
-			return null;
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, 
-				MessageFormat.format(LaunchingMessages.getString("ArchiveSourceLocation.Unable_to_locate_source_element_in_archive_{0}_1"), new String[] {getName()}), e)); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Automatically detect the root path, if required.
-	 * 
-	 * @param path source file name, excluding root path
-	 */
-	private void autoDetectRoot(IPath path) {
-		if (!fRootDetected) {
-			Enumeration entries = null;
-			try {
-				entries = getArchive().entries();
-			} catch (IOException e) {
-				LaunchingPlugin.log(e);
-				return;
-			}
-			String fileName = path.toString();
-			while (entries.hasMoreElements()) {
-				ZipEntry entry = (ZipEntry)entries.nextElement();
-				String entryName = entry.getName();
-				if (entryName.endsWith(fileName)) {
-					int rootLength = entryName.length() - fileName.length();
-					if (rootLength > 0) {
-						String root = entryName.substring(0, rootLength);
-						setRootPath(root);
-					}
-					fRootDetected = true;
-					return;
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns the archive associated with this source
-	 * location.
-	 * 
-	 * @return zip file
-	 */
-	protected ZipFile getArchive() throws IOException {
-		return getZipFile(getName());
-	}
-	
-	/**
-	 * Sets the location of the root source folder within
-	 * the archive, or <code>null</code> if the root source
-	 * folder is the root of the archive
-	 * 
-	 * @param path the location of the root source folder within
-	 * the archive, or <code>null</code> if the root source
-	 * folder is the root of the archive
-	 */
-	private void setRootPath(String path) {
-		if (path == null || path.trim().length() == 0) {
-			fRootPath = null;
-		} else {
-			fRootPath = new Path(path);
-			fRootDetected = true;
-		}
-	}
-	
-	/**
-	 * Returns the location of the root source folder within
-	 * the archive, or <code>null</code> if the root source
-	 * folder is the root of the arhcive
-	 * 
-	 * @return the location of the root source folder within
-	 * the archive, or <code>null</code> if the root source
-	 * folder is the root of the arhcive
-	 */
-	public IPath getRootPath() {
-		return fRootPath;
-	}	
-	
-	/**
-	 * Returns the name of the archive associated with this 
-	 * source location
-	 * 
-	 * @return the name of the archive associated with this
-	 *  source location
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * Sets the name of the archive associated with this 
-	 * source location
-	 * 
-	 * @param name the name of the archive associated with this
-	 *  source location
-	 */
-	private void setName(String name) {
-		fName = name;
-	}	
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof ArchiveSourceLocation &&
-			 getName().equals(((ArchiveSourceLocation)object).getName());
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}	
-	
-	/**
-	 * @see IJavaSourceLocation#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		Document doc = new DocumentImpl();
-		Element node = doc.createElement("archiveSourceLocation"); //$NON-NLS-1$
-		doc.appendChild(node);
-		node.setAttribute("archivePath", getName()); //$NON-NLS-1$
-		if (getRootPath() != null) {
-			node.setAttribute("rootPath", getRootPath().toString()); //$NON-NLS-1$
-		}
-		
-		try {
-			return JavaLaunchConfigurationUtils.serializeDocument(doc);
-		} catch (IOException e) {
-			abort(MessageFormat.format(LaunchingMessages.getString("ArchiveSourceLocation.Unable_to_create_memento_for_archive_source_location_{0}_1"), new String[] {getName()}), e); //$NON-NLS-1$
-		}
-		// execution will not reach here
-		return null;
-	}
-
-	/**
-	 * @see IJavaSourceLocation#initializeFrom(String)
-	 */
-	public void initializeFrom(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-												
-			String path = root.getAttribute("archivePath"); //$NON-NLS-1$
-			if (isEmpty(path)) {
-				abort(LaunchingMessages.getString("ArchiveSourceLocation.Unable_to_initialize_source_location_-_missing_archive_path._3"), null); //$NON-NLS-1$
-			}
-			String rootPath = root.getAttribute("rootPath"); //$NON-NLS-1$
-			
-			setName(path);
-			setRootPath(rootPath);
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		abort(LaunchingMessages.getString("ArchiveSourceLocation.Exception_occurred_initializing_source_location._5"), ex);		 //$NON-NLS-1$
-	}
-
-	private boolean isEmpty(String string) {
-		return string == null || string.length() == 0;
-	}
-	
-	/**
-	 * Throws an internal error exception
-	 */
-	private void abort(String message, Throwable e)	throws CoreException {
-		IStatus s = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, message, e);
-		throw new CoreException(s);		
-	}	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/DirectorySourceLocation.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/DirectorySourceLocation.java
deleted file mode 100644
index 8e52b9e..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/DirectorySourceLocation.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching.sourcelookup;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaModelStatusConstants;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.launching.JavaLaunchConfigurationUtils;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
- 
-/**
- * Locates source elements in a directory in the local
- * file system. Returns instances of <code>LocalFileStorage</code>.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IJavaSourceLocation
- * @since 2.0
- */
-public class DirectorySourceLocation extends PlatformObject implements IJavaSourceLocation {
-
-	/**
-	 * The directory associated with this source location
-	 */
-	private File fDirectory;
-	
-	/**
-	 * Constructs a new empty source location to be initialized from
-	 * a memento.
-	 */
-	public DirectorySourceLocation() {
-	}
-		
-	/**
-	 * Constructs a new source location that will retrieve source
-	 * elements from the given directory.
-	 * 
-	 * @param directory a directory
-	 */
-	public DirectorySourceLocation(File directory) {
-		setDirectory(directory);
-	}
-	
-	/**
-	 * @see IJavaSourceLocation#findSourceElement(String)
-	 */
-	public Object findSourceElement(String name) throws CoreException {
-		if (getDirectory() == null) {
-			return null;
-		}
-		
-		// guess at source name if an inner type
-		String pathStr= name.replace('.', '/');
-		int dotIndex= pathStr.lastIndexOf('/');
-		int dollarIndex= pathStr.indexOf('$', dotIndex + 1);
-		if (dollarIndex >= 0) {
-			pathStr = pathStr.substring(0, dollarIndex);
-		}		
-		pathStr += ".java"; //$NON-NLS-1$
-		try {
-			IPath root = new Path(getDirectory().getCanonicalPath());
-			root = root.append(new Path(pathStr));
-			File file = root.toFile();
-			if (file.exists()) {
-				return new LocalFileStorage(file);
-			}
-		} catch (IOException e) {
-			throw new JavaModelException(e, IJavaModelStatusConstants.IO_EXCEPTION);
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the directory in which source elements will
-	 * be searched for.
-	 * 
-	 * @param directory a directory
-	 */
-	private void setDirectory(File directory) {
-		fDirectory = directory;
-	}
-	
-	/**
-	 * Returns the directory associated with this source
-	 * location.
-	 * 
-	 * @return directory
-	 */
-	public File getDirectory() {
-		return fDirectory;
-	}
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof DirectorySourceLocation &&
-			 getDirectory().equals(((DirectorySourceLocation)object).getDirectory());
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getDirectory().hashCode();
-	}	
-	
-	/**
-	 * @see IJavaSourceLocation#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		Document doc = new DocumentImpl();
-		Element node = doc.createElement("directorySourceLocation"); //$NON-NLS-1$
-		doc.appendChild(node);
-		node.setAttribute("path", getDirectory().getAbsolutePath()); //$NON-NLS-1$
-		
-		try {
-			return JavaLaunchConfigurationUtils.serializeDocument(doc);
-		} catch (IOException e) {
-			abort(MessageFormat.format(LaunchingMessages.getString("DirectorySourceLocation.Unable_to_create_memento_for_directory_source_location_{0}_1"), new String[] {getDirectory().getAbsolutePath()}), e); //$NON-NLS-1$
-		}
-		// execution will not reach here
-		return null;
-	}
-
-	/**
-	 * @see IJavaSourceLocation#initializeFrom(String)
-	 */
-	public void initializeFrom(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-												
-			String path = root.getAttribute("path"); //$NON-NLS-1$
-			if (isEmpty(path)) {
-				abort(LaunchingMessages.getString("DirectorySourceLocation.Unable_to_initialize_source_location_-_missing_directory_path_3"), null); //$NON-NLS-1$
-			} else {
-				File dir = new File(path);
-				if (dir.exists() && dir.isDirectory()) {
-					setDirectory(dir);
-				} else {
-					abort(MessageFormat.format(LaunchingMessages.getString("DirectorySourceLocation.Unable_to_initialize_source_location_-_directory_does_not_exist__{0}_4"), new String[] {path}), null); //$NON-NLS-1$
-				}
-			}
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		abort(LaunchingMessages.getString("DirectorySourceLocation.Exception_occurred_initializing_source_location._5"), ex);		 //$NON-NLS-1$
-	}
-
-	private boolean isEmpty(String string) {
-		return string == null || string.length() == 0;
-	}
-	
-	/**
-	 * Throws an internal error exception
-	 */
-	private void abort(String message, Throwable e)	throws CoreException {
-		IStatus s = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, message, e);
-		throw new CoreException(s);		
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation.java
deleted file mode 100644
index 6b9c1b8..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching.sourcelookup;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
- 
-/**
- * A repository of source code. A source location is capable of retrieving
- * source elements.
- * <p>
- * For example, a source location could be a project, zip/archive
- * file, or a directory in the file system.
- * </p>
- * <p>
- * This interface is may be implemented by clients.
- * </p>
- * @since 2.0
- */
-public interface IJavaSourceLocation extends IAdaptable {
-	
-	/**
-	 * Returns an object representing the source code
-	 * for a type with the specified name, or <code>null</code>
-	 * if none could be found. The name is
-	 * a fully qualified type name, and may contain the '$'
-	 * character when referring to inner types. For example,
-	 * <code>java.lang.String</code>. The source element 
-	 * returned is implementation specific - for example, a
-	 * resource, a local file, a zip file entry, etc.
-	 * 
-	 * @param name fully qualified name of the type for which
-	 * 		source is being searched for
-	 * @return source element
-	 * @exception CoreException if an exception occurs while searching
-	 *  for the specified source element
-	 */
-	public Object findSourceElement(String name) throws CoreException;
-	
-	/**
-	 * Returns a memento for this source location from which this
-	 * source location can be reconstructed.
-	 * 
-	 * @return a memento for this source location
-	 * @exception CoreException if unable to create a memento
-	 */
-	public String getMemento() throws CoreException;
-	
-	/**
-	 * Initializes this source location from the given memento.
-	 * 
-	 * @param memento a memento generated by this source location
-	 * @exception CoreException if unable to initialize this source
-	 * 	location
-	 */
-	public void initializeFrom(String memento) throws CoreException;
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/JavaProjectSourceLocation.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/JavaProjectSourceLocation.java
deleted file mode 100644
index 80f4ba6..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/JavaProjectSourceLocation.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching.sourcelookup;
-
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.launching.JavaLaunchConfigurationUtils;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
- 
-/**
- * Locates source elements in all source folders of the
- * given Java project. Returns instances of <code>ICompilationUnit</code>
- * and </code>IClassFile</code>.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IJavaSourceLocation
- * @since 2.0
- */
-public class JavaProjectSourceLocation extends PlatformObject implements IJavaSourceLocation {
-
-	/**
-	 * The project associated with this source location
-	 */
-	private IJavaProject fProject;
-	
-	/**
-	 * Corresponding package fragment root locations.
-	 */
-	private IJavaSourceLocation[] fRootLocations = null;
-	
-	/**
-	 * Constructs a new empty source location to be initialized
-	 * by a memento.
-	 */
-	public JavaProjectSourceLocation() {
-	}
-	
-	/**
-	 * Constructs a new source location that will retrieve source
-	 * elements from the given Java project.
-	 * 
-	 * @param project Java project
-	 */
-	public JavaProjectSourceLocation(IJavaProject project) {
-		setJavaProject(project);
-	}	
-	
-	/**
-	 * @see IJavaSourceLocation#findSourceElement(String)
-	 */
-	public Object findSourceElement(String name) throws CoreException {
-		if (fRootLocations != null) {
-			for (int i = 0; i < fRootLocations.length; i++) {
-				Object element = fRootLocations[i].findSourceElement(name);
-				if (element != null) {
-					return element;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the Java project in which source elements will
-	 * be searched for.
-	 * 
-	 * @param project Java project
-	 */
-	private void setJavaProject(IJavaProject project) {
-		fProject = project;
-		fRootLocations = null;
-		if (fProject != null) {
-			try {
-				IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
-				ArrayList list = new ArrayList(roots.length);
-				
-				for (int i = 0; i < roots.length; i++) {
-					if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
-						list.add(new PackageFragmentRootSourceLocation(roots[i]));
-					}
-				}
-				fRootLocations = (IJavaSourceLocation[])list.toArray(new IJavaSourceLocation[list.size()]);
-			} catch (JavaModelException e) {
-				LaunchingPlugin.log(e);
-			}
-		}
-	}
-	
-	/**
-	 * Returns the Java project associated with this source
-	 * location.
-	 * 
-	 * @return Java project
-	 */
-	public IJavaProject getJavaProject() {
-		return fProject;
-	}
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof JavaProjectSourceLocation &&
-			 getJavaProject().equals(((JavaProjectSourceLocation)object).getJavaProject());
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getJavaProject().hashCode();
-	}		
-	/**
-	 * @see IJavaSourceLocation#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		Document doc = new DocumentImpl();
-		Element node = doc.createElement("javaProjectSourceLocation"); //$NON-NLS-1$
-		doc.appendChild(node);
-		node.setAttribute("name", getJavaProject().getElementName()); //$NON-NLS-1$
-		
-		try {
-			return JavaLaunchConfigurationUtils.serializeDocument(doc);
-		} catch (IOException e) {
-			abort(MessageFormat.format(LaunchingMessages.getString("JavaProjectSourceLocation.Unable_to_create_memento_for_Java_project_source_location_{0}_1"), new String[] {getJavaProject().getElementName()}), e); //$NON-NLS-1$
-		}
-		// execution will not reach here
-		return null;
-	}
-
-	/**
-	 * @see IJavaSourceLocation#initializeFrom(String)
-	 */
-	public void initializeFrom(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-												
-			String name = root.getAttribute("name"); //$NON-NLS-1$
-			if (isEmpty(name)) {
-				abort(LaunchingMessages.getString("JavaProjectSourceLocation.Unable_to_initialize_source_location_-_missing_project_name_3"), null); //$NON-NLS-1$
-			} else {
-				IProject proj = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-				setJavaProject(JavaCore.create(proj));
-			}
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		abort(LaunchingMessages.getString("JavaProjectSourceLocation.Exception_occurred_initializing_source_location._4"), ex); //$NON-NLS-1$
-	}
-
-	private boolean isEmpty(String string) {
-		return string == null || string.length() == 0;
-	}
-	
-	/**
-	 * Throws an internal error exception
-	 */
-	private void abort(String message, Throwable e)	throws CoreException {
-		IStatus s = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, message, e);
-		throw new CoreException(s);		
-	}
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/JavaSourceLocator.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/JavaSourceLocator.java
deleted file mode 100644
index 30c02b3..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/JavaSourceLocator.java
+++ /dev/null
@@ -1,629 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching.sourcelookup;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.resources.IProject;
-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.runtime.IStatus;
-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.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.core.IJavaThread;
-import org.eclipse.jdt.internal.launching.JavaLaunchConfigurationUtils;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-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;
-
-
-/**
- * Locates source for a Java debug session by searching
- * a configurable set of source locations.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see org.eclipse.debug.core.model.ISourceLocator
- * @since 2.0
- */
-public class JavaSourceLocator implements IPersistableSourceLocator {
-	
-	/**
-	 * Identifier for the 'Java Source Locator' extension
-	 * (value <code>"org.eclipse.jdt.launching.javaSourceLocator"</code>).
-	 */
-	public static final String ID_JAVA_SOURCE_LOCATOR = LaunchingPlugin.getUniqueIdentifier() + ".javaSourceLocator"; //$NON-NLS-1$
-
-	/**
-	 * A collection of the source locations to search
-	 */
-	private IJavaSourceLocation[] fLocations;
-
-	/**
-	 * Constructs a new empty JavaSourceLocator.
-	 */
-	public JavaSourceLocator() {
-		setSourceLocations(new IJavaSourceLocation[0]);
-	}
-	
-	/**
-	 * Constructs a new Java source locator that looks in the
-	 * specified project for source, and required projects, if
-	 * <code>includeRequired</code> is <code>true</code>.
-	 * 
-	 * @param projects the projects in which to look for source
-	 * @param includeRequired whether to look in required projects
-	 * 	as well
-	 */
-	public JavaSourceLocator(IJavaProject[] projects, boolean includeRequired) throws JavaModelException {
-		ArrayList requiredProjects = new ArrayList();
-		for (int i= 0; i < projects.length; i++) {
-			if (includeRequired) {
-				collectRequiredProjects(projects[i], requiredProjects);
-			} else {
-				if (!requiredProjects.contains(projects[i])) {
-					requiredProjects.add(projects[i]);
-				}
-			}
-		}
-		
-		// only add external entires with the same location once
-		HashMap external = new HashMap();
-		ArrayList list = new ArrayList();
-		// compute the default locations for each project, and add unique ones
-		Iterator iter = requiredProjects.iterator();
-		while (iter.hasNext()) {
-			IJavaProject p = (IJavaProject)iter.next();
-			try {
-				IPackageFragmentRoot[] roots = p.getPackageFragmentRoots();
-				for (int i = 0; i < roots.length; i++) {
-					if (roots[i].isExternal()) {
-						IPath location = roots[i].getPath();
-						if (external.get(location) == null) {
-							external.put(location, location);
-							list.add(new PackageFragmentRootSourceLocation(roots[i]));
-						}
-					} else {
-						list.add(new PackageFragmentRootSourceLocation(roots[i]));
-					}
-				}
-			} catch (CoreException e) {
-				if (e instanceof JavaModelException) {
-					throw (JavaModelException)e;
-				} else {
-					throw new JavaModelException(e);
-				}
-			}
-		}
-		IJavaSourceLocation[] locations = (IJavaSourceLocation[])list.toArray(new IJavaSourceLocation[list.size()]);
-		setSourceLocations(locations);
-	}	
-	
-	/**
-	 * Constructs a new JavaSourceLocator that searches the
-	 * specified set of source locations for source elements.
-	 * 
-	 * @param locations the source locations to search for
-	 *  source, in the order they should be searched
-	 */
-	public JavaSourceLocator(IJavaSourceLocation[] locations) {
-		setSourceLocations(locations);
-	}
-	
-	/**
-	 * Constructs a new JavaSourceLocator that searches the
-	 * default set of source locations for the given Java project.
-	 * 
-	 * @param project Java project
-	 * @exception CoreException if an exception occurs reading
-	 *  the classpath of the given or any required project
-	 */
-	public JavaSourceLocator(IJavaProject project) throws CoreException {
-		setSourceLocations(getDefaultSourceLocations(project));
-	}	
-	
-	/**
-	 * Sets the locations that will be searched, in the order
-	 * to be searched.
-	 * 
-	 * @param locations the locations that will be searched, in the order
-	 *  to be searched
-	 */
-	public void setSourceLocations(IJavaSourceLocation[] locations) {
-		fLocations = locations;
-	}
-	
-	/**
-	 * Returns the locations that this source locator is currently
-	 * searching, in the order that they are searched.
-	 * 
-	 * @return the locations that this source locator is currently
-	 * searching, in the order that they are searched
-	 */
-	public IJavaSourceLocation[] getSourceLocations() {
-		return fLocations;
-	}
-	
-	/**
-	 * Returns all source elements that correspond to the type associated with
-	 * the given stack frame, or <code>null</code> if none.
-	 * 
-	 * @param stackFrame stack frame
-	 * @return all source elements that correspond to the type associated with
-	 * the given stack frame, or <code>null</code> if none
-	 * @since 2.1
-	 */
-	public Object[] getSourceElements(IStackFrame stackFrame) {
-		if (stackFrame instanceof IJavaStackFrame) {
-			IJavaStackFrame frame = (IJavaStackFrame)stackFrame;
-			String name = null;
-			try {
-				name = getFullyQualfiedName(frame);
-				if (name == null) {
-					return null;
-				}
-			} catch (CoreException e) {
-				// if the thread has since resumed, return null
-				if (e.getStatus().getCode() != IJavaThread.ERR_THREAD_NOT_SUSPENDED) {
-					LaunchingPlugin.log(e);
-				}
-				return null;
-			}
-			List list = new ArrayList();
-			IJavaSourceLocation[] locations = getSourceLocations();
-			for (int i = 0; i < locations.length; i++) {
-				try {
-					Object sourceElement = locations[i].findSourceElement(name);
-					if (sourceElement != null) {
-						list.add(sourceElement);
-					}
-				} catch (CoreException e) {
-					// log the error and try the next source location
-					LaunchingPlugin.log(e);
-				}
-			}
-			return list.toArray();
-		}
-		return null;
-	}	
-			
-	/**
-	 * @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(IStackFrame)
-	 */
-	public Object getSourceElement(IStackFrame stackFrame) {
-		if (stackFrame instanceof IJavaStackFrame) {
-			IJavaStackFrame frame = (IJavaStackFrame)stackFrame;
-			String name = null;
-			try {
-				name = getFullyQualfiedName(frame);
-				if (name == null) {
-					return null;
-				}
-			} catch (CoreException e) {
-				// if the thread has since resumed, return null
-				if (e.getStatus().getCode() != IJavaThread.ERR_THREAD_NOT_SUSPENDED) {
-					LaunchingPlugin.log(e);
-				}
-				return null;
-			}
-			IJavaSourceLocation[] locations = getSourceLocations();
-			for (int i = 0; i < locations.length; i++) {
-				try {
-					Object sourceElement = locations[i].findSourceElement(name);
-					if (sourceElement != null) {
-						return sourceElement;
-					}
-				} catch (CoreException e) {
-					// log the error and try the next source location
-					LaunchingPlugin.log(e);
-				}
-			}
-		}
-		return null;
-	}
-	
-	private String getFullyQualfiedName(IJavaStackFrame frame) throws CoreException {
-		String name = null;
-		if (frame.isObsolete()) {
-			return null;
-		}
-		String sourceName = frame.getSourceName();
-		if (sourceName == null) {
-			// no debug attributes, guess at source name
-			name = frame.getDeclaringTypeName();
-		} else {
-			// build source name from debug attributes using
-			// the source file name and the package of the declaring
-			// type
-					
-			// @see bug# 21518 - remove absolute path prefix
-			int index = sourceName.lastIndexOf('\\');
-			if (index == -1) {
-				index = sourceName.lastIndexOf('/');
-			}
-			if (index >= 0) {
-				sourceName = sourceName.substring(index + 1);
-			}
-					
-			String declName= frame.getDeclaringTypeName();
-			index = declName.lastIndexOf('.');
-			if (index >= 0) {
-				name = declName.substring(0, index + 1);
-			} else {
-				name = ""; //$NON-NLS-1$
-			}
-			index = sourceName.lastIndexOf('.');
-			if (index >= 0) {
-				name += sourceName.substring(0, index) ;
-			}					
-		}
-		return name;		
-	}
-	
-	/**
-	 * Adds all projects required by <code>proj</code> to the list
-	 * <code>res</code>
-	 * 
-	 * @param proj the project for which to compute required
-	 *  projects
-	 * @param res the list to add all required projects too
-	 */
-	protected static void collectRequiredProjects(IJavaProject proj, ArrayList res) throws JavaModelException {
-		if (!res.contains(proj)) {
-			res.add(proj);
-			
-			IJavaModel model= proj.getJavaModel();
-			
-			IClasspathEntry[] entries= proj.getRawClasspath();
-			for (int i= 0; i < entries.length; i++) {
-				IClasspathEntry curr= entries[i];
-				if (curr.getEntryKind() == IClasspathEntry.CPE_PROJECT) {
-					IJavaProject ref= model.getJavaProject(curr.getPath().segment(0));
-					if (ref.exists()) {
-						collectRequiredProjects(ref, res);
-					}
-				}
-			}
-		}
-	}	
-	
-	/**
-	 * Returns a default collection of source locations for
-	 * the given Java project. Default source locations consist
-	 * of the given project and all of its required projects .
-	 * 
-	 * @param project Java project
-	 * @return a collection of source locations for all required
-	 *  projects
-	 * @exception CoreException if an exception occurs reading
-	 *  computing the default locations
-	 */
-	public static IJavaSourceLocation[] getDefaultSourceLocations(IJavaProject project) throws CoreException {
-		// create a temporary launch config
-		ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
-		ILaunchConfigurationWorkingCopy config = type.newInstance(null, project.getElementName());
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, project.getElementName());
-		JavaSourceLocator locator = new JavaSourceLocator();
-		locator.initializeDefaults(config);
-		return locator.getSourceLocations();
-	}
-	
-	/**
-	 * @see IPersistableSourceLocator#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		Document doc = new DocumentImpl();
-		Element node = doc.createElement("javaSourceLocator"); //$NON-NLS-1$
-		doc.appendChild(node);
-		
-		IJavaSourceLocation[] locations = getSourceLocations();
-		for (int i = 0; i < locations.length; i++) {
-			Element child = doc.createElement("javaSourceLocation"); //$NON-NLS-1$
-			child.setAttribute("class", locations[i].getClass().getName()); //$NON-NLS-1$
-			child.setAttribute("memento", locations[i].getMemento()); //$NON-NLS-1$
-			node.appendChild(child);
-		}
-		
-		try {
-			return JavaLaunchConfigurationUtils.serializeDocument(doc);
-		} catch (IOException e) {
-			abort(LaunchingMessages.getString("JavaSourceLocator.Unable_to_create_memento_for_Java_source_locator._4"), e); //$NON-NLS-1$
-		}
-		// execution will not reach here
-		return null;
-	}
-
-	/**
-	 * @see IPersistableSourceLocator#initializeDefaults(ILaunchConfiguration)
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException {
-		IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedSourceLookupPath(configuration);
-		IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
-		setSourceLocations(getSourceLocations(resolved));
-	}
-
-	/**
-	 * @see IPersistableSourceLocator#initializeFromMemento(String)
-	 */
-	public void initializeFromMemento(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-												
-			if (!root.getNodeName().equalsIgnoreCase("javaSourceLocator")) {  //$NON-NLS-1$
-				abort(LaunchingMessages.getString("JavaSourceLocator.Unable_to_restore_Java_source_locator_-_invalid_format._6"), null); //$NON-NLS-1$
-			}
-	
-			List sourceLocations = new ArrayList();
-			ClassLoader classLoader = LaunchingPlugin.getDefault().getDescriptor().getPluginClassLoader(); 
-			
-			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("javaSourceLocation")) { //$NON-NLS-1$
-						String className = entry.getAttribute("class"); //$NON-NLS-1$
-						String data = entry.getAttribute("memento"); //$NON-NLS-1$
-						if (isEmpty(className)) {
-							abort(LaunchingMessages.getString("JavaSourceLocator.Unable_to_restore_Java_source_locator_-_invalid_format._10"), null); //$NON-NLS-1$
-						}
-						Class clazz  = null;
-						try {
-							clazz = classLoader.loadClass(className);
-						} catch (ClassNotFoundException e) {
-							abort(MessageFormat.format(LaunchingMessages.getString("JavaSourceLocator.Unable_to_restore_source_location_-_class_not_found__{0}_11"), new String[] {className}), e); //$NON-NLS-1$
-						}
-						
-						IJavaSourceLocation location = null;
-						try {
-							location = (IJavaSourceLocation)clazz.newInstance();
-						} catch (IllegalAccessException e) {
-							abort(LaunchingMessages.getString("JavaSourceLocator.Unable_to_restore_source_location._12"), e); //$NON-NLS-1$
-						} catch (InstantiationException e) {
-							abort(LaunchingMessages.getString("JavaSourceLocator.Unable_to_restore_source_location._12"), e); //$NON-NLS-1$
-						}
-						location.initializeFrom(data);
-						sourceLocations.add(location);
-					} else {
-						abort(LaunchingMessages.getString("JavaSourceLocator.Unable_to_restore_Java_source_locator_-_invalid_format._14"), null); //$NON-NLS-1$
-					}
-				}
-			}
-			setSourceLocations((IJavaSourceLocation[])sourceLocations.toArray(new IJavaSourceLocation[sourceLocations.size()]));
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		abort(LaunchingMessages.getString("JavaSourceLocator.Exception_occurred_initializing_source_locator._15"), ex); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns source locations that are associted with the given runtime classpath
-	 * entries.
-	 */
-	private static IJavaSourceLocation[] getSourceLocations(IRuntimeClasspathEntry[] entries) {
-		List locations = new ArrayList(entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			IRuntimeClasspathEntry entry = entries[i];
-			IJavaSourceLocation location = null;
-			switch (entry.getType()) {
-				case IRuntimeClasspathEntry.PROJECT:
-					IProject project = (IProject)entry.getResource();
-					if (project != null && project.exists() && project.isOpen()) {
-						location = new JavaProjectSourceLocation(JavaCore.create(project));
-					}
-					break;
-				case IRuntimeClasspathEntry.ARCHIVE:
-					// check if the archive is in the workspace as a package fragment root
-					location = getArchiveSourceLocation(entry);
-					if (location == null) {
-						String path = entry.getSourceAttachmentLocation();
-						if (path == null) {
-							// if there is no source attachment, look in the archive itself
-							path = entry.getLocation();
-						}
-						if (path != null) {
-							File file = new File(path);
-							if (file.exists()) {
-								if (file.isDirectory()) {
-									location = new DirectorySourceLocation(file);
-								} else {
-									location = new ArchiveSourceLocation(path, entry.getSourceAttachmentRootLocation());
-								}
-							}
-						}
-					}
-					break;
-				case IRuntimeClasspathEntry.VARIABLE:
-					String source = entry.getSourceAttachmentLocation();
-					if (source != null) {
-						location = new ArchiveSourceLocation(source, entry.getSourceAttachmentRootLocation());
-					}
-					break;
-				case IRuntimeClasspathEntry.CONTAINER:
-					throw new IllegalArgumentException(LaunchingMessages.getString("JavaSourceLocator.Illegal_to_have_a_container_resolved_to_a_container_1")); //$NON-NLS-1$
-			}
-			if (location != null) {
-				locations.add(location);
-			}
-		}
-		return (IJavaSourceLocation[])locations.toArray(new IJavaSourceLocation[locations.size()]);		
-	}
-	
-	private boolean isEmpty(String string) {
-		return string == null || string.length() == 0;
-	}
-	
-	/**
-	 * Throws an internal error exception
-	 */
-	private void abort(String message, Throwable e)	throws CoreException {
-		IStatus s = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, message, e);
-		throw new CoreException(s);		
-	}	
-	
-	/**
-	 * Returns whether the given objects are equal, allowing
-	 * for <code>null</code>.
-	 * 
-	 * @param a
-	 * @param b
-	 * @return whether the given objects are equal, allowing
-	 *   for <code>null</code>
-	 */
-	private static boolean equalOrNull(Object a, Object b) {
-		if (a == null) {
-			return b == null;
-		}
-		if (b == null) {
-			return false;
-		}
-		return a.equals(b);
-	}
-	
-	/**
-	 * Returns whether the source attachments of the given package fragment
-	 * root and runtime classpath entry are equal.
-	 * 
-	 * @param root package fragment root
-	 * @param entry runtime classpath entry
-	 * @return whether the source attachments of the given package fragment
-	 * root and runtime classpath entry are equal
-	 * @throws JavaModelException 
-	 */
-	private static boolean isSourceAttachmentEqual(IPackageFragmentRoot root, IRuntimeClasspathEntry entry) throws JavaModelException {
-		return equalOrNull(root.getSourceAttachmentPath(), entry.getSourceAttachmentPath());
-	}
-	
-	/**
-	 * Determines if the given archive runtime classpath entry exists
-	 * in the workspace as a package fragment root. Returns the associated
-	 * package fragment root source location if possible, otherwise
-	 * <code>null</code>.
-	 *  
-	 * @param entry archive runtime classpath entry
-	 * @return IJavaSourceLocation or <code>null</code>
-	 */
-	private static IJavaSourceLocation getArchiveSourceLocation(IRuntimeClasspathEntry entry) {
-		IResource resource = entry.getResource();
-		if (resource == null) { 
-			// Check all package fragment roots for case of external archive.
-			// External jars are shared, so it does not matter which project it
-			// originates from
-			IJavaModel model = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
-			try {
-				IJavaProject[] jps = model.getJavaProjects();
-				for (int i = 0; i < jps.length; i++) {
-					IPackageFragmentRoot[] allRoots = jps[i].getPackageFragmentRoots();
-					for (int j = 0; j < allRoots.length; j++) {
-						IPackageFragmentRoot root = allRoots[j];
-						if (root.isExternal() && root.getPath().equals(new Path(entry.getLocation()))) {
-							if (isSourceAttachmentEqual(root, entry)) {
-								// use package fragment root
-								return new PackageFragmentRootSourceLocation(root);
-							}							
-						}
-					}
-				}
-			} catch (JavaModelException e) {
-				LaunchingPlugin.log(e);
-			}
-		} else {
-			// check if the archive is a package fragment root
-			IProject project = resource.getProject();
-			IJavaProject jp = JavaCore.create(project);
-			try {
-				if (jp.exists()) {
-					IPackageFragmentRoot root = jp.getPackageFragmentRoot(resource);
-					IPackageFragmentRoot[] allRoots = jp.getPackageFragmentRoots();
-					for (int j = 0; j < allRoots.length; j++) {
-						if (allRoots[j].equals(root)) {
-							// ensure source attachment paths match
-							if (isSourceAttachmentEqual(root, entry)) {
-								// use package fragment root
-								return new PackageFragmentRootSourceLocation(root);
-							}
-						}
-					}
-
-				}
-				// check all other java projects to see if another project references
-				// the archive
-				IJavaModel model = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
-				IJavaProject[] jps = model.getJavaProjects();
-				for (int i = 0; i < jps.length; i++) {
-					IPackageFragmentRoot[] allRoots = jps[i].getPackageFragmentRoots();
-					for (int j = 0; j < allRoots.length; j++) {
-						IPackageFragmentRoot root = allRoots[j];
-						if (!root.isExternal() && root.getPath().equals(entry.getPath())) {
-							if (isSourceAttachmentEqual(root, entry)) {
-								// use package fragment root
-								return new PackageFragmentRootSourceLocation(root);
-							}							
-						}
-					}
-				}
-			} catch (JavaModelException e) {
-				LaunchingPlugin.log(e);
-			}		
-		}		
-		return null;
-	}
-	
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/LocalFileStorage.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/LocalFileStorage.java
deleted file mode 100644
index b002793..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/LocalFileStorage.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching.sourcelookup;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.jdt.core.IJavaModelStatusConstants;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-
-
-/**
- * Implementation of storage for a local file
- * (<code>java.io.File</code>).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see DirectorySourceLocation
- * @see IStorage
- * @since 2.0
- */
-public class LocalFileStorage extends PlatformObject implements IStorage {
-	
-	/**
-	 * The file this storage refers to.
-	 */ 
-	private File fFile;
-		
-	/**
-	 * Constructs and returns storage for the given file.
-	 * 
-	 * @param file a local file
-	 */
-	public LocalFileStorage(File file){
-		setFile(file);
-	}
-	
-	/**
-	 * @see IStorage#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-	
-		try {
-			return new FileInputStream(getFile());
-		} catch (IOException e){
-			throw new JavaModelException(e, IJavaModelStatusConstants.IO_EXCEPTION);
-		}
-	}
-	
-	/**
-	 * @see IStorage#getFullPath
-	 */
-	public IPath getFullPath() {
-		try {
-			return new Path(getFile().getCanonicalPath());
-		} catch (IOException e) {
-			LaunchingPlugin.log(e);
-			return null;
-		}
-	}
-	/**
-	 * @see IStorage#getName
-	 */
-	public String getName() {
-		return getFile().getName();
-	}
-	/**
-	 * @see IStorage#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/**
-	 * Sets the file associated with this storage
-	 * 
-	 * @param file a local file
-	 */
-	private void setFile(File file) {
-		fFile = file;	
-	}
-	
-	/**
-	 * Returns the file asscoiated with this storage
-	 * 
-	 * @return file
-	 */
-	public File getFile() {
-		return fFile;
-	}
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof LocalFileStorage &&
-			 getFile().equals(((LocalFileStorage)object).getFile());
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getFile().hashCode();
-	}	
-}
-
-
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/PackageFragmentRootSourceLocation.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/PackageFragmentRootSourceLocation.java
deleted file mode 100644
index 2555873..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/PackageFragmentRootSourceLocation.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching.sourcelookup;
-
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.launching.JavaLaunchConfigurationUtils;
-import org.eclipse.jdt.internal.launching.LaunchingMessages;
-import org.eclipse.jdt.internal.launching.LaunchingPlugin;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * Locates source elements in a package fragment root. Returns
- * instances of <code>ICompilationUnit</code> and
- * </code>IClassFile</code>.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IJavaSourceLocation
- * @since 2.1
- */
-public class PackageFragmentRootSourceLocation extends PlatformObject implements IJavaSourceLocation {
-	
-	/**
-	 * Associatd package framgment root 
-	 */
-	private IPackageFragmentRoot fRoot = null;
-	
-	/**
-	 * Creates an empty source location.
-	 */
-	public PackageFragmentRootSourceLocation() {
-	}	
-	
-	/**
-	 * Creates a source location on the given package fragment root.
-	 * 
-	 * @param root package fragment root
-	 */
-	public PackageFragmentRootSourceLocation(IPackageFragmentRoot root) {
-		setPackageFragmentRoot(root);
-	}
-
-	/**
-	 * @see org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation#findSourceElement(String)
-	 */
-	public Object findSourceElement(String name) throws CoreException {
-		if (name != null && getPackageFragmentRoot() != null) {
-			IPackageFragment pkg = null;
-			int index = name.lastIndexOf('.');
-			if (index >= 0) {
-				String fragment = name.substring(0, index);
-				pkg = getPackageFragmentRoot().getPackageFragment(fragment);
-				name = name.substring(index + 1);
-			} else {
-				pkg = getPackageFragmentRoot().getPackageFragment(""); //$NON-NLS-1$
-			}
-			if (pkg.exists()) {
-				String typeName = null;
-				index = name.indexOf('$');
-				if (index >= 0) {
-					typeName = name.substring(0, index);
-				} else {
-					typeName = name;
-				}
-				ICompilationUnit cu = pkg.getCompilationUnit(typeName + ".java"); //$NON-NLS-1$
-				if (cu.exists()) {
-					return cu;
-				} 
-				IClassFile cf = pkg.getClassFile(name + ".class"); //$NON-NLS-1$
-				if (cf.exists()) {
-					return cf;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		Document doc = new DocumentImpl();
-		Element node = doc.createElement("javaPackageFragmentRootSourceLocation"); //$NON-NLS-1$
-		doc.appendChild(node);
-		String handle = ""; //$NON-NLS-1$
-		if (getPackageFragmentRoot() != null) {
-			handle = getPackageFragmentRoot().getHandleIdentifier();
-		}
-		node.setAttribute("handleId", handle); //$NON-NLS-1$
-		
-		try {
-			return JavaLaunchConfigurationUtils.serializeDocument(doc);
-		} catch (IOException e) {
-			abort(MessageFormat.format(LaunchingMessages.getString("PackageFragmentRootSourceLocation.Unable_to_create_memento_for_package_fragment_root_source_location_{0}_5"), new String[] {getPackageFragmentRoot().getElementName()}), e); //$NON-NLS-1$
-		}
-		// execution will not reach here
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation#initializeFrom(String)
-	 */
-	public void initializeFrom(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-												
-			String handle = root.getAttribute("handleId"); //$NON-NLS-1$
-			if (handle == null) {
-				abort(LaunchingMessages.getString("PackageFragmentRootSourceLocation.Unable_to_initialize_source_location_-_missing_handle_identifier_for_package_fragment_root._6"), null); //$NON-NLS-1$
-			} else {
-				if (handle.length() == 0) {
-					// empty package fragment
-					setPackageFragmentRoot(null);
-				} else {
-					IJavaElement element = JavaCore.create(handle);
-					if (element instanceof IPackageFragmentRoot) {
-						setPackageFragmentRoot((IPackageFragmentRoot)element);
-					} else {
-						abort(LaunchingMessages.getString("PackageFragmentRootSourceLocation.Unable_to_initialize_source_location_-_package_fragment_root_does_not_exist._7"), null); //$NON-NLS-1$
-					}
-				}
-			}
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		abort(LaunchingMessages.getString("PackageFragmentRootSourceLocation.Exception_occurred_initializing_source_location._8"), ex); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the package fragment root associated with this
-	 * source location, or <code>null</code> if none
-	 * 
-	 * @return the package fragment root associated with this
-	 *  source location, or <code>null</code> if none
-	 */
-	public IPackageFragmentRoot getPackageFragmentRoot() {
-		return fRoot;
-	}
-
-	/**
-	 * Sets the package fragment root associated with this
-	 * source location.
-	 * 
-	 * @param root package fragment root
-	 */
-	private void setPackageFragmentRoot(IPackageFragmentRoot root) {
-		fRoot = root;
-	}
-	
-	/**
-	 * Throws an internal error exception
-	 */
-	private void abort(String message, Throwable e)	throws CoreException {
-		IStatus s = new Status(IStatus.ERROR, LaunchingPlugin.getUniqueIdentifier(), IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR, message, e);
-		throw new CoreException(s);		
-	}	
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		if (object instanceof PackageFragmentRootSourceLocation) {
-			 PackageFragmentRootSourceLocation root = (PackageFragmentRootSourceLocation)object;
-			 if (getPackageFragmentRoot() == null) {
-			 	return root.getPackageFragmentRoot() == null;
-			 } else {
-			 	return getPackageFragmentRoot().equals(root.getPackageFragmentRoot());
-			 }
-		}
-		return false;
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		if (getPackageFragmentRoot() == null) {
-			return getClass().hashCode();
-		} else {
-			return getPackageFragmentRoot().hashCode();
-		}
-	}	
-
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/ZipEntryStorage.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/ZipEntryStorage.java
deleted file mode 100644
index 5c1e4e1..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/ZipEntryStorage.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.launching.sourcelookup;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.jdt.core.IJavaModelStatusConstants;
-import org.eclipse.jdt.core.JavaModelException;
- 
-/**
- * Storage implementation for zip entries.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see ArchiveSourceLocation
- * @see IStorage
- * @since 2.0
- */
-public class ZipEntryStorage extends PlatformObject implements IStorage {
-	
-	/**
-	 * Zip file associated with zip entry
-	 */
-	private ZipFile fArchive;
-	
-	/**
-	 * Zip entry
-	 */
-	private ZipEntry fZipEntry;
-	
-	/**
-	 * Constructs a new storage implementation for the
-	 * given zip entry in the specified zip file
-	 * 
-	 * @param archive zip file
-	 * @param entry zip entry
-	 */
-	public ZipEntryStorage(ZipFile archive, ZipEntry entry) {
-		setArchive(archive);
-		setZipEntry(entry);
-	}
-
-	/**
-	 * @see IStorage#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-		try {
-			return getArchive().getInputStream(getZipEntry());
-		} catch (IOException e) {
-			throw new JavaModelException(e, IJavaModelStatusConstants.IO_EXCEPTION);
-		}
-	}
-
-	/**
-	 * @see IStorage#getFullPath()
-	 */
-	public IPath getFullPath() {
-		return new Path(getArchive().getName()).append(getZipEntry().getName());
-	}
-
-	/**
-	 * @see IStorage#getName()
-	 */
-	public String getName() {
-		int index = getZipEntry().getName().lastIndexOf('\\');
-		if (index == -1) {
-			index = getZipEntry().getName().lastIndexOf('/');
-		}
-		if (index == -1) {
-			return getZipEntry().getName();
-		} else {
-			return getZipEntry().getName().substring(index + 1);
-		}
-	}
-
-	/**
-	 * @see IStorage#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/**
-	 * Sets the archive containing the zip entry.
-	 * 
-	 * @param archive a zip file
-	 */
-	private void setArchive(ZipFile archive) {
-		fArchive = archive;
-	}
-	
-	/**
-	 * Returns the archive containing the zip entry.
-	 * 
-	 * @return zip file
-	 */
-	public ZipFile getArchive() {
-		return fArchive;
-	}	
-	
-	/**
-	 * Sets the entry that contains the source.
-	 * 
-	 * @param entry the entry that contains the source
-	 */
-	private void setZipEntry(ZipEntry entry) {
-		fZipEntry = entry;
-	}
-	
-	/**
-	 * Returns the entry that contains the source
-	 * 
-	 * @return zip entry
-	 */
-	public ZipEntry getZipEntry() {
-		return fZipEntry;
-	}		
-
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof ZipEntryStorage &&
-			 getArchive().equals(((ZipEntryStorage)object).getArchive()) &&
-			 getZipEntry().getName().equals(((ZipEntryStorage)object).getZipEntry().getName());
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getZipEntry().getName().hashCode();
-	}
-}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/package.html b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/package.html
deleted file mode 100644
index c07026e..0000000
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/sourcelookup/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Application programming interfaces and classes for source lookup. 
-<h2>
-Package Specification</h2>
-Provides support for source lookup. 
-</body>
-</html>
diff --git a/org.eclipse.jdt.launching/lib/launchingsupport.jar b/org.eclipse.jdt.launching/lib/launchingsupport.jar
deleted file mode 100644
index 5ea264f..0000000
--- a/org.eclipse.jdt.launching/lib/launchingsupport.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.launching/ngibmcpy2003.gif b/org.eclipse.jdt.launching/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.jdt.launching/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.launching/plugin.properties b/org.eclipse.jdt.launching/plugin.properties
deleted file mode 100644
index 89a0c0b..0000000
--- a/org.eclipse.jdt.launching/plugin.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-localJavaApplication = Java Application
-pluginName = Java Development Tools Launching Support
-remoteJavaApplication = Remote Java Application
-vmConnectors = VM Connectors
-vmInstallTypes = VM Install Types
-runtimeClasspathEntryResolvers = Runtime Classpath Entry Resolvers
-classpathProviders = Runtime Classpath Providers
-javaSourceLocatorName = Basic Java Source Locator
-
-providerName=Eclipse.org
-appletLabel= Java Applet
diff --git a/org.eclipse.jdt.launching/plugin.xml b/org.eclipse.jdt.launching/plugin.xml
deleted file mode 100644
index 4b83365..0000000
--- a/org.eclipse.jdt.launching/plugin.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ======================================================================= -->
-<!-- Java Launching Plugin                                                   -->
-<!-- ======================================================================= -->
-<plugin
-	name= "%pluginName"
-	id= "org.eclipse.jdt.launching"
-	version= "2.1.0"
-	provider-name="%providerName"
-	class= "org.eclipse.jdt.internal.launching.LaunchingPlugin">
-
-<requires>
-  <import plugin="org.eclipse.core.resources"/>
-  <import plugin="org.eclipse.jdt.core"/>
-  <import plugin="org.eclipse.debug.core"/>
-  <import plugin="org.eclipse.jdt.debug"/>
-  <import plugin="org.apache.xerces"/>
-</requires>
-
-<runtime>
-	<library name="launching.jar" >
-		<export name = "*"/>
-		<packages prefixes="org.eclipse.jdt.launching,org.eclipse.jdt.internal.launching"/>
-	</library>
-</runtime>
-
-
-<!-- Extension point definitions -->
-
-<extension-point name="%classpathProviders" id="classpathProviders" schema="schema/classpathProviders.exsd"/>
-<extension-point name="%runtimeClasspathEntryResolvers" id="runtimeClasspathEntryResolvers" schema="schema/runtimeClasspathEntryResolvers.exsd"/>
-<extension-point name="%vmConnectors" id="vmConnectors" schema="schema/vmConnectors.exsd"/>
-<extension-point name="%vmInstallTypes" id="vmInstallTypes" schema="schema/vmInstallTypes.exsd"/>
-
-<!-- Extensions -->
-
-<extension point = "org.eclipse.jdt.launching.vmInstallTypes">
-	<vmInstallType
-	   	class="org.eclipse.jdt.internal.launching.StandardVMType"
-	    id="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"/>
-	<vmInstallType
-	   	class="org.eclipse.jdt.internal.launching.Standard11xVMType"
-	    id="org.eclipse.jdt.launching.Standard11xVMType"/>	    
-</extension>
-
-<extension point = "org.eclipse.debug.core.launchConfigurationTypes">
-   <launchConfigurationType
-   	   id="org.eclipse.jdt.launching.localJavaApplication"
-	   name="%localJavaApplication"
-	   delegate="org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDelegate"
-	   modes= "run, debug">
-   </launchConfigurationType>
-   <launchConfigurationType
-   	   id="org.eclipse.jdt.launching.remoteJavaApplication"
-	   name="%remoteJavaApplication"
-	   delegate="org.eclipse.jdt.internal.launching.JavaRemoteApplicationLaunchConfigurationDelegate"
-	   modes= "debug">
-   </launchConfigurationType>
-   <launchConfigurationType
-       id="org.eclipse.jdt.launching.javaApplet"
-       name="%appletLabel"
-       delegate="org.eclipse.jdt.internal.launching.JavaAppletLaunchConfigurationDelegate"
-       modes="run, debug">
-   </launchConfigurationType>
-</extension>
-
-<extension point = "org.eclipse.debug.core.sourceLocators">
-	<sourceLocator
-		id = "org.eclipse.jdt.launching.javaSourceLocator"
-	   	class="org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator"
-	   	name="%javaSourceLocatorName"/>
-</extension>
-
-<extension point = "org.eclipse.jdt.launching.vmConnectors">
-	<vmConnector
-		id="org.eclipse.jdt.launching.socketAttachConnector"
-		class="org.eclipse.jdt.internal.launching.SocketAttachConnector"/>
-</extension>
-
-<extension point = "org.eclipse.jdt.core.classpathVariableInitializer">
-	<classpathVariableInitializer
-		variable="JRE_LIB"
-		class="org.eclipse.jdt.internal.launching.JavaClasspathVariablesInitializer"/>
-	<classpathVariableInitializer
-		variable="JRE_SRC"
-		class="org.eclipse.jdt.internal.launching.JavaClasspathVariablesInitializer"/>
-	<classpathVariableInitializer
-		variable="JRE_SRCROOT"
-		class="org.eclipse.jdt.internal.launching.JavaClasspathVariablesInitializer"/>
-</extension>		
-
-<extension point = "org.eclipse.jdt.core.classpathContainerInitializer">
-	<classpathContainerInitializer
-		id="org.eclipse.jdt.launching.JRE_CONTAINER"
-		class="org.eclipse.jdt.internal.launching.JREContainerInitializer"/>
-</extension>
-
-<extension point = "org.eclipse.jdt.launching.runtimeClasspathEntryResolvers">
-	<runtimeClasspathEntryResolver
-		id = "org.eclipse.jdt.launching.JRE_RESOLVER"
-		class = "org.eclipse.jdt.internal.launching.JRERuntimeClasspathEntryResolver"
-		variable = "JRE_LIB"
-		container = "org.eclipse.jdt.launching.JRE_CONTAINER"/>
-</extension>
-
-<extension point = "org.eclipse.debug.core.launchConfigurationComparators">
-	<launchConfigurationComparator
-		id = "org.eclipse.jdt.launching.classpathComparator"
-		class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator"
-		attribute = "org.eclipse.jdt.launching.CLASSPATH"/>
-	<launchConfigurationComparator
-		id = "org.eclipse.jdt.launching.sourcepathComparator"
-		class = "org.eclipse.jdt.internal.launching.RuntimeClasspathEntryListComparator"
-		attribute = "org.eclipse.jdt.launching.SOURCE_PATH"/>		
-</extension>
-
-</plugin>
\ No newline at end of file
diff --git a/org.eclipse.jdt.launching/schema/classpathProviders.exsd b/org.eclipse.jdt.launching/schema/classpathProviders.exsd
deleted file mode 100644
index 7805a1c..0000000
--- a/org.eclipse.jdt.launching/schema/classpathProviders.exsd
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jdt.launching">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jdt.launching" id="classpathProviders" name="Java Runtime Classpath Providers"/>
-      </appInfo>
-      <documentation>
-         This extension point allows clients to dynamically compute and resolve classpaths and source lookup paths for Java launch configurations. A Java launch configuration is can be associated with a custom classpath provider via the launch configuration attriubte ATTR_CLASSPATH_PROVIDER and a custom source path provider via the attribute ATTR_SOURCE_PATH_PROVIDER. When specified, the launch configuration attribues correspond to the id of a classpath provider extension.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="classpathProvider" 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="classpathProvider">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference this classpath provider
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the class that implements this classpath provider. The class must implement IRuntimeClasspathProvider
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.launching.AbstractVMInstallType"/>
-               </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 classpath provider: 
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jdt.launching.classpathProviders&quot;&gt;
-  &lt;classpathProvider
-   class=&quot;com.example.ProviderImplementation&quot;
-   id=&quot;com.example.ProviderId&quot;&gt;
-  &lt;/classpathProvider&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         A default implementation is provided for all launch configurations that do not specify a custom classpath provider.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.jdt.launching/schema/runtimeClasspathEntryResolvers.exsd b/org.eclipse.jdt.launching/schema/runtimeClasspathEntryResolvers.exsd
deleted file mode 100644
index 29f92bf..0000000
--- a/org.eclipse.jdt.launching/schema/runtimeClasspathEntryResolvers.exsd
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jdt.launching">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jdt.launching" id="runtimeClasspathEntryResolvers" name="Java Runtime Classpath Entry Resolvers"/>
-      </appInfo>
-      <documentation>
-         This extension point allows clients to dynamically resolve entries used on the runtime classpath and source
-lookup path, for corresponding classpath variables and classpath containers.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="runtimeClasspathEntryResolver" 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="runtimeClasspathEntryResolver">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference this resolver.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the class that implements this resolver.  The class must implement &lt;samp&gt;IRuntimeClasspathEntryResolver&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="variable" type="string">
-            <annotation>
-               <documentation>
-                  the name of the classpath variable this resolver is registered for.
-                  At least one of variable or container must be specified, and at most one resolver can be registered for a variable or container.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="container" type="string">
-            <annotation>
-               <documentation>
-                  the identifier of the classpath container this resolver is registered for.
-                  At least one of variable or container must be specified, and at most one resolver can be registered for a variable or container.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a resolver:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jdt.launching.runtimeClasspathEntryResolvers&quot;&gt;
-  &lt;runtimeClasspathEntryResolver
-   class=&quot;com.example.ResolverImplementation&quot;
-   id=&quot;com.example.ResolverId&quot;
-   variable=&quot;CLASSPATH_VARIABLE&quot;&gt;
-  &lt;/runtimeClasspathEntryResolver&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         Implementations are provided for the standard JRE_LIB classpath variable and JRE_CONTAINER classpath container.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.jdt.launching/schema/vmConnectors.exsd b/org.eclipse.jdt.launching/schema/vmConnectors.exsd
deleted file mode 100644
index f292b30..0000000
--- a/org.eclipse.jdt.launching/schema/vmConnectors.exsd
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jdt.launching">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.jdt.launching" id="vmConnectors" name="Java VM Connectors"/>
-   </appInfo>
-   <documentation>
-      This extension point represents different kinds of connections to remote VMs.  Each extension must implement
-&lt;samp&gt;org.eclipse.jdt.launching.IVMConnector&lt;/samp&gt;.  An IVMConnector is responsible for establishing a connection
-with a remote VM.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="vmConnector" 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="vmConnector">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference this IVMConnector.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the class that implements this connector.  The class must implement &lt;samp&gt;IVMConnector&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.launching.IVMConnector"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an IVMConnector:
-
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point="org.eclipse.jdt.launching.vmConnectors"&gt;
-		&lt;vmConnector
-			class="com.example.ConnectorImplementation"
-			id="com.example.ConnectorId"&gt;
-		&lt;/vmConnector&gt;
-	&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         An implementation of a standard socket attach connector is provided.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.jdt.launching/schema/vmInstallTypes.exsd b/org.eclipse.jdt.launching/schema/vmInstallTypes.exsd
deleted file mode 100644
index ff99f89..0000000
--- a/org.eclipse.jdt.launching/schema/vmInstallTypes.exsd
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jdt.launching">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.jdt.launching" id="vmInstallTypes" name="Java VM Install Types"/>
-   </appInfo>
-   <documentation>
-      This extension point represents different kinds of Java runtime environments and development kits.
-Each extension must implement &lt;samp&gt;org.eclipse.jdt.launching.IVMInstallType&lt;/samp&gt;. 
-An IVMInstallType is responsible for creating and managing a set of instances of its corresponding IVMInstall class.
-Through creating different IVMInstall objects, an IVMInstallType allows for specific behaviour for various Java VMs.
-A UI for managing IVMInstalls is provided by the Java Debug UI plug-in.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="vmInstallType" 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="vmInstallType">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference this IVMInstallType.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the class that implements this VM install type.  The class must implement IVMInstallType.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.launching.AbstractVMInstallType"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an IVMInstallType for the J9 VM:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point="org.eclipse.jdt.launching.vmInstallTypes"&gt;
-  &lt;vmInstallType
-   class="org.eclipse.jdt.internal.launching.j9.J9VMInstallType"
-   id="org.eclipse.jdt.internal.launching.j9.J9Type"&gt;
-  &lt;/vmInstallType&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         Abstract implementations of IVMInstall and IVMInstallType are provided.  The Java Development Tools Launching Support plug-in defines a VM
-install type for the standard 1.1.* and 1.2/1.3/1.4 level &lt;b&gt;JRE&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.jdt.launching/scripts/buildLaunchingSupportJAR.xml b/org.eclipse.jdt.launching/scripts/buildLaunchingSupportJAR.xml
deleted file mode 100644
index 0271f0d..0000000
--- a/org.eclipse.jdt.launching/scripts/buildLaunchingSupportJAR.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="Build Launching Support JAR" default="build" basedir="..">
-
-	<target name="build" description="Cleans, builds and refreshes">
-		<antcall target="clean"/>
-		<antcall target="lib/launchingsupport.jar"/>
-		<antcall target="refresh"/>
-	</target>
-
-	<target name="init" depends="properties">
-		<property name="bootclasspath" value=""/>
-		<property name="plugin" value="org.eclipse.jdt.launching"/>
-		<property name="version.suffix" value="_2.1.0"/>
-		<property name="full.name" value="${plugin}${version.suffix}"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-		<property name="build.result.folder" value="${basedir}"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-	
-	<target name="lib/launchingsupport.jar" description= "Creates the launchingsupport.jar" depends="init">
-		<property name="destdir" value="${temp.folder}/lib/launchingsupport.jar.bin"/>
-		<delete dir="${temp.folder}/lib/launchingsupport.jar.bin"/>
-		<mkdir dir="${temp.folder}/lib/launchingsupport.jar.bin"/>
-		<!-- compile the source code -->
-		<javac target="1.3" source="1.3" destdir="${temp.folder}/lib/launchingsupport.jar.bin" failonerror="false" verbose="false" debug="on" includeJavaRuntime= "yes" includeAntRuntime="no"
-			 bootclasspath="${bootclasspath}" classpath="">
-			<src path="support/"/>
-		</javac>
-		<!-- copy necessary resources -->
-		<copy todir="${temp.folder}/lib/launchingsupport.jar.bin">
-			<fileset dir="support/" excludes="**/*.java"/>
-		</copy>
-		<mkdir dir="${build.result.folder}/lib"/>
-		<jar jarfile="${build.result.folder}/lib/launchingsupport.jar" basedir="${temp.folder}/lib/launchingsupport.jar.bin"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="clean" description="Deletes previous build remnants" depends="init">
-		<delete file="${build.result.folder}/lib/launchingsupport.jar"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="refresh" description= "Re-synchs resources" depends="init" if="eclipse.running">
-		<eclipse.refreshLocal resource="${plugin}" depth="infinite"/>
-	</target>
-
-</project>
diff --git a/org.eclipse.jdt.launching/scripts/exportplugin.xml b/org.eclipse.jdt.launching/scripts/exportplugin.xml
deleted file mode 100644
index 93f6f57..0000000
--- a/org.eclipse.jdt.launching/scripts/exportplugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<!-- build script to create a plugin from org.eclipse.jdt.launching -->
-<project name="Export jdt.launching" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.jdt.launching_2.1.0" />
-		<property name="dest"  value="${destdir}/${plugin}" />
-	</target>
-
-	<target name="build" depends="init">
-    	<eclipse.incrementalBuild project="${plugin}" kind="incr"/>
-	</target>
-
-	<target name="export" depends="build">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		
-		<!-- Create the launching jar -->
-		<jar 
-			jarfile="${dest}/launching.jar"
-			basedir="bin"
-			excludes="org/eclipse/jdt/internal/launching/support/**"
-		/>
-		
-		<!-- Copy the launching support jar -->
-		<copy file="lib/launchingsupport.jar" todir="${dest}/lib"/> 
-				
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file="java.policy.applet" todir="${dest}"/>
-		<zip zipfile="${dest}/launchingsrc.zip">
-		    <fileset dir="launching" />
-  		</zip>
-	</target>
-</project>
diff --git a/org.eclipse.jdt.launching/support/org/eclipse/jdt/internal/launching/support/LibraryDetector.java b/org.eclipse.jdt.launching/support/org/eclipse/jdt/internal/launching/support/LibraryDetector.java
deleted file mode 100644
index 4c19621..0000000
--- a/org.eclipse.jdt.launching/support/org/eclipse/jdt/internal/launching/support/LibraryDetector.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.launching.support;
-
-
-/**
- * Used to discover the boot path, extension directories, and endorsed
- * directories for a Java VM.
- */
-public class LibraryDetector {
-
-	/**
-	 * Prints system properties to standard out.
-	 * <ul>
-	 * <li>java.vm.version</li>
-	 * <li>sun.boot.class.path</li>
-	 * <li>java.ext.dirs</li>
-	 * <li>java.endorsed.dirs</li>
-	 * </ul>
-	 * 
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		System.out.print(System.getProperty("java.vm.version")); //$NON-NLS-1$
-		System.out.print("|"); //$NON-NLS-1$
-		System.out.print(System.getProperty("sun.boot.class.path")); //$NON-NLS-1$
-		System.out.print("|"); //$NON-NLS-1$
-		System.out.print(System.getProperty("java.ext.dirs")); //$NON-NLS-1$
-		System.out.print("|"); //$NON-NLS-1$
-		System.out.print(System.getProperty("java.endorsed.dirs")); //$NON-NLS-1$
-	}
-}