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

Sprout from master 2004-04-06 12:33:03 UTC Markus Keller <mkeller> 'made file comparison independent of line delimiters'
Cherrypick from master 2004-04-07 09:25:25 UTC Dani Megert <dmegert> 'Temporary version for I20040407':
    org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/nls/NLSHintTest.java
    org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java
    org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
    org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
    org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorMessages.properties
    org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaSelectAnnotationRulerAction.java
    org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/OverrideIndicatorManager.java
Cherrypick from master 2004-03-30 17:26:25 UTC teicher <teicher> 'moved java template infrastructure to new persistence model':
    org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/SourceView.java
    org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/EditTemplateDialog.java
Cherrypick from master 2004-04-07 10:09:08 UTC Martin Aeschlimann <maeschli> 'fix with 1.5 detection':
    org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java
Delete:
    org.eclipse.jdt.astview.feature/.project
    org.eclipse.jdt.astview.feature/build.properties
    org.eclipse.jdt.astview.feature/cpl-v10.html
    org.eclipse.jdt.astview.feature/eclipse_update_120.jpg
    org.eclipse.jdt.astview.feature/feature.properties
    org.eclipse.jdt.astview.feature/feature.xml
    org.eclipse.jdt.astview.feature/license.html
    org.eclipse.jdt.astview/.classpath
    org.eclipse.jdt.astview/.project
    org.eclipse.jdt.astview/AST-View-Site/.sitebuild/sitebuild.xml
    org.eclipse.jdt.astview/AST-View-Site/features/org.eclipse.jdt.astview.feature_1.0.0.jar
    org.eclipse.jdt.astview/AST-View-Site/plugins/org.eclipse.jdt.astview_1.0.0.jar
    org.eclipse.jdt.astview/AST-View-Site/site.xml
    org.eclipse.jdt.astview/Adarrow.gif
    org.eclipse.jdt.astview/build.properties
    org.eclipse.jdt.astview/icons/c/collapseall.gif
    org.eclipse.jdt.astview/icons/c/expandall.gif
    org.eclipse.jdt.astview/icons/c/refresh.gif
    org.eclipse.jdt.astview/icons/c/setfocus.gif
    org.eclipse.jdt.astview/icons/c/synced.gif
    org.eclipse.jdt.astview/icons/d/collapseall.gif
    org.eclipse.jdt.astview/icons/d/expandall.gif
    org.eclipse.jdt.astview/icons/d/refresh.gif
    org.eclipse.jdt.astview/icons/d/setfocus.gif
    org.eclipse.jdt.astview/icons/d/synced.gif
    org.eclipse.jdt.astview/icons/e/collapseall.gif
    org.eclipse.jdt.astview/icons/e/expandall.gif
    org.eclipse.jdt.astview/icons/e/refresh.gif
    org.eclipse.jdt.astview/icons/e/setfocus.gif
    org.eclipse.jdt.astview/icons/e/synced.gif
    org.eclipse.jdt.astview/icons/view.gif
    org.eclipse.jdt.astview/index.html
    org.eclipse.jdt.astview/org.eclipse.jdt.astview_1.0.0.zip
    org.eclipse.jdt.astview/plugin.xml
    org.eclipse.jdt.astview/refresh.gif
    org.eclipse.jdt.astview/setfocus.gif
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/ASTViewImages.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/ASTViewPlugin.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/EditorUtility.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/GenericVisitor.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/NodeFinder.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTView.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTViewContentProvider.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTViewLabelProvider.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/BindingProperty.java
    org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/NodeProperty.java
    org.eclipse.jdt.astview/synced.gif
    org.eclipse.jdt.astview/view.gif
    org.eclipse.jdt.junit.core/plugin.properties
    org.eclipse.jdt.junit.core/plugin.xml
    org.eclipse.jdt.junit.core/schema/testRunListeners.exsd
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitCorePlugin.java
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitMessages.java
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitMessages.properties
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/launcher/ContainerComparator.java
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/util/IJUnitStatusConstants.java
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/ITestRunListener.java
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/JUnitCore.java
    org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/package.html
    org.eclipse.jdt.junit.runtime/.classpath
    org.eclipse.jdt.junit.runtime/.cvsignore
    org.eclipse.jdt.junit.runtime/.project
    org.eclipse.jdt.junit.runtime/.template
    org.eclipse.jdt.junit.runtime/about.html
    org.eclipse.jdt.junit.runtime/build.properties
    org.eclipse.jdt.junit.runtime/plugin.properties
    org.eclipse.jdt.junit.runtime/plugin.xml
    org.eclipse.jdt.junit.runtime/scripts/exportplugin.xml
    org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/JUnitMessages.java
    org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/JUnitMessages.properties
    org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/MessageIds.java
    org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/RemoteTestRunner.java
    org.eclipse.jdt.junit/.classpath
    org.eclipse.jdt.junit/.cvsignore
    org.eclipse.jdt.junit/.project
    org.eclipse.jdt.junit/about.html
    org.eclipse.jdt.junit/build.properties
    org.eclipse.jdt.junit/icons/full/clcl16/cfilter.gif
    org.eclipse.jdt.junit/icons/full/clcl16/compare.gif
    org.eclipse.jdt.junit/icons/full/clcl16/lock.gif
    org.eclipse.jdt.junit/icons/full/clcl16/relaunch.gif
    org.eclipse.jdt.junit/icons/full/clcl16/select_next.gif
    org.eclipse.jdt.junit/icons/full/clcl16/select_prev.gif
    org.eclipse.jdt.junit/icons/full/clcl16/stop.gif
    org.eclipse.jdt.junit/icons/full/clcl16/th_horizontal.gif
    org.eclipse.jdt.junit/icons/full/clcl16/th_vertical.gif
    org.eclipse.jdt.junit/icons/full/ctool16/debugjunit.gif
    org.eclipse.jdt.junit/icons/full/ctool16/new_testcase.gif
    org.eclipse.jdt.junit/icons/full/ctool16/new_testsuite.gif
    org.eclipse.jdt.junit/icons/full/ctool16/runjunit.gif
    org.eclipse.jdt.junit/icons/full/cview16/junit.gif
    org.eclipse.jdt.junit/icons/full/cview16/juniterr.gif
    org.eclipse.jdt.junit/icons/full/cview16/juniterrq.gif
    org.eclipse.jdt.junit/icons/full/cview16/junitsucc.gif
    org.eclipse.jdt.junit/icons/full/cview16/junitsuccq.gif
    org.eclipse.jdt.junit/icons/full/cview16/stackframe.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/cfilter.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/compare.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/lock.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/relaunch.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/select_next.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/select_prev.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/stop.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/th_horizontal.gif
    org.eclipse.jdt.junit/icons/full/dlcl16/th_vertical.gif
    org.eclipse.jdt.junit/icons/full/dtool16/debugjunit.gif
    org.eclipse.jdt.junit/icons/full/dtool16/runjunit.gif
    org.eclipse.jdt.junit/icons/full/elcl16/cfilter.gif
    org.eclipse.jdt.junit/icons/full/elcl16/compare.gif
    org.eclipse.jdt.junit/icons/full/elcl16/lock.gif
    org.eclipse.jdt.junit/icons/full/elcl16/relaunch.gif
    org.eclipse.jdt.junit/icons/full/elcl16/select_next.gif
    org.eclipse.jdt.junit/icons/full/elcl16/select_prev.gif
    org.eclipse.jdt.junit/icons/full/elcl16/stop.gif
    org.eclipse.jdt.junit/icons/full/elcl16/th_horizontal.gif
    org.eclipse.jdt.junit/icons/full/elcl16/th_vertical.gif
    org.eclipse.jdt.junit/icons/full/etool16/debugjunit.gif
    org.eclipse.jdt.junit/icons/full/etool16/runjunit.gif
    org.eclipse.jdt.junit/icons/full/eview16/junit.gif
    org.eclipse.jdt.junit/icons/full/eview16/juniterr.gif
    org.eclipse.jdt.junit/icons/full/eview16/juniterrq.gif
    org.eclipse.jdt.junit/icons/full/eview16/junitfail.gif
    org.eclipse.jdt.junit/icons/full/eview16/junitfailq.gif
    org.eclipse.jdt.junit/icons/full/eview16/junitsuc.gif
    org.eclipse.jdt.junit/icons/full/eview16/junitsucc.gif
    org.eclipse.jdt.junit/icons/full/eview16/junitsuccq.gif
    org.eclipse.jdt.junit/icons/full/eview16/junitsucq.gif
    org.eclipse.jdt.junit/icons/full/eview16/stackframe.gif
    org.eclipse.jdt.junit/icons/full/obj16/exc_catch.gif
    org.eclipse.jdt.junit/icons/full/obj16/faillist.gif
    org.eclipse.jdt.junit/icons/full/obj16/failures.gif
    org.eclipse.jdt.junit/icons/full/obj16/julaunch.gif
    org.eclipse.jdt.junit/icons/full/obj16/stkfrm_obj.gif
    org.eclipse.jdt.junit/icons/full/obj16/test.gif
    org.eclipse.jdt.junit/icons/full/obj16/testerr.gif
    org.eclipse.jdt.junit/icons/full/obj16/testfail.gif
    org.eclipse.jdt.junit/icons/full/obj16/testhier.gif
    org.eclipse.jdt.junit/icons/full/obj16/testok.gif
    org.eclipse.jdt.junit/icons/full/obj16/testrun.gif
    org.eclipse.jdt.junit/icons/full/obj16/tsuite.gif
    org.eclipse.jdt.junit/icons/full/obj16/tsuiteerror.gif
    org.eclipse.jdt.junit/icons/full/obj16/tsuitefail.gif
    org.eclipse.jdt.junit/icons/full/obj16/tsuiteok.gif
    org.eclipse.jdt.junit/icons/full/obj16/tsuiterun.gif
    org.eclipse.jdt.junit/icons/full/ovr16/error_ovr.gif
    org.eclipse.jdt.junit/icons/full/ovr16/failed_ovr.gif
    org.eclipse.jdt.junit/icons/full/ovr16/success_ovr.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff1.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff2.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff3.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff4.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff5.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff6.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff7.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff8.gif
    org.eclipse.jdt.junit/icons/full/prgss/ff9.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss1.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss2.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss3.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss4.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss5.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss6.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss7.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss8.gif
    org.eclipse.jdt.junit/icons/full/prgss/ss9.gif
    org.eclipse.jdt.junit/icons/full/wizban/newsuite_wiz.gif
    org.eclipse.jdt.junit/icons/full/wizban/newtest_wiz.gif
    org.eclipse.jdt.junit/plugin.properties
    org.eclipse.jdt.junit/plugin.xml
    org.eclipse.jdt.junit/schema/testRunListeners.exsd
    org.eclipse.jdt.junit/scripts/exportplugin.xml
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/ContainerComparator.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitBaseLaunchConfiguration.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchConfiguration.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchConfigurationTab.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchShortcut.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitMainTab.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitTabGroup.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/ResourceExtender.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/TestSelectionDialog.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CompareResultDialog.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CompareResultsAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyFailureListAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyTraceAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CounterPanel.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/EnableStackFilterAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureRunView.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTraceView.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/GotoReferencedTestAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/HierarchyRunView.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/IJUnitHelpContextIds.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/IJUnitPreferencesConstants.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunListener2.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunListener3.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunView.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitAddLibraryProposal.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitHomeInitializer.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitMessages.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitMessages.properties
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitPlugin.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitPreferencePage.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitProgressBar.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitQuickFixProcessor.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JavaTypeExtender.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenEditorAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenEditorAtLineAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenTestAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ProgressImages.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RemoteTestRunnerClient.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RerunAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ScrollLockAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ShowNextFailureAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ShowPreviousFailureAction.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TabFolderLayout.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestMethodSelectionDialog.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunInfo.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TypeRenameParticipant.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/CheckedTableSelectionDialog.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/ExceptionHandler.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/IJUnitStatusConstants.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/JUnitStatus.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/JUnitStubUtility.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/LayoutUtil.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/PixelConverter.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/Resources.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/SWTUtil.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/JUnitWizard.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/MethodStubsSelectionButtonGroup.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizard.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage2.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizard.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizardPage.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/UpdateTestSuite.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/WizardMessages.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/WizardMessages.properties
    org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/ITestRunListener.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/JUnitCore.java
    org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/package.html
    org.eclipse.jdt.ui.examples.javafamily/.classpath
    org.eclipse.jdt.ui.examples.javafamily/.cvsignore
    org.eclipse.jdt.ui.examples.javafamily/.project
    org.eclipse.jdt.ui.examples.javafamily/ReleaseNotes.html
    org.eclipse.jdt.ui.examples.javafamily/about.html
    org.eclipse.jdt.ui.examples.javafamily/build.properties
    org.eclipse.jdt.ui.examples.javafamily/icons/full/clcl16/search_sortmatch.gif
    org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/brkp_obj.gif
    org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/jsearch_obj.gif
    org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/jsp_obj.gif
    org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/tomcat_obj.gif
    org.eclipse.jdt.ui.examples.javafamily/plugin.properties
    org.eclipse.jdt.ui.examples.javafamily/plugin.xml
    org.eclipse.jdt.ui.examples.javafamily/sample/Date2.java
    org.eclipse.jdt.ui.examples.javafamily/sample/easy.jsp
    org.eclipse.jdt.ui.examples.javafamily/scripts/exportplugin.xml
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndex.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndexQuery.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndexer.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/ISearchResultCollector.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/SearchEngine.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/AnnotationAdapter.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/AnnotationTextHover.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/DefaultAnnotationHover.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JavaReconcileStep.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaReconcileStep.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaTagHandler.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaTagHandlerFactory.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspEditor.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspReconcilingStrategy.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspSourceViewerConfiguration.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspTranslatorResultCollector.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchOperation.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchPage2.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchResultCollector.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchMessages.properties
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchUtil.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewActionGroup.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewAdapter.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewSiteAdapter.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/AbstractJspParser.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JavaFamilyExamplePreferencePage.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspIndexParser.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspMatchLocatorParser.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspPluginImages.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspSearchEngine.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspTranslator.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspTypeQuery.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspUIPlugin.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/RenameTypeParticipant.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/Util.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/LaunchingMessages.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/LaunchingMessages.properties
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/ToggleJspBreakpointAction.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/ToggleJspBreakpointRulerActionDelegate.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatClasspathProvider.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatLaunchDelegate.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatSourceLocator.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatSourceLookupTab.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatTab.java
    org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatTabGroup.java
    org.eclipse.jdt.ui.examples.javafamily/stuff/Search.java
    org.eclipse.jdt.ui.examples.javafamily/stuff/easy.jsp
    org.eclipse.jdt.ui.examples.javafamily/stuff/easy_jsp.java
    org.eclipse.jdt.ui.examples.javafamily/stuff/exampleJspProject.zip
    org.eclipse.jdt.ui.examples.javafamily/stuff/index-format11
    org.eclipse.jdt.ui.examples.projects/.classpath
    org.eclipse.jdt.ui.examples.projects/.cvsignore
    org.eclipse.jdt.ui.examples.projects/.project
    org.eclipse.jdt.ui.examples.projects/about.html
    org.eclipse.jdt.ui.examples.projects/archive/junit/junit37src.jar
    org.eclipse.jdt.ui.examples.projects/build.properties
    org.eclipse.jdt.ui.examples.projects/doc-html/hglegal.htm
    org.eclipse.jdt.ui.examples.projects/doc-html/hglegal2003.htm
    org.eclipse.jdt.ui.examples.projects/doc-html/jdt_projects_ex.html
    org.eclipse.jdt.ui.examples.projects/doc-html/ngibmcpy.gif
    org.eclipse.jdt.ui.examples.projects/doc-html/ngibmcpy2003.gif
    org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationOperation.java
    org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationWizard.java
    org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationWizardPage.java
    org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectMessages.java
    org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectMessages.properties
    org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectsPlugin.java
    org.eclipse.jdt.ui.examples.projects/icons/full/ctool16/newjprjex_wiz.gif
    org.eclipse.jdt.ui.examples.projects/icons/full/dtool16/newjprjex_wiz.gif
    org.eclipse.jdt.ui.examples.projects/icons/full/etool16/newjprjex_wiz.gif
    org.eclipse.jdt.ui.examples.projects/icons/full/wizban/newjprjex_wiz.gif
    org.eclipse.jdt.ui.examples.projects/plugin.properties
    org.eclipse.jdt.ui.examples.projects/plugin.xml
    org.eclipse.jdt.ui.examples.projects/scripts/exportplugin.xml
    org.eclipse.jdt.ui.tests/.classpath
    org.eclipse.jdt.ui.tests/.cvsignore
    org.eclipse.jdt.ui.tests/.plugins-path
    org.eclipse.jdt.ui.tests/.project
    org.eclipse.jdt.ui.tests/about.html
    org.eclipse.jdt.ui.tests/activation/org/eclipse/jdt/ui/tests/activation/JavaActivationTest.java
    org.eclipse.jdt.ui.tests/build.properties
    org.eclipse.jdt.ui.tests/chkpii/ignoreErrorsUnix.txt
    org.eclipse.jdt.ui.tests/chkpii/ignoreErrorsWindows.txt
    org.eclipse.jdt.ui.tests/chkpii/ignoreFiles.txt
    org.eclipse.jdt.ui.tests/chkpii/org/eclipse/jdt/ui/tests/chkpii/ChkpiiTests.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/ASTNodeConstantsGenerator.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/AddTestMarkersAction.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/CheckBoxExample.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/DialogFieldExample.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MultiElementListSelectorExample.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyProjectCreationWizard.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyQuickAssistProcessor.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyQuickFixProcessor.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TabExample.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TreeListDialogFieldExample.java
    org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TwoPaneElementSelectorExample.java
    org.eclipse.jdt.ui.tests/leaks/LeakTestExample.launch
    org.eclipse.jdt.ui.tests/leaks/ProfileNatives.dll
    org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/LeakTestCase.java
    org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/LeakTestSetup.java
    org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfileException.java
    org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfileNatives.java
    org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfilerConnector.java
    org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/example/LeakTestExample.java
    org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/tests/leaks/JavaLeakTest.java
    org.eclipse.jdt.ui.tests/plugin.properties
    org.eclipse.jdt.ui.tests/plugin.xml
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaElementDecorator.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaProjectHelper.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaTestPlugin.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/StringAsserts.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/test/HelloWorld.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/test/JavaTestCase.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/AccessibilityTestPass.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/DialogCheck.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/FailureDialog.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/FocusTestPass.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/IDialogTestPass.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/SizingTestPass.java
    org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/VerifyDialog.java
    org.eclipse.jdt.ui.tests/test.xml
    org.eclipse.jdt.ui.tests/testresources/compoundtest.jar
    org.eclipse.jdt.ui.tests/testresources/junit37-noUI-src.zip
    org.eclipse.jdt.ui.tests/testresources/myinternallib.jar
    org.eclipse.jdt.ui.tests/testresources/mylib.jar
    org.eclipse.jdt.ui.tests/testresources/rtstubs.jar
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/AutomatedSuite.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/LeakTestSuite.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/UIInteractiveSuite.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingCollapseTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingExpressionsTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingInsertBoundTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingJavadocTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingMethodDeclTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingMoveCodeTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingStatementsTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTrackingTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTypeDeclTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/SourceModifierTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/MockPluginView.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewContentProviderTests.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewContentProviderTests2.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewDeltaTests.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/TestDelta.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/callhierarchy/CallHierarchyContentProviderTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/callhierarchy/CallHierarchyTestHelper.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddImportTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddUnimplementedConstructorsTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddUnimplementedMethodsTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AllTypesCacheTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/BindingsNameTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CallHierarchyTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ClassPathDetectorTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CodeCompletionTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CodeFormatterUtilTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CoreTests.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/HierarchicalASTVisitorTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ImportOrganizeTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/JavaElementLabelsTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/JavaModelUtilTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/NameProposerTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/PartialASTTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/PrimaryWorkingCopyTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ProjectTestSetup.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ScopeAnalyzerTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TextEditTests.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeHierarchyTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeInfoTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeRulesTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/DialogsTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/DialogsTest2.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/PreferencesTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/WizardsTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests1.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests2.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests3.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests4.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/MockPluginView.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/TestDelta.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/JavadocQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/LocalCorrectionsQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/MarkerResolutionGenerator.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/MarkerResolutionTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ModifierCorrectionsQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ReorgQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ReturnTypeQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedMethodsQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedTypesQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedVariablesQuickFixTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/JUnitSourceSetup.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchLeakTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/TreeContentProviderTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/WorkspaceReferenceTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/WorkspaceScopeTest.java
    org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/wizardapi/NewJavaProjectWizardTest.java
    org.eclipse.jdt.ui.vcm/.classpath
    org.eclipse.jdt.ui.vcm/.cvsignore
    org.eclipse.jdt.ui.vcm/.project
    org.eclipse.jdt.ui.vcm/.vcm_meta
    org.eclipse.jdt.ui.vcm/about.html
    org.eclipse.jdt.ui.vcm/build.properties
    org.eclipse.jdt.ui.vcm/plugin.properties
    org.eclipse.jdt.ui.vcm/plugin.xml.off
    org.eclipse.jdt.ui.vcm/scripts/exportplugin.xml
    org.eclipse.ltk.core.refactoring.tests/.classpath
    org.eclipse.ltk.core.refactoring.tests/.cvsignore
    org.eclipse.ltk.core.refactoring.tests/.project
    org.eclipse.ltk.core.refactoring.tests/.template
    org.eclipse.ltk.core.refactoring.tests/about.html
    org.eclipse.ltk.core.refactoring.tests/build.properties
    org.eclipse.ltk.core.refactoring.tests/plugin.properties
    org.eclipse.ltk.core.refactoring.tests/plugin.xml
    org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/AllTests.java
    org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/EmptySuite.java
    org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/RefactoringCoreTestPlugin.java
    org.eclipse.ltk.core.refactoring.tests/test.xml
    org.eclipse.ltk.core.refactoring/.classpath
    org.eclipse.ltk.core.refactoring/.cvsignore
    org.eclipse.ltk.core.refactoring/.project
    org.eclipse.ltk.core.refactoring/about.html
    org.eclipse.ltk.core.refactoring/build.properties
    org.eclipse.ltk.core.refactoring/plugin.properties
    org.eclipse.ltk.core.refactoring/plugin.xml
    org.eclipse.ltk.core.refactoring/schema/copyParticipants.exsd
    org.eclipse.ltk.core.refactoring/schema/createParticipants.exsd
    org.eclipse.ltk.core.refactoring/schema/deleteParticipants.exsd
    org.eclipse.ltk.core.refactoring/schema/moveParticipants.exsd
    org.eclipse.ltk.core.refactoring/schema/renameParticipants.exsd
    org.eclipse.ltk.core.refactoring/scripts/exportplugin.xml
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/Change.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CheckConditionsOperation.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CompositeChange.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CreateChangeOperation.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/DocumentChange.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IRefactoringCoreStatusCodes.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManager.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManagerListener.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/NullChange.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/PerformChangeOperation.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/PerformRefactoringOperation.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/Refactoring.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringCore.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatus.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatusContext.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatusEntry.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextChange.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextEditChangeGroup.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextFileChange.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/UndoManagerAdapter.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/UndoTextFileChange.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/package.html
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CopyArguments.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CopyParticipant.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CreateArguments.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CreateParticipant.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteArguments.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteParticipant.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteProcessor.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteRefactoring.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/IConditionChecker.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ISharableParticipant.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveArguments.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveParticipant.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveProcessor.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveRefactoring.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantExtensionPoint.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantManager.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorBasedRefactoring.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorChange.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorDescriptor.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringArguments.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringParticipant.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringProcessor.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringStyles.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameArguments.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameParticipant.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameProcessor.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameRefactoring.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/SharableParticipants.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ToDo.txt
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ValidateEditChecker.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/package.html
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Assert.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/AssertionFailedException.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/BufferValidationState.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Changes.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/ListenerList.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/ParticipantDescriptor.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.properties
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCorePlugin.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Resources.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/TextChanges.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoDocumentChange.java
    org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoManager.java
    org.eclipse.ltk.ui.refactoring.tests/.classpath
    org.eclipse.ltk.ui.refactoring.tests/.cvsignore
    org.eclipse.ltk.ui.refactoring.tests/.project
    org.eclipse.ltk.ui.refactoring.tests/about.html
    org.eclipse.ltk.ui.refactoring.tests/build.properties
    org.eclipse.ltk.ui.refactoring.tests/plugin.properties
    org.eclipse.ltk.ui.refactoring.tests/plugin.xml
    org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/AllTests.java
    org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/EmptySuite.java
    org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/RefactoringUITestPlugin.java
    org.eclipse.ltk.ui.refactoring.tests/test.xml
    org.eclipse.ltk.ui.refactoring/.classpath
    org.eclipse.ltk.ui.refactoring/.cvsignore
    org.eclipse.ltk.ui.refactoring/.project
    org.eclipse.ltk.ui.refactoring/about.html
    org.eclipse.ltk.ui.refactoring/build.properties
    org.eclipse.ltk.ui.refactoring/plugin.properties
    org.eclipse.ltk.ui.refactoring/plugin.xml
    org.eclipse.ltk.ui.refactoring/scripts/exportplugin.xml
    org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIMessages.java
    org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIMessages.properties
    org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIPlugin.java
    org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/IRefactoringUIStatusCodes.java
    org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/package.html
    org.junit/.classpath
    org.junit/.project
    org.junit/about.html
    org.junit/build.properties
    org.junit/junit.jar
    org.junit/junitsrc.zip
    org.junit/plugin.properties
    org.junit/plugin.xml
    org.junit/scripts/exportplugin.xml
diff --git a/org.eclipse.jdt.astview.feature/.project b/org.eclipse.jdt.astview.feature/.project
deleted file mode 100644
index eec119c..0000000
--- a/org.eclipse.jdt.astview.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.astview.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.jdt.astview.feature/build.properties b/org.eclipse.jdt.astview.feature/build.properties
deleted file mode 100644
index c9dacd2..0000000
--- a/org.eclipse.jdt.astview.feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = feature.xml,\
-               license.html,\
-               feature.property,\
-               cpl-v10.html,\
-               eclipse_update_120.jpg,\
-               feature.properties
diff --git a/org.eclipse.jdt.astview.feature/cpl-v10.html b/org.eclipse.jdt.astview.feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/org.eclipse.jdt.astview.feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/org.eclipse.jdt.astview.feature/eclipse_update_120.jpg b/org.eclipse.jdt.astview.feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/org.eclipse.jdt.astview.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview.feature/feature.properties b/org.eclipse.jdt.astview.feature/feature.properties
deleted file mode 100644
index 3fc5c9a..0000000
--- a/org.eclipse.jdt.astview.feature/feature.properties
+++ /dev/null
@@ -1,98 +0,0 @@
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Java Development Tools AST View
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-
-# "description" property - description of the feature
-description=Java Development Tools AST View
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-17th June, 2002\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory. The Abouts, Feature\n\
-Licenses and Feature Update Licenses may refer to the CPL or other\n\
-license agreements, notices or terms and conditions . It is your\n\
-obligation to read and accept all such all terms and conditions prior\n\
-to use of the Content. If no About, Feature License or Feature Update\n\
-License is provided, please contact Eclipse.org to determine what terms\n\
-and conditions govern that particular Content.\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/org.eclipse.jdt.astview.feature/feature.xml b/org.eclipse.jdt.astview.feature/feature.xml
deleted file mode 100644
index b6d0b0c..0000000
--- a/org.eclipse.jdt.astview.feature/feature.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jdt.astview.feature"
-      label="org.eclipse.jdt.astview.feature"
-      version="1.0.0"
-      provider-name="Eclipse.org">
-
-   <install-handler/>
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">%license</license>
-
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jdt.astview"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"/>
-
-</feature>
diff --git a/org.eclipse.jdt.astview.feature/license.html b/org.eclipse.jdt.astview.feature/license.html
deleted file mode 100644
index 00d784b..0000000
--- a/org.eclipse.jdt.astview.feature/license.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>17th June, 2002</p>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.  The Abouts, Feature Licenses and Feature Update Licenses may refer to the CPL or other license agreements, notices or terms and conditions . It is your obligation to read and accept all such all terms and conditions prior to use of the Content.
-If no About, Feature License or Feature Update License is provided, please contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/org.eclipse.jdt.astview/.classpath b/org.eclipse.jdt.astview/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.jdt.astview/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.astview/.project b/org.eclipse.jdt.astview/.project
deleted file mode 100644
index c3d8e13..0000000
--- a/org.eclipse.jdt.astview/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.astview</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.filebuffers</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench.texteditor</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.jdt.astview/AST-View-Site/.sitebuild/sitebuild.xml b/org.eclipse.jdt.astview/AST-View-Site/.sitebuild/sitebuild.xml
deleted file mode 100644
index 515a8e1..0000000
--- a/org.eclipse.jdt.astview/AST-View-Site/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="org.eclipse.jdt.astview.feature" version="1.0.0"/>
-</site-build>
diff --git a/org.eclipse.jdt.astview/AST-View-Site/features/org.eclipse.jdt.astview.feature_1.0.0.jar b/org.eclipse.jdt.astview/AST-View-Site/features/org.eclipse.jdt.astview.feature_1.0.0.jar
deleted file mode 100644
index 8cc6233..0000000
--- a/org.eclipse.jdt.astview/AST-View-Site/features/org.eclipse.jdt.astview.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/AST-View-Site/plugins/org.eclipse.jdt.astview_1.0.0.jar b/org.eclipse.jdt.astview/AST-View-Site/plugins/org.eclipse.jdt.astview_1.0.0.jar
deleted file mode 100644
index 12cf517..0000000
--- a/org.eclipse.jdt.astview/AST-View-Site/plugins/org.eclipse.jdt.astview_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/AST-View-Site/site.xml b/org.eclipse.jdt.astview/AST-View-Site/site.xml
deleted file mode 100644
index 21485be..0000000
--- a/org.eclipse.jdt.astview/AST-View-Site/site.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-
-   <description>
-      Update site for AST View
-   </description>
-   <feature url="features/org.eclipse.jdt.astview.feature_1.0.0.jar" id="org.eclipse.jdt.astview.feature" version="1.0.0">
-      <category name="ast-view"/>
-   </feature>
-   <category-def name="ast-view" label="AST View">
-      <description>
-         Optional AST View
-      </description>
-   </category-def>
-</site>
diff --git a/org.eclipse.jdt.astview/Adarrow.gif b/org.eclipse.jdt.astview/Adarrow.gif
deleted file mode 100644
index 1848247..0000000
--- a/org.eclipse.jdt.astview/Adarrow.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/build.properties b/org.eclipse.jdt.astview/build.properties
deleted file mode 100644
index 6117bde..0000000
--- a/org.eclipse.jdt.astview/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.ASTView.jar = src/
-bin.includes = plugin.xml,\
-               *.jar,\
-               ASTView.jar,\
-               icons/,\
-               src/
-src.includes = src/
diff --git a/org.eclipse.jdt.astview/icons/c/collapseall.gif b/org.eclipse.jdt.astview/icons/c/collapseall.gif
deleted file mode 100644
index bb8ecbf..0000000
--- a/org.eclipse.jdt.astview/icons/c/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/c/expandall.gif b/org.eclipse.jdt.astview/icons/c/expandall.gif
deleted file mode 100644
index d56c0f5..0000000
--- a/org.eclipse.jdt.astview/icons/c/expandall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/c/refresh.gif b/org.eclipse.jdt.astview/icons/c/refresh.gif
deleted file mode 100644
index a063c23..0000000
--- a/org.eclipse.jdt.astview/icons/c/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/c/setfocus.gif b/org.eclipse.jdt.astview/icons/c/setfocus.gif
deleted file mode 100644
index 0533fc2..0000000
--- a/org.eclipse.jdt.astview/icons/c/setfocus.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/c/synced.gif b/org.eclipse.jdt.astview/icons/c/synced.gif
deleted file mode 100644
index f865f3a..0000000
--- a/org.eclipse.jdt.astview/icons/c/synced.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/d/collapseall.gif b/org.eclipse.jdt.astview/icons/d/collapseall.gif
deleted file mode 100644
index 83e9c92..0000000
--- a/org.eclipse.jdt.astview/icons/d/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/d/expandall.gif b/org.eclipse.jdt.astview/icons/d/expandall.gif
deleted file mode 100644
index ab2b2e6..0000000
--- a/org.eclipse.jdt.astview/icons/d/expandall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/d/refresh.gif b/org.eclipse.jdt.astview/icons/d/refresh.gif
deleted file mode 100644
index b2281b4..0000000
--- a/org.eclipse.jdt.astview/icons/d/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/d/setfocus.gif b/org.eclipse.jdt.astview/icons/d/setfocus.gif
deleted file mode 100644
index b8e29ff..0000000
--- a/org.eclipse.jdt.astview/icons/d/setfocus.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/d/synced.gif b/org.eclipse.jdt.astview/icons/d/synced.gif
deleted file mode 100644
index ae5d548..0000000
--- a/org.eclipse.jdt.astview/icons/d/synced.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/e/collapseall.gif b/org.eclipse.jdt.astview/icons/e/collapseall.gif
deleted file mode 100644
index 3409b11..0000000
--- a/org.eclipse.jdt.astview/icons/e/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/e/expandall.gif b/org.eclipse.jdt.astview/icons/e/expandall.gif
deleted file mode 100644
index ec923bb..0000000
--- a/org.eclipse.jdt.astview/icons/e/expandall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/e/refresh.gif b/org.eclipse.jdt.astview/icons/e/refresh.gif
deleted file mode 100644
index 919423d..0000000
--- a/org.eclipse.jdt.astview/icons/e/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/e/setfocus.gif b/org.eclipse.jdt.astview/icons/e/setfocus.gif
deleted file mode 100644
index b920e33..0000000
--- a/org.eclipse.jdt.astview/icons/e/setfocus.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/e/synced.gif b/org.eclipse.jdt.astview/icons/e/synced.gif
deleted file mode 100644
index ae5d548..0000000
--- a/org.eclipse.jdt.astview/icons/e/synced.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/icons/view.gif b/org.eclipse.jdt.astview/icons/view.gif
deleted file mode 100644
index b50b2c3..0000000
--- a/org.eclipse.jdt.astview/icons/view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/index.html b/org.eclipse.jdt.astview/index.html
deleted file mode 100644
index 74a532b..0000000
--- a/org.eclipse.jdt.astview/index.html
+++ /dev/null
@@ -1,121 +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="Microsoft FrontPage 4.0">
-  <title>JDT UI Component Development Resources</title>
-  <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
- type="text/css">
-</head>
-<body text="#000000" bgcolor="#ffffff">
-&nbsp;
-<table border="0" cellspacing="5" cellpadding="2" width="100%">
-  <tbody>
-    <tr>
-      <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font
- face="Arial,Helvetica"><font color="#ffffff">org.eclipse.jdt.astview
-- AST View<br>
-      </font></font></b></td>
-    </tr>
-    <tr>
-      <td align="right" valign="top" width="2%"><img src="Adarrow.gif"
- border="0" height="16" width="16"></td>
-      <td width="98%"><b>Purpose</b>
-      <p>A view to visualize the AST (abstract syntax tree) of a Java
-file open in the editor. Navigate from text selection to AST nodes and
-from nodes to selections.<br>
-      </p>
-      </td>
-    </tr>
-    <tr>
-      <td align="right" valign="top" width="2%"><img src="Adarrow.gif"
- border="0" height="16" width="16"></td>
-      <td width="98%"><b>Install</b>
-      <p><b><i>Eclipse 3.0</i></b></p>
-      <ul>
-        <li>requires a SDK build &gt; <span style="font-weight: bold;">I20040309</span></li>
-        <li>manually download the plugin <a
- href="AST-View-Site/plugins/org.eclipse.jdt.astview_1.0.0.jar">org.eclipse.jdt.astview</a>
-and extract the plugins into the plugins directory of your Eclipse
-install.<br>
-&nbsp; or<br>
-        </li>
-        <li>use the update feature and go to the AST View Update Site:<br>
-          <span style="font-weight: bold;">&nbsp;&nbsp;&nbsp;
-http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-ui-home/plugins/org.eclipse.jdt.astview/AST-View-Site</span></li>
-      </ul>
-      <br>
-      </td>
-    </tr>
-    <tr>
-      <td align="right" valign="top" width="2%"><img src="Adarrow.gif"
- border="0" height="16" width="16"></td>
-      <td width="98%"><b>Usage</b>
-      <ol>
-        <li>Open the AST view from the view menu: Window &gt; Show View
-&gt; Other... Java &gt; AST View </li>
-        <li><font color="#000000">Open a Java file in the editor </font>
-        </li>
-        <li>Click on 'Show AST of active editor' (<img
- style="width: 16px; height: 16px;" src="setfocus.gif" alt=""> ) to
-populate the view: The view shows the AST of the file opened in the
-editor and will also reveal the element corresponding to the current
-text selection<br>
-        </li>
-        <li><font color="#000000">Enable 'Link with editor' (</font><img
- style="width: 16px; height: 16px;" src="synced.gif" alt="">) to
-automatically track the active editor and the selection in the active
-editor.<br>
-        </li>
-        <li>Double click on AST nodes to get the corresponding element
-revealed in the editor.</li>
-        <li>Double click again to see the 'extended range' of a node,
-that means the range including all comments associated with it (comment
-mapper heuristic).</li>
-        <li>When the AST's underlying document has been changed use
-'Refresh' (<img style="width: 16px; height: 16px;" src="refresh.gif"
- alt="">)&nbsp; to update the AST.<br>
-        </li>
-      </ol>
-      <b>AST View Elements</b><br>
-      <br>
-There are three kinds of elements shown in the AST view<br>
-      <img style="width: 449px; height: 315px;" alt="AST View"
- src="view.gif"><br>
-      <ul>
-        <li>AST nodes are shown in gray color and with source range
-information. Children of AST nodes are the node properties.<br>
-        </li>
-        <li>node properties have names that are all all capitalized.
-Node properties represent lists of child nodes, a child node or a
-primitive node attribute (String, int or boolean)<br>
-        </li>
-        <li>bindings are shown in brackets. Only selected bindings are
-shown,</li>
-      </ul>
-      <span style="font-weight: bold;">Advanced Features</span><br>
-      <ul>
-        <li>You can toggle between the AST Level 2 and AST level 3 in
-the view menu (triangle). AST level 3 is the extended and modified AST
-that includes the new 1.5 language constructs. In <span
- style="font-weight: bold;">I20040309</span>, the level 3 AST is not
-yet available.<br>
-        </li>
-      </ul>
-      <span style="font-weight: bold;">Comments and Requests</span><br>
-      <ul>
-        <li>Source is included in the plugin archive</li>
-        <li>Comments to&nbsp; <a
- href="mailto:Martin_Aeschlimann%5Bat%5Dch.ibm.com">Martin_Aeschlimann[at]ch.ibm.com</a></li>
-      </ul>
-      <br>
-Thanks and credits go to Christian Hauser: The current AST view plugin
-is based his AST view implementation from the Zuerich Code Camp. Thanks
-a lot!<br>
-      </td>
-    </tr>
-  </tbody>
-</table>
-</body>
-</html>
diff --git a/org.eclipse.jdt.astview/org.eclipse.jdt.astview_1.0.0.zip b/org.eclipse.jdt.astview/org.eclipse.jdt.astview_1.0.0.zip
deleted file mode 100644
index a84031f..0000000
--- a/org.eclipse.jdt.astview/org.eclipse.jdt.astview_1.0.0.zip
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/plugin.xml b/org.eclipse.jdt.astview/plugin.xml
deleted file mode 100644
index 918d5d0..0000000
--- a/org.eclipse.jdt.astview/plugin.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jdt.astview"
-   name="AST View Plug-in"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.jdt.astview.ASTViewPlugin">
-
-   <runtime>
-      <library name="ASTView.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide" optional="true"/>
-      <import plugin="org.eclipse.ui.views" optional="true"/>
-      <import plugin="org.eclipse.jface.text" optional="true"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
-      <import plugin="org.eclipse.ui.editors" optional="true"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.core.runtime.compatibility" optional="true"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="ASTView"
-            icon="icons/view.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.astview.views.ASTView"
-            id="org.eclipse.jdt.astview.views.ASTView">
-      </view>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.jdt.astview/refresh.gif b/org.eclipse.jdt.astview/refresh.gif
deleted file mode 100644
index a063c23..0000000
--- a/org.eclipse.jdt.astview/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/setfocus.gif b/org.eclipse.jdt.astview/setfocus.gif
deleted file mode 100644
index 0533fc2..0000000
--- a/org.eclipse.jdt.astview/setfocus.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/ASTViewImages.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/ASTViewImages.java
deleted file mode 100644
index db956e4..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/ASTViewImages.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.astview;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class ASTViewImages {
-
-	private static URL fgIconBaseURL= null;
-	
-	static {
-		String pathSuffix= "icons/"; //$NON-NLS-1$
-		try {
-			fgIconBaseURL= new URL(ASTViewPlugin.getDefault().getDescriptor().getInstallURL(), pathSuffix);
-		} catch (MalformedURLException e) {
-			// do nothing
-		}
-	}
-	
-	public static final String COLLAPSE= "collapseall.gif"; //$NON-NLS-1$
-	public static final String EXPAND= "expandall.gif"; //$NON-NLS-1$
-	public static final String LINK_WITH_EDITOR= "synced.gif"; //$NON-NLS-1$
-
-	public static final String SETFOCUS= "setfocus.gif"; //$NON-NLS-1$
-	public static final String REFRESH= "refresh.gif"; //$NON-NLS-1$
-
-	
-	//---- Helper methods to access icons on the file system --------------------------------------
-
-	public static void setImageDescriptors(IAction action, String type) {
-		
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("d", type)); //$NON-NLS-1$
-			if (id != null)
-				action.setDisabledImageDescriptor(id);
-		} catch (MalformedURLException e) {
-		}
-	
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("c", type)); //$NON-NLS-1$
-			if (id != null)
-				action.setHoverImageDescriptor(id);
-		} catch (MalformedURLException e) {
-		}
-	
-		action.setImageDescriptor(create("e", type)); //$NON-NLS-1$
-	}
-	
-	
-	private static ImageDescriptor create(String path, String name) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(path, name));
-		} catch (MalformedURLException e) {
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-	
-	private static URL makeIconFileURL(String path, String name) throws MalformedURLException {
-		if (fgIconBaseURL == null)
-			throw new MalformedURLException();
-			
-		StringBuffer buffer= new StringBuffer(path);
-		buffer.append('/');
-		buffer.append(name);
-		return new URL(fgIconBaseURL, buffer.toString());
-	}	
-}
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/ASTViewPlugin.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/ASTViewPlugin.java
deleted file mode 100644
index d9ce990..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/ASTViewPlugin.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.astview;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class ASTViewPlugin extends AbstractUIPlugin {
-
-	private static ASTViewPlugin fDefault;
-
-	public ASTViewPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fDefault = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ASTViewPlugin getDefault() {
-		return fDefault;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	
-}
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/EditorUtility.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/EditorUtility.java
deleted file mode 100644
index 3ab45a3..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/EditorUtility.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.astview;
-
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IOpenable;
-
-/**
- *
- */
-public class EditorUtility {
-	private EditorUtility() {
-		super();
-	}
-
-	public static IEditorPart getActiveEditor() {
-		IWorkbenchWindow window= ASTViewPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page= window.getActivePage();
-			if (page != null) {
-				return page.getActiveEditor();
-			}
-		}
-		return null;
-	}
-	
-	
-	public static IOpenable getJavaInput(IEditorPart part) {
-		IEditorInput editorInput= part.getEditorInput();
-		if (editorInput != null) {
-			IJavaElement input= (IJavaElement)editorInput.getAdapter(IJavaElement.class);
-			if (input instanceof IOpenable) {
-				return (IOpenable) input;
-			}
-		}
-		return null;	
-	}
-	
-	public static void selectInEditor(ITextEditor editor, int offset, int length) {
-		IEditorPart active = getActiveEditor();
-		if (active != editor) {
-			editor.getSite().getPage().activate(editor);
-		}
-		
-		editor.selectAndReveal(offset, length);
-	}
-}
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/GenericVisitor.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/GenericVisitor.java
deleted file mode 100644
index 771ba4d..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/GenericVisitor.java
+++ /dev/null
@@ -1,458 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.astview;
-
-import org.eclipse.jdt.core.dom.*;
-
-public class GenericVisitor extends ASTVisitor {
-	
-	public GenericVisitor() {
-		super();
-	}
-
-	public GenericVisitor(boolean visitJavadocTags) {
-		super(visitJavadocTags);
-	}
-
-	//---- Hooks for subclasses -------------------------------------------------
-
-	protected boolean visitNode(ASTNode node) {
-		return true;
-	}
-	
-	protected void endVisitNode(ASTNode node) {
-	}
-
-	public boolean visit(AnonymousClassDeclaration node) {
-		return visitNode(node);
-	}
-	public boolean visit(ArrayAccess node) {
-		return visitNode(node);
-	}
-	public boolean visit(ArrayCreation node) {
-		return visitNode(node);
-	}
-	public boolean visit(ArrayInitializer node) {
-		return visitNode(node);
-	}
-	public boolean visit(ArrayType node) {
-		return visitNode(node);
-	}
-	public boolean visit(AssertStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(Assignment node) {
-		return visitNode(node);
-	}
-	public boolean visit(Block node) {
-		return visitNode(node);
-	}
-	public boolean visit(BooleanLiteral node) {
-		return visitNode(node);
-	}
-	public boolean visit(BreakStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(CastExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(CatchClause node) {
-		return visitNode(node);
-	}
-	public boolean visit(CharacterLiteral node) {
-		return visitNode(node);
-	}
-	public boolean visit(ClassInstanceCreation node) {
-		return visitNode(node);
-	}
-	public boolean visit(CompilationUnit node) {
-		return visitNode(node);
-	}
-	public boolean visit(ConditionalExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(ConstructorInvocation node) {
-		return visitNode(node);
-	}
-	public boolean visit(ContinueStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(DoStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(EmptyStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(ExpressionStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(FieldAccess node) {
-		return visitNode(node);
-	}
-	public boolean visit(FieldDeclaration node) {
-		return visitNode(node);
-	}
-	public boolean visit(ForStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(IfStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(ImportDeclaration node) {
-		return visitNode(node);
-	}
-	public boolean visit(InfixExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(InstanceofExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(Initializer node) {
-		return visitNode(node);
-	}
-	public boolean visit(Javadoc node) {
-		//	do not visit Javadoc tags by default. Use constructor with boolean to enable.
-		if (super.visit(node)) { 
-			return visitNode(node);
-		}
-		return false;
-	}
-	public boolean visit(LabeledStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(MethodDeclaration node) {
-		return visitNode(node);
-	}
-	public boolean visit(MethodInvocation node) {
-		return visitNode(node);
-	}
-	public boolean visit(NullLiteral node) {
-		return visitNode(node);
-	}
-	public boolean visit(NumberLiteral node) {
-		return visitNode(node);
-	}
-	public boolean visit(PackageDeclaration node) {
-		return visitNode(node);
-	}
-	public boolean visit(ParenthesizedExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(PostfixExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(PrefixExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(PrimitiveType node) {
-		return visitNode(node);
-	}
-	public boolean visit(QualifiedName node) {
-		return visitNode(node);
-	}
-	public boolean visit(ReturnStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(SimpleName node) {
-		return visitNode(node);
-	}
-	public boolean visit(SimpleType node) {
-		return visitNode(node);
-	}
-	public boolean visit(StringLiteral node) {
-		return visitNode(node);
-	}
-	public boolean visit(SuperConstructorInvocation node) {
-		return visitNode(node);
-	}
-	public boolean visit(SuperFieldAccess node) {
-		return visitNode(node);
-	}
-	public boolean visit(SuperMethodInvocation node) {
-		return visitNode(node);
-	}
-	public boolean visit(SwitchCase node) {
-		return visitNode(node);
-	}
-	public boolean visit(SwitchStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(SynchronizedStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(ThisExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(ThrowStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(TryStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(TypeDeclaration node) {
-		return visitNode(node);
-	}
-	public boolean visit(TypeDeclarationStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(TypeLiteral node) {
-		return visitNode(node);
-	}
-	public boolean visit(SingleVariableDeclaration node) {
-		return visitNode(node);
-	}
-	public boolean visit(VariableDeclarationExpression node) {
-		return visitNode(node);
-	}
-	public boolean visit(VariableDeclarationStatement node) {
-		return visitNode(node);
-	}
-	public boolean visit(VariableDeclarationFragment node) {
-		return visitNode(node);
-	}
-	public boolean visit(WhileStatement node) {
-		return visitNode(node);
-	}
-
-	/* since 3.0 */
-	public boolean visit(BlockComment node) {
-		return visitNode(node);
-	}
-	public boolean visit(LineComment node) {
-		return visitNode(node);
-	}
-	public boolean visit(MemberRef node) {
-		return visitNode(node);
-	}
-	public boolean visit(MethodRef node) {
-		return visitNode(node);
-	}
-	public boolean visit(MethodRefParameter node) {
-		return visitNode(node);
-	}
-	public boolean visit(TagElement node) {
-		return visitNode(node);
-	}
-	public boolean visit(TextElement node) {
-		return visitNode(node);
-	}
-
-	public void endVisit(AnonymousClassDeclaration node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ArrayAccess node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ArrayCreation node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ArrayInitializer node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ArrayType node) {
-		endVisitNode(node);
-	}
-	public void endVisit(AssertStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(Assignment node) {
-		endVisitNode(node);
-	}
-	public void endVisit(Block node) {
-		endVisitNode(node);
-	}
-	public void endVisit(BooleanLiteral node) {
-		endVisitNode(node);
-	}
-	public void endVisit(BreakStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(CastExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(CatchClause node) {
-		endVisitNode(node);
-	}
-	public void endVisit(CharacterLiteral node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ClassInstanceCreation node) {
-		endVisitNode(node);
-	}
-	public void endVisit(CompilationUnit node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ConditionalExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ConstructorInvocation node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ContinueStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(DoStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(EmptyStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ExpressionStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(FieldAccess node) {
-		endVisitNode(node);
-	}
-	public void endVisit(FieldDeclaration node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ForStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(IfStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ImportDeclaration node) {
-		endVisitNode(node);
-	}
-	public void endVisit(InfixExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(InstanceofExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(Initializer node) {
-		endVisitNode(node);
-	}
-	public void endVisit(Javadoc node) {
-		endVisitNode(node);
-	}
-	public void endVisit(LabeledStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(MethodDeclaration node) {
-		endVisitNode(node);
-	}
-	public void endVisit(MethodInvocation node) {
-		endVisitNode(node);
-	}
-	public void endVisit(NullLiteral node) {
-		endVisitNode(node);
-	}
-	public void endVisit(NumberLiteral node) {
-		endVisitNode(node);
-	}
-	public void endVisit(PackageDeclaration node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ParenthesizedExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(PostfixExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(PrefixExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(PrimitiveType node) {
-		endVisitNode(node);
-	}
-	public void endVisit(QualifiedName node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ReturnStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SimpleName node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SimpleType node) {
-		endVisitNode(node);
-	}
-	public void endVisit(StringLiteral node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SuperConstructorInvocation node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SuperFieldAccess node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SuperMethodInvocation node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SwitchCase node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SwitchStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SynchronizedStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ThisExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(ThrowStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(TryStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(TypeDeclaration node) {
-		endVisitNode(node);
-	}
-	public void endVisit(TypeDeclarationStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(TypeLiteral node) {
-		endVisitNode(node);
-	}
-	public void endVisit(SingleVariableDeclaration node) {
-		endVisitNode(node);
-	}
-	public void endVisit(VariableDeclarationExpression node) {
-		endVisitNode(node);
-	}
-	public void endVisit(VariableDeclarationStatement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(VariableDeclarationFragment node) {
-		endVisitNode(node);
-	}
-	public void endVisit(WhileStatement node) {
-		endVisitNode(node);
-	}
-	
-	/* since 3.0 */
-	public void endVisit(BlockComment node) {
-		endVisitNode(node);
-	}
-	public void endVisit(LineComment node) {
-		endVisitNode(node);
-	}
-	public void endVisit(MemberRef node) {
-		endVisitNode(node);
-	}
-	public void endVisit(MethodRef node) {
-		endVisitNode(node);
-	}
-	public void endVisit(MethodRefParameter node) {
-		endVisitNode(node);
-	}
-	public void endVisit(TagElement node) {
-		endVisitNode(node);
-	}
-	public void endVisit(TextElement node) {
-		endVisitNode(node);
-	}
-
-}
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/NodeFinder.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/NodeFinder.java
deleted file mode 100644
index f2d8008..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/NodeFinder.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.astview;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-
-/**
- * For a give range finds the node covered and the node covering.
- */
-public class NodeFinder extends GenericVisitor {
-
-	/**
-	 * A visitor that maps a selection to a given ASTNode. The result node is
-	 * determined as follows:
-	 * <ul>
-	 *   <li>first the visitor tries to find a node with the exact start and length</li>
-	 * 	 <li>if no such node exists than the node that encloses the range defined by
-	 *       start and end is returned.</li>
-	 *   <li>if the length is zero than also nodes are considered where the node's
-	 *       start or end position matches <code>start</code>.</li>
-	 *   <li>otherwise <code>null</code> is returned.</li>
-	 * </ul>
-	 */
-	public static ASTNode perform(ASTNode root, int start, int length) {
-		NodeFinder finder= new NodeFinder(start, length);
-		root.accept(finder);
-		ASTNode result= finder.getCoveredNode();
-		if (result == null || result.getStartPosition() != start || result.getLength() != length) {
-			return finder.getCoveringNode();
-		}
-		return result;
-	}
-		
-	private int fStart;
-	private int fEnd;
-	
-	private ASTNode fCoveringNode;
-	private ASTNode fCoveredNode;
-	
-	public NodeFinder(int offset, int length) {
-		super(true); // include Javadoc tags
-		fStart= offset;
-		fEnd= offset + length;
-	}
-
-	protected boolean visitNode(ASTNode node) {
-		int nodeStart= node.getStartPosition();
-		int nodeEnd= nodeStart + node.getLength();
-		if (nodeEnd < fStart || fEnd < nodeStart) {
-			return false;
-		}
-		if (nodeStart <= fStart && fEnd <= nodeEnd) {
-			fCoveringNode= node;
-		}
-		if (fStart <= nodeStart && nodeEnd <= fEnd) {
-			if (fCoveringNode == node) { // nodeStart == fStart && nodeEnd == fEnd
-				fCoveredNode= node;
-				return true; // look further for node with same length as parent
-			} else if (fCoveredNode == null) { // no better found
-				fCoveredNode= node;
-			}
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Returns the covered node. If more than one nodes are covered by the selection, the
-	 * returned node is first covered node found in a top-down traversal of the AST
-	 * @return ASTNode
-	 */
-	public ASTNode getCoveredNode() {
-		return fCoveredNode;
-	}
-
-	/**
-	 * Returns the covering node. If more than one nodes are covering the selection, the
-	 * returned node is last covering node found in a top-down traversal of the AST
-	 * @return ASTNode
-	 */
-	public ASTNode getCoveringNode() {
-		return fCoveringNode;
-	}
-	
-}
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTView.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTView.java
deleted file mode 100644
index 96aaf3a..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTView.java
+++ /dev/null
@@ -1,655 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.astview.views;
-
-import org.eclipse.jdt.astview.ASTViewImages;
-import org.eclipse.jdt.astview.ASTViewPlugin;
-import org.eclipse.jdt.astview.EditorUtility;
-import org.eclipse.jdt.astview.NodeFinder;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.IFileBuffer;
-import org.eclipse.core.filebuffers.IFileBufferListener;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-
-import org.eclipse.jface.action.Action;
-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.dialogs.ErrorDialog;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.ISelectionService;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.DrillDownAdapter;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IOpenable;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IBinding;
-
-public class ASTView extends ViewPart {
-	
-	private class ASTLevelToggle extends Action {
-		private int fLevel;
-
-		public ASTLevelToggle(String label, int level) {
-			super(label, AS_RADIO_BUTTON);
-			fLevel= level;
-			if (level == getCurrentASTLevel()) {
-				setChecked(true);
-			}
-		}
-	
-		public int getLevel() {
-			return fLevel;
-		}
-		
-		public void run() {
-			performLevelToggle(fLevel);
-		}
-	}
-	
-	private class SuperListener implements ISelectionListener, IFileBufferListener, IDocumentListener, ISelectionChangedListener, IDoubleClickListener {
-		public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-			handleEditorPostSelectionChanged(part, selection);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferCreated(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferCreated(IFileBuffer buffer) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferDisposed(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferDisposed(IFileBuffer buffer) {
-			if (buffer instanceof ITextFileBuffer) {
-				handleDocumentDisposed(((ITextFileBuffer) buffer).getDocument());
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferContentAboutToBeReplaced(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferContentAboutToBeReplaced(IFileBuffer buffer) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#bufferContentReplaced(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void bufferContentReplaced(IFileBuffer buffer) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateChanging(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void stateChanging(IFileBuffer buffer) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#dirtyStateChanged(org.eclipse.core.filebuffers.IFileBuffer, boolean)
-		 */
-		public void dirtyStateChanged(IFileBuffer buffer, boolean isDirty) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateValidationChanged(org.eclipse.core.filebuffers.IFileBuffer, boolean)
-		 */
-		public void stateValidationChanged(IFileBuffer buffer, boolean isStateValidated) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#underlyingFileMoved(org.eclipse.core.filebuffers.IFileBuffer, org.eclipse.core.runtime.IPath)
-		 */
-		public void underlyingFileMoved(IFileBuffer buffer, IPath path) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#underlyingFileDeleted(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void underlyingFileDeleted(IFileBuffer buffer) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.filebuffers.IFileBufferListener#stateChangeFailed(org.eclipse.core.filebuffers.IFileBuffer)
-		 */
-		public void stateChangeFailed(IFileBuffer buffer) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-		 */
-		public void documentAboutToBeChanged(DocumentEvent event) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-		 */
-		public void documentChanged(DocumentEvent event) {
-			handleDocumentChanged(event.getDocument());
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-		 */
-		public void selectionChanged(SelectionChangedEvent event) {
-			handleSelectionChanged(event.getSelection());
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
-		 */
-		public void doubleClick(DoubleClickEvent event) {
-			handleDoubleClick(event);
-		}
-	}
-	
-	
-	private TreeViewer fViewer;
-	private DrillDownAdapter fDrillDownAdapter;
-	private Action fFocusAction;
-	private Action fRefreshAction;
-	private Action fCollapseAction;
-	private Action fExpandAction;
-	private Action fDoubleClickAction;
-	private Action fLinkWithEditor;
-	
-	private ASTLevelToggle[] fASTVersionToggleActions;
-	private int fCurrentASTLevel;
-	
-	private ITextEditor fEditor;
-	private IOpenable fOpenable;
-	private CompilationUnit fRoot;
-	private IDocument fCurrentDocument;
-	
-	private boolean fDoLinkWithEditor;
-	private Object fPreviousDouble;
-	
-	private SuperListener fSuperListener;
-	
-	public ASTView() {
-		fSuperListener= null;
-		fDoLinkWithEditor= false;
-		fCurrentASTLevel= AST.LEVEL_2_0;
-	}
-	
-	/*(non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite)
-	 */
-	public void init(IViewSite site) throws PartInitException {
-		super.setSite(site);
-		if (fSuperListener == null) {
-			fSuperListener= new SuperListener();
-			
-			ISelectionService service= site.getWorkbenchWindow().getSelectionService();
-			service.addPostSelectionListener(fSuperListener);
-			FileBuffers.getTextFileBufferManager().addFileBufferListener(fSuperListener);
-		}
-	}
-	
-	public int getCurrentASTLevel() {
-		return fCurrentASTLevel;
-	}
-
-	public void setInput(ITextEditor editor) throws CoreException {
-		if (fEditor != null) {
-			uninstallModificationListener();
-		}
-		
-		fEditor= null;
-		fRoot= null;
-		
-		if (editor != null) {
-			IOpenable openable= EditorUtility.getJavaInput(editor);
-			if (openable == null) {
-				throw new CoreException(getErrorStatus("Editor not showing a CU or classfile", null)); //$NON-NLS-1$
-			}
-			fOpenable= openable;
-			
-			ISelection selection= editor.getSelectionProvider().getSelection();
-			if (selection instanceof ITextSelection) {
-				ITextSelection textSelection= (ITextSelection) selection;
-				fRoot= internalSetInput(openable, textSelection.getOffset(), textSelection.getLength());
-				fEditor= editor;
-			}
-			installModificationListener();
-		}
-
-	}
-	
-	private CompilationUnit internalSetInput(IOpenable input, int offset, int length) throws CoreException {
-		IBuffer buffer= input.getBuffer();
-		if (buffer == null) {
-			throw new CoreException(getErrorStatus("Input has no buffer", null)); //$NON-NLS-1$
-		}
-	
-		ASTParser parser= ASTParser.newParser(getCurrentASTLevel());
-		parser.setResolveBindings(true);
-		if (input instanceof ICompilationUnit) {
-			parser.setSource((ICompilationUnit) input);
-		} else {
-			parser.setSource((IClassFile) input);
-		}
-		try {
-			CompilationUnit root= (CompilationUnit) parser.createAST(null);
-			if (root == null) {
-				throw new CoreException(getErrorStatus("Could not create AST", null)); //$NON-NLS-1$
-			}
-			
-			fViewer.setInput(root);
-			setASTUptoDate(true);
-			
-			ASTNode node= NodeFinder.perform(root, offset, length);
-			if (node != null) {
-				fViewer.getTree().setRedraw(false);
-				fViewer.setSelection(new StructuredSelection(node), true);
-				fViewer.getTree().setRedraw(true);
-			}
-			return root;
-			
-		} catch (RuntimeException e) {
-			throw new CoreException(getErrorStatus("Could not create AST:\n" + e.getMessage(), e)); //$NON-NLS-1$
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		if (fSuperListener != null) {
-			if (fEditor != null) {
-				uninstallModificationListener();
-			}
-			ISelectionService service= getSite().getWorkbenchWindow().getSelectionService();
-			service.removePostSelectionListener(fSuperListener);
-			FileBuffers.getTextFileBufferManager().removeFileBufferListener(fSuperListener);
-			fSuperListener= null;
-		}
-		super.dispose();
-	}
-	
-	private IStatus getErrorStatus(String message, Throwable th) {
-		return new Status(IStatus.ERROR, ASTViewPlugin.getDefault().getDescriptor().getUniqueIdentifier(), IStatus.ERROR, message, th);
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		fViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		fDrillDownAdapter = new DrillDownAdapter(fViewer);
-		fViewer.setContentProvider(new ASTViewContentProvider());
-		fViewer.setLabelProvider(new ASTViewLabelProvider());
-		fViewer.addSelectionChangedListener(fSuperListener);
-		fViewer.addDoubleClickListener(fSuperListener);
-		
-		makeActions();
-		hookContextMenu();
-		contributeToActionBars();
-		
-		performRefresh();
-		setASTUptoDate(fOpenable != null);
-	}
-
-
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				ASTView.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(fViewer.getControl());
-		fViewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, fViewer);
-	}
-
-	private void contributeToActionBars() {
-		IActionBars bars = getViewSite().getActionBars();
-		fillLocalPullDown(bars.getMenuManager());
-		fillLocalToolBar(bars.getToolBarManager());
-	}
-
-	private void fillLocalPullDown(IMenuManager manager) {
-		manager.add(fLinkWithEditor);
-		manager.add(new Separator());
-		for (int i= 0; i < fASTVersionToggleActions.length; i++) {
-			manager.add(fASTVersionToggleActions[i]);	
-		}
-	}
-
-	private void fillContextMenu(IMenuManager manager) {
-		manager.add(fFocusAction);
-		manager.add(fRefreshAction);
-		manager.add(fCollapseAction);
-		manager.add(fExpandAction);
-		manager.add(new Separator());
-
-		fDrillDownAdapter.addNavigationActions(manager);
-		// Other plug-ins can contribute there actions here
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	private void fillLocalToolBar(IToolBarManager manager) {
-		manager.add(fFocusAction);
-		manager.add(fRefreshAction);
-		manager.add(new Separator());
-		fDrillDownAdapter.addNavigationActions(manager);
-		manager.add(new Separator());
-		manager.add(fExpandAction);
-		manager.add(fCollapseAction);
-		manager.add(fLinkWithEditor);
-	}
-	
-	private void setASTUptoDate(boolean isuptoDate) {
-		fRefreshAction.setEnabled(!isuptoDate && fOpenable != null);
-	}
-	
-
-	private void makeActions() {
-		fRefreshAction = new Action() {
-			public void run() {
-				performRefresh();
-			}
-		};
-		fRefreshAction.setText("Refresh AST"); //$NON-NLS-1$
-		fRefreshAction.setToolTipText("Refresh AST"); //$NON-NLS-1$
-		fRefreshAction.setEnabled(false);
-		ASTViewImages.setImageDescriptors(fRefreshAction, ASTViewImages.REFRESH);
-
-		
-		fFocusAction = new Action() {
-			public void run() {
-				performSetFocus();
-			}
-		};
-		fFocusAction.setText("Show AST of active editor"); //$NON-NLS-1$
-		fFocusAction.setToolTipText("Show AST of active editor"); //$NON-NLS-1$
-		ASTViewImages.setImageDescriptors(fFocusAction, ASTViewImages.SETFOCUS);
-
-		fCollapseAction = new Action() {
-			public void run() {
-				performCollapse();
-			}
-		};
-		fCollapseAction.setText("Collapse"); //$NON-NLS-1$
-		fCollapseAction.setToolTipText("Collapse Selected Node"); //$NON-NLS-1$
-		fCollapseAction.setEnabled(false);
-		ASTViewImages.setImageDescriptors(fCollapseAction, ASTViewImages.COLLAPSE);
-		
-		fExpandAction = new Action() {
-			public void run() {
-				performExpand();
-			}
-		};
-		fExpandAction.setText("Expand"); //$NON-NLS-1$
-		fExpandAction.setToolTipText("Expand Selected Node"); //$NON-NLS-1$
-		fExpandAction.setEnabled(false);
-		ASTViewImages.setImageDescriptors(fExpandAction, ASTViewImages.EXPAND);
-		
-		fDoubleClickAction = new Action() {
-			public void run() {
-				performDoubleClick();
-			}
-		};
-		
-		fLinkWithEditor = new Action() {
-			public void run() {
-				performLinkWithEditor();
-			}
-		};
-		fLinkWithEditor.setChecked(false);
-		fLinkWithEditor.setText("Link with editor"); //$NON-NLS-1$
-		fLinkWithEditor.setToolTipText("Link With Editor"); //$NON-NLS-1$
-		ASTViewImages.setImageDescriptors(fLinkWithEditor, ASTViewImages.LINK_WITH_EDITOR);
-			
-		fASTVersionToggleActions= new ASTLevelToggle[] {
-				new ASTLevelToggle("AST Level 2.0", AST.LEVEL_2_0), //$NON-NLS-1$
-				new ASTLevelToggle("AST Level 3.0", AST.LEVEL_3_0) //$NON-NLS-1$
-		};
-	}
-	
-	private void refreshAST() throws CoreException {
-		ASTNode node= getASTNodeNearSelection((IStructuredSelection) fViewer.getSelection());
-		int offset= 0;
-		int length= 0;
-		if (node != null) {
-			offset= node.getStartPosition();
-			length= node.getLength();
-		}
-
-		internalSetInput(fOpenable, offset, length);
-	}
-	
-	
-	protected void performLevelToggle(int level) {
-		int oldLevel= fCurrentASTLevel;
-		fCurrentASTLevel= level;
-		if (fOpenable == null) {
-			return;
-		}
-		
-		try {
-			refreshAST();
-		} catch (CoreException e) {
-			ErrorDialog.openError(getSite().getShell(), "AST View", "Could not set AST to new level.", e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			
-			// change to previous
-			for (int i= 0; i < fASTVersionToggleActions.length; i++) {
-				ASTLevelToggle curr= fASTVersionToggleActions[i];
-				curr.setChecked(curr.getLevel() == oldLevel);
-			}
-			fCurrentASTLevel= oldLevel;
-		}
-	}
-	
-	private ASTNode getASTNodeNearSelection(IStructuredSelection selection) {
-		Object elem= selection.getFirstElement();
-		if (elem instanceof NodeProperty) {
-			Object node= ((NodeProperty) elem).getNode();
-			if (node instanceof ASTNode) {
-				return (ASTNode) node;
-			}
-			return ((NodeProperty) elem).getParent();
-		} else if (elem instanceof ASTNode) {
-			return (ASTNode) elem;
-		} else if (elem instanceof BindingProperty) {
-			return ((BindingProperty) elem).getParent();
-		}
-		return null;
-	}
-	
-	private void installModificationListener() {
-		fCurrentDocument= fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
-		fCurrentDocument.addDocumentListener(fSuperListener);
-	}
-	
-	private void uninstallModificationListener() {
-		if (fCurrentDocument != null) {
-			fCurrentDocument.removeDocumentListener(fSuperListener);
-			fCurrentDocument= null;
-		}
-	}
-		
-	protected void handleDocumentDisposed(IDocument document) {
-		uninstallModificationListener();
-	}
-	
-	protected void handleDocumentChanged(IDocument document) {
-		setASTUptoDate(false);
-	}
-	
-	protected void handleSelectionChanged(ISelection selection) {
-		fExpandAction.setEnabled(!selection.isEmpty());
-		fCollapseAction.setEnabled(!selection.isEmpty());
-	}
-
-	protected void handleEditorPostSelectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (!fDoLinkWithEditor || fRoot == null || !(selection instanceof ITextSelection)) {
-			return;
-		}
-		if (part != fEditor && part instanceof ITextEditor && (EditorUtility.getJavaInput((ITextEditor) part) != null)) {
-			try {
-				setInput((ITextEditor) part);
-			} catch (CoreException e) {
-				// ignore
-			}
-			return;
-		}
-		
-		
-		ITextSelection textSelection= (ITextSelection) selection;
-		int offset= textSelection.getOffset();
-		int length= textSelection.getLength();
-		
-		NodeFinder finder= new NodeFinder(offset, length);
-		fRoot.accept(finder);
-		ASTNode covering= finder.getCoveringNode();
-		fViewer.reveal(covering);
-		fViewer.setSelection(new StructuredSelection(covering));
-	}
-	
-	public void handleDoubleClick(DoubleClickEvent event) {
-		fDoubleClickAction.run();
-	}
-	
-
-	protected void performLinkWithEditor() {
-		fDoLinkWithEditor= fLinkWithEditor.isChecked();
-	}
-
-	protected void performCollapse() {
-		IStructuredSelection selection= (IStructuredSelection) fViewer.getSelection();
-		if (selection.isEmpty()) {
-			fViewer.collapseAll();
-		} else {
-			Object[] selected= selection.toArray();
-			fViewer.getTree().setRedraw(false);
-			for (int i= 0; i < selected.length; i++) {
-				fViewer.collapseToLevel(selected[i], AbstractTreeViewer.ALL_LEVELS);
-			}
-			fViewer.getTree().setRedraw(true);
-		}
-	}
-
-	protected void performExpand() {	
-		IStructuredSelection selection= (IStructuredSelection) fViewer.getSelection();
-		if (selection.isEmpty()) {
-			fViewer.expandAll();
-		} else {
-			Object[] selected= selection.toArray();
-			fViewer.getTree().setRedraw(false);
-			for (int i= 0; i < selected.length; i++) {
-				fViewer.expandToLevel(selected[i], AbstractTreeViewer.ALL_LEVELS);
-			}
-			fViewer.getTree().setRedraw(true);
-		}
-	}
-
-	protected void performSetFocus() {
-		IEditorPart part= EditorUtility.getActiveEditor();
-		if (part instanceof ITextEditor) {
-			try {
-				setInput((ITextEditor) part);
-			} catch (CoreException e) {
-				ErrorDialog.openError(getSite().getShell(), "AST View", "Could not set AST view input ", e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	
-	protected void performRefresh() {
-		if (fOpenable != null) {
-			try {
-				refreshAST();
-			} catch (CoreException e) {
-				ErrorDialog.openError(getSite().getShell(), "AST View", "Could not set AST view input ", e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	protected void performDoubleClick() {
-		ISelection selection = fViewer.getSelection();
-		Object obj = ((IStructuredSelection) selection).getFirstElement();
-
-		boolean isTrippleClick= (obj == fPreviousDouble);
-		fPreviousDouble= isTrippleClick ? null : obj;
-		
-		ASTNode node= null;
-		if (obj instanceof ASTNode) {
-			node= (ASTNode) obj;
-		} else if (obj instanceof NodeProperty) {
-			Object val= ((NodeProperty) obj).getNode();
-			if (val instanceof ASTNode) {
-				node= (ASTNode) val;
-			}
-		} else if (obj instanceof BindingProperty) {
-			IBinding binding= ((BindingProperty) obj).getBinding();
-			ASTNode declaring= fRoot.findDeclaringNode(binding);
-			if (declaring != null) {
-				fViewer.reveal(declaring);
-				fViewer.setSelection(new StructuredSelection(declaring));
-			}
-			return;
-		}
-		
-		if (node != null) {
-			int offset= isTrippleClick ? fRoot.getExtendedStartPosition(node) : node.getStartPosition();
-			int length= isTrippleClick ? fRoot.getExtendedLength(node) : node.getLength();
-
-			EditorUtility.selectInEditor(fEditor, offset, length);
-		}
-	}
-
-	public void setFocus() {
-		fViewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTViewContentProvider.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTViewContentProvider.java
deleted file mode 100644
index 87ebdaa..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTViewContentProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.astview.views;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.IBinding;
-import org.eclipse.jdt.core.dom.MemberRef;
-import org.eclipse.jdt.core.dom.MethodRef;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.StructuralPropertyDescriptor;
-import org.eclipse.jdt.core.dom.Type;
-
-public class ASTViewContentProvider implements IStructuredContentProvider, ITreeContentProvider {
-
-	public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-	}
-	public void dispose() {
-	}
-	public Object[] getElements(Object parent) {
-		return getChildren(parent);
-	}
-	public Object getParent(Object child) {
-		if (child instanceof ASTNode) {
-			ASTNode node= (ASTNode) child;
-			ASTNode parent= node.getParent();
-			if (parent != null) {
-				StructuralPropertyDescriptor prop= node.getLocationInParent();
-				return new NodeProperty(parent, prop);
-			}
-		} else if (child instanceof NodeProperty) {
-			return ((NodeProperty) child).getParent();
-		} else if (child instanceof BindingProperty) {
-			return ((BindingProperty) child).getParent();
-		}
-		return null;
-	}
-
-	public Object[] getChildren(Object parent) {
-		if (parent instanceof NodeProperty) {
-			NodeProperty prop= (NodeProperty) parent;
-			Object child= prop.getNode();
-			if (child instanceof List) {
-				return ((List) child).toArray();
-			} else if (child instanceof ASTNode) {
-				return new Object[] { child };
-			}
-		} else if (parent instanceof ASTNode) {
-			return getNodeChildren((ASTNode) parent);
-		}
-		return new Object[0];
-	}
-	
-	private Object[] getNodeChildren(ASTNode node) {
-		ArrayList res= new ArrayList();
-
-		if (node instanceof Name) {
-			IBinding binding= ((Name) node).resolveBinding();
-			res.add(new BindingProperty(node, binding)); //$NON-NLS-1$
-		} else if (node instanceof MethodRef) {
-			IBinding binding= ((MethodRef) node).resolveBinding();
-			res.add(new BindingProperty(node, binding)); //$NON-NLS-1$
-		} else if (node instanceof MemberRef) {
-			IBinding binding= ((MemberRef) node).resolveBinding();
-			res.add(new BindingProperty(node, binding)); //$NON-NLS-1$
-		} else if (node instanceof Expression) {
-			IBinding binding= ((Expression) node).resolveTypeBinding();
-			res.add(new BindingProperty(node, binding)); //$NON-NLS-1$
-		} else if (node instanceof Type) {
-			IBinding binding= ((Type) node).resolveBinding();
-			res.add(new BindingProperty(node, binding)); //$NON-NLS-1$
-		}
-		
-		List list= node.structuralPropertiesForType();
-		for (int i= 0; i < list.size(); i++) {
-			StructuralPropertyDescriptor curr= (StructuralPropertyDescriptor) list.get(i);
-			res.add(new NodeProperty(node, curr));
-		}
-		
-		return res.toArray();
-	}
-	
-	public boolean hasChildren(Object parent) {
-		return getChildren(parent).length > 0;
-	}
-}
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTViewLabelProvider.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTViewLabelProvider.java
deleted file mode 100644
index b448a5e..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/ASTViewLabelProvider.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.astview.views;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.jdt.core.Signature;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-
-public class ASTViewLabelProvider extends LabelProvider implements IColorProvider {
-	
-	private int fSelectionStart;
-	private int fSelectionLength;
-	
-	public ASTViewLabelProvider() {
-		fSelectionStart= -1;
-		fSelectionLength= -1;
-	}
-	
-	public void setSelectedRange(int start, int length) {
-		fSelectionStart= start;
-		fSelectionLength= length;
-	}
-	
-
-	public String getText(Object obj) {
-		StringBuffer buf= new StringBuffer();
-		if (obj instanceof ASTNode) {
-			getNodeType((ASTNode) obj, buf);
-		} else {
-			buf.append(obj.toString());
-		}
-		return buf.toString(); 
-	}
-	
-	private void getNodeType(ASTNode node, StringBuffer buf) {
-		buf.append(Signature.getSimpleName(node.getClass().getName()));
-		buf.append(" ["); //$NON-NLS-1$
-		buf.append(node.getStartPosition());
-		buf.append(", "); //$NON-NLS-1$
-		buf.append(node.getLength());
-		buf.append(']');
-	}
-	
-	
-	public Image getImage(Object obj) {
-		return null;
-//		String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-//		if (obj instanceof ASTNode) {
-//			imageKey = ISharedImages.IMG_OBJ_FOLDER;
-//		}
-//		return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-	 */
-	public Color getForeground(Object element) {
-		if (element instanceof ASTNode) {
-			ASTNode node= (ASTNode) element;
-			int start= node.getStartPosition();
-			int end= start + node.getLength();
-			
-			ASTNode parent= node.getParent();
-			int parentstart= parent.getStartPosition();
-			int parentend= start + parent.getLength();
-			
-			if (start < parentstart || end > parentend) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-
-			return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GRAY);
-		} else if (element instanceof BindingProperty) {
-			if (((BindingProperty) element).getBinding() == null) {
-				return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
-	 */
-	public Color getBackground(Object element) {
-		if (fSelectionStart != -1 && isInside(element)) {
-			return Display.getCurrent().getSystemColor(SWT.COLOR_YELLOW);
-		}
-		return null;
-	}
-	
-	private boolean isInsideNode(ASTNode node) {
-		int start= node.getStartPosition();
-		int end= start + node.getLength();
-		if (start <= fSelectionStart && (fSelectionStart + fSelectionLength) < end) {
-			return true;
-		}
-		return false;
-	}
-	
-	private boolean isInside(Object element) {
-		if (element instanceof ASTNode) {
-			return isInsideNode((ASTNode) element);
-		} else if (element instanceof NodeProperty) {
-			NodeProperty property= (NodeProperty) element;
-			Object object= property.getNode();
-			if (object instanceof ASTNode) {
-				return isInsideNode((ASTNode) object);
-			}
-		}
-		return false;
-	}
-	
-}
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/BindingProperty.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/BindingProperty.java
deleted file mode 100644
index 41f867b..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/BindingProperty.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.astview.views;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.IBinding;
-import org.eclipse.jdt.core.dom.IMethodBinding;
-import org.eclipse.jdt.core.dom.IPackageBinding;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.IVariableBinding;
-
-/**
- *
- */
-public class BindingProperty {
-	
-	private IBinding fBinding;
-	private ASTNode fParent;
-	
-	public BindingProperty(ASTNode parent, IBinding binding) {
-		fParent= parent;
-		fBinding= binding;
-	}
-	
-	public ASTNode getParent() {
-		return fParent;
-	}
-	
-	public IBinding getBinding() {
-		return fBinding;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buf= new StringBuffer();
-		if (fBinding != null) {
-			switch (fBinding.getKind()) {
-				case IBinding.VARIABLE:
-					IVariableBinding variableBinding= (IVariableBinding) fBinding;
-					
-					buf.append("(variable binding: "); //$NON-NLS-1$
-					if (! variableBinding.isField()) {
-						buf.append(variableBinding.toString());
-					} else if (variableBinding.getDeclaringClass() == null) {
-						buf.append("(array type):length"); //$NON-NLS-1$
-					} else {
-						buf.append(variableBinding.getDeclaringClass().getName());
-						buf.append(':');
-						buf.append(variableBinding.getName());				
-					}
-					break;
-				case IBinding.PACKAGE:
-					IPackageBinding packageBinding= (IPackageBinding) fBinding;
-					buf.append("(package binding: "); //$NON-NLS-1$
-					buf.append(packageBinding.getName());
-					break;
-				case IBinding.TYPE:
-					ITypeBinding typeBinding= (ITypeBinding) fBinding;
-					buf.append("(type binding: "); //$NON-NLS-1$
-					buf.append(typeBinding.getQualifiedName());
-					break;
-				case IBinding.METHOD:
-					IMethodBinding methodBinding= (IMethodBinding) fBinding;
-					buf.append("(method binding: "); //$NON-NLS-1$
-					buf.append(methodBinding.getDeclaringClass().getName());
-					buf.append(':');
-					buf.append(methodBinding.getName());
-					buf.append('(');
-					ITypeBinding[] parameters= methodBinding.getParameterTypes();
-					for (int i= 0; i < parameters.length; i++) {
-						if (i > 0) {
-							buf.append(", "); //$NON-NLS-1$
-						}
-						ITypeBinding parameter= parameters[i];
-						buf.append(parameter.getName());
-					}
-					buf.append(')');
-					break;
-			}
-			buf.append(')');
-		} else {
-			buf.append("(binding: null)"); //$NON-NLS-1$
-		}
-		return buf.toString();
-	}
-	
-
-}
diff --git a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/NodeProperty.java b/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/NodeProperty.java
deleted file mode 100644
index 7bf39ce..0000000
--- a/org.eclipse.jdt.astview/src/org/eclipse/jdt/astview/views/NodeProperty.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.astview.views;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.StructuralPropertyDescriptor;
-
-public class NodeProperty {
-	private ASTNode fParent;
-	private StructuralPropertyDescriptor fProperty;
-	
-	public NodeProperty(ASTNode parent, StructuralPropertyDescriptor property) {
-		fParent= parent;
-		fProperty= property;
-	}
-	
-	public ASTNode getParent() {
-		return fParent;
-	}
-	
-	public Object getNode() {
-		return fParent.getStructuralProperty(fProperty);
-	}
-	
-	public String getPropertyName() {
-		return toConstantName(fProperty.getId());
-	}
-	
-	private static String toConstantName(String string) {
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < string.length(); i++) {
-			char ch= string.charAt(i);
-			if (i != 0 && Character.isUpperCase(ch)) {
-				buf.append('_');
-			}
-			buf.append(Character.toUpperCase(ch));
-		}
-		return buf.toString();
-	}
-	
-	public boolean equals(Object o) {
-		if (this == o) {
-			return true;
-		}
-		if (o == null || !o.getClass().equals(getClass())) {
-			return false;
-		}
-		NodeProperty castedObj= (NodeProperty) o;
-		return  fParent.equals(castedObj.fParent) && (fProperty == castedObj.fProperty);
-	}
-
-	public int hashCode() {
-		return fParent.hashCode() * 31 + fProperty.hashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buf= new StringBuffer();
-		buf.append(getPropertyName());
-		
-		if (fProperty.isSimpleProperty()) {
-			buf.append(": "); //$NON-NLS-1$
-			Object node= getNode();
-			if (node != null) {
-				buf.append('\'');
-				buf.append(getNode().toString());
-				buf.append('\'');
-			} else {
-				buf.append("null"); //$NON-NLS-1$
-			}
-		}
-		return buf.toString();
-	}
-
-
-	
-}
diff --git a/org.eclipse.jdt.astview/synced.gif b/org.eclipse.jdt.astview/synced.gif
deleted file mode 100644
index f865f3a..0000000
--- a/org.eclipse.jdt.astview/synced.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.astview/view.gif b/org.eclipse.jdt.astview/view.gif
deleted file mode 100644
index 44d1018..0000000
--- a/org.eclipse.jdt.astview/view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit.core/plugin.properties b/org.eclipse.jdt.junit.core/plugin.properties
deleted file mode 100644
index 33a59bc..0000000
--- a/org.eclipse.jdt.junit.core/plugin.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Java Development Tools JUnit support
-providerName=Eclipse.org
-
-testRunListeners.name= Test Run Listeners
-junitQuickFixProcessor= JUnit Quick Fix Processor
-
-View.label= JUnit
-Launch.label= JUnit
-PreferencePage.label= JUnit
-
-TestWizard.description= Create a JUnit Test Case
-SuiteWizard.description= Create a JUnit Test Suite
-UpdateSuiteAction.label= Recreate Test Suite...
-UpdateSuiteAction.tooltip= Recreate JUnit TestSuite with new test classes
-Task.name= JUnit Task
-WizardCategory.name= JUnit
-TestCaseWizard.name= JUnit Test Case
-TestSuiteWizard.name= JUnit Test Suite
-
-JUnitShortcut.label= JUnit Test
-JUnitShortcutRun.label= Run JUnit Test
-JUnitShortcutDebug.label= Debug JUnit Test
-
-JUnitTabGroupDescription.debug=Create a configuration that will launch a JUnit test in debug mode.
-JUnitTabGroupDescription.run=Create a configuration that will launch a JUnit test.
-
-JUnitActionSet.label= JUnit
-
-GotoTestAction.label= Referring Tests...
-GotoTestAction.tooltip= Go to Test Referring to Selection
-
-RenameTypeParticipant.name=JUnit Launch configuration participant
diff --git a/org.eclipse.jdt.junit.core/plugin.xml b/org.eclipse.jdt.junit.core/plugin.xml
deleted file mode 100644
index 423742f..0000000
--- a/org.eclipse.jdt.junit.core/plugin.xml
+++ /dev/null
@@ -1,308 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jdt.junit"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jdt.internal.junit.ui.JUnitPlugin">
-
-   <runtime>
-      <library name="junitsupport.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jdt.internal.junit,org.eclipse.jdt.junit"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.core.boot"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.jdt.debug.ui"/>
-      <import plugin="org.eclipse.jdt.junit.runtime"/>
-      <import plugin="org.eclipse.compare"/>
-	  <import plugin="org.eclipse.ltk.core.refactoring"/>      
-   </requires>
-
-
-   <extension-point id="testRunListeners" name="%testRunListeners.name" schema="schema/testRunListeners.exsd"/>
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%View.label"
-            icon="icons/full/cview16/junit.gif"
-            category="org.eclipse.jdt.ui.java"
-            fastViewWidthRatio="0.40"
-            class="org.eclipse.jdt.internal.junit.ui.TestRunnerViewPart"
-            id="org.eclipse.jdt.junit.ResultView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <view
-               relative="org.eclipse.jdt.ui.PackageExplorer"
-               visible="false"
-               id="org.eclipse.jdt.junit.ResultView"
-               relationship="stack">
-         </view>
-         <newWizardShortcut
-               id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
-         </newWizardShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <actionSet
-               id="org.eclipse.jdt.junit.JUnitActionSet">
-         </actionSet>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         <actionSet
-               id="org.eclipse.jdt.junit.JUnitActionSet">
-         </actionSet>
-         <newWizardShortcut
-               id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
-         </newWizardShortcut>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.label"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.junit.ui.JUnitPreferencePage"
-            id="org.eclipse.jdt.junit.preferences">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            name="%Launch.label"
-            delegate="org.eclipse.jdt.internal.junit.launcher.JUnitLaunchConfiguration"
-            modes="run, debug"
-            id="org.eclipse.jdt.junit.launchconfig">
-         <fileExtension
-               default="false"
-               extension="java">
-         </fileExtension>
-         <fileExtension
-               default="false"
-               extension="class">
-         </fileExtension>
-      </launchConfigurationType>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.jdt.junit.CONTAINER"
-            class="org.eclipse.jdt.internal.junit.launcher.ContainerComparator"
-            id="org.eclipse.jdt.junit.containerComparator">
-      </launchConfigurationComparator>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/julaunch.gif"
-            configTypeID="org.eclipse.jdt.junit.launchconfig"
-            id="org.eclipse.jdt.junit.launchimage">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.jdt.junit.launchconfig"
-            helpContextId="org.eclipse.jdt.junit.junit_tab_group"
-            class="org.eclipse.jdt.internal.junit.launcher.JUnitTabGroup"
-            id="org.eclipse.jdt.junit.launchConfigurationTabGroup.junit">
-            <launchMode 
-                  mode="debug"
-                  perspective="org.eclipse.debug.ui.DebugPerspective"
-                  description="%JUnitTabGroupDescription.debug">
-            </launchMode>
-            <launchMode
-                  mode="run"
-                  description="%JUnitTabGroupDescription.run">
-            </launchMode>
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%WizardCategory.name"
-            parentCategory="org.eclipse.jdt.ui.java"
-            id="org.eclipse.jdt.junit">
-      </category>
-      <wizard
-            name="%TestCaseWizard.name"
-            icon="icons/full/ctool16/new_testcase.gif"
-            category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
-            id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
-         <class class="org.eclipse.jdt.internal.junit.wizards.NewTestCaseCreationWizard">
-            <parameter name="javatype" value="true"/>
-         </class> <!-- see bug 48164 for wrong pde compiler warnings --> 
-         <description>
-            %TestWizard.description
-         </description>
-      </wizard>
-      <wizard
-            name="%TestSuiteWizard.name"
-            icon="icons/full/ctool16/new_testsuite.gif"
-            category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
-            class="org.eclipse.jdt.internal.junit.wizards.NewTestSuiteCreationWizard"
-            id="org.eclipse.jdt.junit.wizards.NewTestSuiteCreationWizard">
-         <description>
-            %SuiteWizard.description
-         </description>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.jdt.core.ICompilationUnit"
-            nameFilter="AllTests.java"
-            id="org.eclipse.jdt.junit.wizards.UpdateTestSuite">
-         <action
-               label="%UpdateSuiteAction.label"
-               class="org.eclipse.jdt.internal.junit.wizards.UpdateTestSuite"
-               tooltip="%UpdateSuiteAction.tooltip"
-               enablesFor="1"
-               id="updateTestSuite">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%JUnitActionSet.label"
-            visible="false"
-            id="org.eclipse.jdt.junit.JUnitActionSet">
-         <action
-               label="%GotoTestAction.label"
-               helpContextId="org.eclipse.jdt.junit.goto_referenced_test_action_context"
-               class="org.eclipse.jdt.internal.junit.ui.GotoReferencedTestAction"
-               tooltip="%GotoTestAction.tooltip"
-               menubarPath="navigate/goTo/"
-               id="junit.actions.GotoTestAction">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         id="junit_task"
-         name="%Task.name"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.taskmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchShortcuts">
-      <shortcut
-            label="%JUnitShortcut.label"
-            icon="icons/full/obj16/julaunch.gif"
-            helpContextId="org.eclipse.jdt.junit.launch_shortcut"
-            class="org.eclipse.jdt.internal.junit.launcher.JUnitLaunchShortcut"
-            modes="run, debug"
-            id="org.eclipse.jdt.junit.junitShortcut">
-         <contextualLaunch>
-           <enablement>
-             <with variable="selection">
-               <count value="1"/>
-               <iterate>
-                 <or>
-                   <test property="org.eclipse.debug.ui.matchesPattern" value="*.java"/>
-                   <test property="org.eclipse.debug.ui.matchesPattern" value="*.class"/>
-                 </or>
-                 <test property="org.eclipse.jdt.junit.isTest"/>
-               </iterate>
-             </with>
-           </enablement>
-           <contextLabel
-         	  mode="run"
-         	  label="%JUnitShortcutRun.label"/>
-  		   <contextLabel
-  		 	  mode="debug"
-  		 	  label="%JUnitShortcutDebug.label"/>
-  		 </contextualLaunch>
-         <perspective
-               id="org.eclipse.jdt.ui.JavaPerspective">
-         </perspective>
-         <perspective
-               id="org.eclipse.jdt.ui.JavaHierarchyPerspective">
-         </perspective>
-         <perspective
-               id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         </perspective>
-         <perspective
-               id="org.eclipse.debug.ui.DebugPerspective">
-         </perspective>
-      </shortcut>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.core.classpathVariableInitializer">
-      <classpathVariableInitializer
-            variable="JUNIT_HOME"
-            class="org.eclipse.jdt.internal.junit.ui.JUnitHomeInitializer">
-      </classpathVariableInitializer>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.ui.quickFixProcessors">
-      <quickFixProcessor
-            name="%junitQuickFixProcessor"
-            class="org.eclipse.jdt.internal.junit.ui.JUnitQuickFixProcessor"
-            id="org.eclipse.jdt.junit.JUnitQuickFixProcessor">
-      </quickFixProcessor>
-   </extension>
-   <extension point="org.eclipse.core.expressions.propertyTesters">
-      <propertyTester
-      		namespace="org.eclipse.jdt.junit"
-            properties="isTest"
-            type="org.eclipse.jdt.core.IType"
-            class="org.eclipse.jdt.internal.junit.ui.JavaTypeExtender"
-            id="org.eclipse.jdt.junit.ITypeExtender">
-      </propertyTester>
-      <propertyTester
-      		namespace="org.eclipse.jdt.junit"
-            properties="isTest"
-            type="org.eclipse.core.resources.IResource"
-            class="org.eclipse.jdt.internal.junit.launcher.ResourceExtender"
-            id="org.eclipse.jdt.junit.IResourceExtender">
-      </propertyTester>
-   </extension>
-   <extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
-      <renameParticipant
-			id="org.eclipse.jdt.junit.renameTypeParticipant"
-			name="%RenameTypeParticipant.name" 
-			class="org.eclipse.jdt.internal.junit.ui.TypeRenameParticipant">
-         <enablement>
-           <with variable="affectedNatures">
-             <iterate>
-               <equals value="org.eclipse.jdt.core.javanature"/>
-             </iterate>
-           </with>
-           <with variable="element">
-             <instanceof value="org.eclipse.jdt.core.IType"/>
-             <test property="org.eclipse.jdt.junit.isTest"/>
-           </with>
-         </enablement>
-      </renameParticipant>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.jdt.junit.core/schema/testRunListeners.exsd b/org.eclipse.jdt.junit.core/schema/testRunListeners.exsd
deleted file mode 100644
index 46d5661..0000000
--- a/org.eclipse.jdt.junit.core/schema/testRunListeners.exsd
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jdt.junit">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jdt.junit" id="testRunListeners" name="Test Run Listeners"/>
-      </appInfo>
-      <documentation>
-         Extension point to register additional test run listeners. A test run listeners is notified about the execution of a test run.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <documentation>
-            a fully qualified identifier of the target extension point
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="testRunListener"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="testRunListener">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Test run class implementing org.eclipse.jdt.junit.ITestRunListener
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.junit.ITestRunListener"/>
-               </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 test run listener contribution:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jdt.junit.testRunListeners&quot;&gt;
-  &lt;testRunListener class=&quot;com.example.SampleTestRunListener&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Test run listeners must must implement the org.eclipse.jdt.junit.ITestRunListener interface.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitCorePlugin.java b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitCorePlugin.java
deleted file mode 100644
index 9d90c07..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitCorePlugin.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *   Julien Ruaux: jruaux@octo.com
- * 	 Vincent Massol: vmassol@octo.com
- ******************************************************************************/
-
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.AbstractSet;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.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.IPluginDescriptor;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration;
-import org.eclipse.jdt.junit.ITestRunListener;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The plug-in runtime class for the JUnit plug-in.
- */
-public class JUnitPlugin extends AbstractUIPlugin implements ILaunchListener {
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static JUnitPlugin fgPlugin= null;
-
-	public static final String PLUGIN_ID= "org.eclipse.jdt.junit"; //$NON-NLS-1$
-	public static final String ID_EXTENSION_POINT_TESTRUN_LISTENERS= PLUGIN_ID + "." + "testRunListeners"; //$NON-NLS-1$ //$NON-NLS-2$
-
-	public final static String TEST_SUPERCLASS_NAME= "junit.framework.TestCase"; //$NON-NLS-1$
-	public final static String TEST_INTERFACE_NAME= "junit.framework.Test"; //$NON-NLS-1$
-	
-	/**
-	 * The class path variable referring to the junit home location
-	 */
-	public final static String JUNIT_HOME= "JUNIT_HOME"; //$NON-NLS-1$
-
-	private static URL fgIconBaseURL;
-
-	/**
-	 * Use to track new launches. We need to do this
-	 * so that we only attach a TestRunner once to a launch.
-	 * Once a test runner is connected it is removed from the set.
-	 */
-	private AbstractSet fTrackedLaunches= new HashSet(20);
-
-	/**
-	 * List storing the registered test run listeners
-	 */
-	private List fTestRunListeners;
-
-	public JUnitPlugin(IPluginDescriptor desc) {
-		super(desc);
-		fgPlugin= this;
-		String pathSuffix= "icons/full/"; //$NON-NLS-1$
-		try {
-			fgIconBaseURL= new URL(getDescriptor().getInstallURL(), pathSuffix);
-		} catch (MalformedURLException e) {
-			// do nothing
-		}
-	}
-
-	public static JUnitPlugin getDefault() {
-		return fgPlugin;
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow workBenchWindow= getActiveWorkbenchWindow();
-		if (workBenchWindow == null)
-			return null;
-		return workBenchWindow.getShell();
-	}
-
-	/**
-	 * Returns the active workbench window
-	 * 
-	 * @return the active workbench window
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		if (fgPlugin == null)
-			return null;
-		IWorkbench workBench= fgPlugin.getWorkbench();
-		if (workBench == null)
-			return null;
-		return workBench.getActiveWorkbenchWindow();
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow activeWorkbenchWindow= getActiveWorkbenchWindow();
-		if (activeWorkbenchWindow == null)
-			return null;
-		return activeWorkbenchWindow.getActivePage();
-	}
-
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	/*
-	 * @see AbstractUIPlugin#initializeDefaultPreferences
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		super.initializeDefaultPreferences(store);
-		JUnitPreferencePage.initializeDefaults(store);
-	}
-
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, "Error", e)); //$NON-NLS-1$
-	}
-
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-
-	public static URL makeIconFileURL(String name) throws MalformedURLException {
-		if (JUnitPlugin.fgIconBaseURL == null)
-			throw new MalformedURLException();
-		return new URL(JUnitPlugin.fgIconBaseURL, name);
-	}
-
-	static ImageDescriptor getImageDescriptor(String relativePath) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(relativePath));
-		} catch (MalformedURLException e) {
-			// should not happen
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-
-	/*
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		fTrackedLaunches.remove(launch);
-		TestRunnerViewPart testRunnerViewPart= findTestRunnerViewPartInActivePage();
-		if (testRunnerViewPart != null && testRunnerViewPart.isCreated() && launch.equals(testRunnerViewPart.getLastLaunch()))
-			testRunnerViewPart.reset();
-	}
-
-	/*
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		fTrackedLaunches.add(launch);
-	}
-
-	public void connectTestRunner(ILaunch launch, IType launchedType, int port) {
-		TestRunnerViewPart testRunnerViewPart= showTestRunnerViewPartInActivePage(findTestRunnerViewPartInActivePage());
-		if (testRunnerViewPart != null)
-			testRunnerViewPart.startTestRunListening(launchedType, port, launch);
-	}
-
-	private TestRunnerViewPart showTestRunnerViewPartInActivePage(TestRunnerViewPart testRunner) {
-		IWorkbenchPart activePart= null;
-		IWorkbenchPage page= null;
-		try {
-			// TODO: have to force the creation of view part contents 
-			// otherwise the UI will not be updated
-			if (testRunner != null && testRunner.isCreated())
-				return testRunner;
-			page= getActivePage();
-			if (page == null)
-				return null;
-			activePart= page.getActivePart();
-			//	show the result view if it isn't shown yet
-			return (TestRunnerViewPart) page.showView(TestRunnerViewPart.NAME);
-		} catch (PartInitException pie) {
-			log(pie);
-			return null;
-		} finally{
-			//restore focus stolen by the creation of the result view
-			if (page != null && activePart != null)
-				page.activate(activePart);
-		}
-	}
-
-	private TestRunnerViewPart findTestRunnerViewPartInActivePage() {
-		IWorkbenchPage page= getActivePage();
-		if (page == null)
-			return null;
-		return (TestRunnerViewPart) page.findView(TestRunnerViewPart.NAME);
-	}
-
-	/*
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(final ILaunch launch) {
-		if (!fTrackedLaunches.contains(launch))
-			return;
-
-		ILaunchConfiguration config= launch.getLaunchConfiguration();
-		IType launchedType= null;
-		int port= -1;
-		if (config != null) {
-			// test whether the launch defines the JUnit attributes
-			String portStr= launch.getAttribute(JUnitBaseLaunchConfiguration.PORT_ATTR);
-			String typeStr= launch.getAttribute(JUnitBaseLaunchConfiguration.TESTTYPE_ATTR);
-			if (portStr != null && typeStr != null) {
-				port= Integer.parseInt(portStr);
-				IJavaElement element= JavaCore.create(typeStr);
-				if (element instanceof IType)
-					launchedType= (IType) element;
-			}
-		}
-		if (launchedType != null) {
-			fTrackedLaunches.remove(launch);
-			final int finalPort= port;
-			final IType finalType= launchedType;
-			getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					connectTestRunner(launch, finalType, finalPort);
-				}
-			});
-		}
-	}
-
-	/*
-	 * @see Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		super.startup();
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchListener(this);
-	}
-
-	/*
-	 * @see Plugin#shutdown()
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.removeLaunchListener(this);
-	}
-
-	public static Display getDisplay() {
-		Shell shell= getActiveWorkbenchShell();
-		if (shell != null) {
-			return shell.getDisplay();
-		}
-		Display display= Display.getCurrent();
-		if (display == null) {
-			display= Display.getDefault();
-		}
-		return display;
-	}
-	/**
-	 * 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 pm) {
-				try {
-					Set packageNameSet= new HashSet();
-					pm.beginTask(JUnitMessages.getString("JUnitPlugin.searching"), 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);
-						}
-						pm.worked(1);
-					}
-					pm.done();
-				} catch (JavaModelException jme) {
-					exception[0]= jme;
-				}
-			}
-		};
-		try {
-			monitor.run(false, false, r);
-		} catch (InvocationTargetException e) {
-			JUnitPlugin.log(e);
-		} catch (InterruptedException e) {
-			JUnitPlugin.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;
-	}
-
-	/**
-	 * Initializes TestRun Listener extensions
-	 */
-	private void loadTestRunListeners() {
-		fTestRunListeners= new ArrayList();
-		IExtensionPoint extensionPoint= Platform.getPluginRegistry().getExtensionPoint(ID_EXTENSION_POINT_TESTRUN_LISTENERS);
-		if (extensionPoint == null) {
-			return;
-		}
-		IConfigurationElement[] configs= extensionPoint.getConfigurationElements();
-		MultiStatus status= new MultiStatus(PLUGIN_ID, IStatus.OK, "Could not load some testRunner extension points", null); //$NON-NLS-1$ 	
-
-		for (int i= 0; i < configs.length; i++) {
-			try {
-				ITestRunListener testRunListener= (ITestRunListener) configs[i].createExecutableExtension("class"); //$NON-NLS-1$
-				fTestRunListeners.add(testRunListener);
-			} catch (CoreException e) {
-				status.add(e.getStatus());
-			}
-		}
-		if (!status.isOK()) {
-			JUnitPlugin.log(status);
-		}
-	}
-
-	/**
-	 * Returns an array of all TestRun listeners
-	 */
-	public List getTestRunListeners() {
-		if (fTestRunListeners == null) {
-			loadTestRunListeners();
-		}
-		return fTestRunListeners;
-	}
-
-	/**
-	 * Adds a TestRun listener to the collection of listeners
-	 */
-	public void addTestRunListener(ITestRunListener newListener) {
-		if (fTestRunListeners == null) 
-			loadTestRunListeners();
-		for (Iterator iter= fTestRunListeners.iterator(); iter.hasNext();) {
-			Object o= iter.next();
-			if (o == newListener)
-				return;
-		}
-		fTestRunListeners.add(newListener);
-	}
-
-	/**
-	 * Removes a TestRun listener to the collection of listeners
-	 */
-	public void removeTestRunListener(ITestRunListener newListener) {
-		if (fTestRunListeners != null) 
-			fTestRunListeners.remove(newListener);
-	}
-
-}
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitMessages.java b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitMessages.java
deleted file mode 100644
index f7bb5dd..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitMessages.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.junit.ui;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class JUnitMessages {
-
-	private static final String BUNDLE_NAME= "org.eclipse.jdt.internal.junit.ui.JUnitMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE= ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private JUnitMessages() {
-	}
-
-	/**
-	 * 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);
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitMessages.properties b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitMessages.properties
deleted file mode 100644
index dbe4bad..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/JUnitMessages.properties
+++ /dev/null
@@ -1,193 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-CopyTrace.action.label=Copy Trace
-CopyTraceAction.problem=Problem Copying to Clipboard
-CopyTraceAction.clipboard_busy=There was a problem when accessing the system clipboard. Retry?
-
-CopyFailureList.action.label=Copy Failure List
-CopyFailureList.problem=Problem Copying Failure List to Clipboard
-CopyFailureList.clipboard_busy=There was a problem when accessing the system clipboard. Retry?
-
-CounterPanel.label.runs=Runs: 
-CounterPanel.label.errors=Errors: 
-CounterPanel.label.failures=Failures: 
-CounterPanel.runcount= {0}/{1}
-
-EnableStackFilterAction.action.label=Filter
-EnableStackFilterAction.action.description=Filter the stack trace
-EnableStackFilterAction.action.tooltip=Filter Stack Trace
-
-ScrollLockAction.action.label=Scroll Lock
-ScrollLockAction.action.description=Scroll lock
-ScrollLockAction.action.tooltip=Scroll Lock
-
-FailureRunView.tab.tooltip=Failures and Errors
-FailureRunView.tab.title=Failures
-FailureRunView.labelfmt= {0} - {1}
-
-FilterPatternsDialog.message.notempty=Filter must not be empty
-
-HierarchyRunView.tab.tooltip=Test Hierarchy
-HierarchyRunView.tab.title=Hierarchy
-
-JUnitPlugin.error.cannotshow=Could not show JUnit Result View
-JUnitPlugin.searching=Searching
-
-JUnitPreferencePage.description=JUnit settings:
-JUnitPreferencePage.addfilterbutton.label=Add &Filter
-JUnitPreferencePage.addfilterbutton.tooltip=Key in the Name of a New Stack Filter
-JUnitPreferencePage.addtypebutton.label=Add &Class...
-JUnitPreferencePage.addtypebutton.tooltip=Choose a Java Type and Add It to Stack Filters
-JUnitPreferencePage.addpackagebutton.label=Add &Packages...
-JUnitPreferencePage.addpackagebutton.tooltip=Choose Package(s) to Add to Stack Filters
-JUnitPreferencePage.removefilterbutton.label=&Remove
-JUnitPreferencePage.removefilterbutton.tooltip=Remove All Selected Stack Filters
-JUnitPreferencePage.enableallbutton.label=&Enable All
-JUnitPreferencePage.enableallbutton.tooltip=Enables All Stack Filters
-JUnitPreferencePage.disableallbutton.label=Disa&ble All
-JUnitPreferencePage.disableallbutton.tooltip=Disables All Stack Filters
-JUnitPreferencePage.filter.label=&Stack trace filter patterns (changes only apply to new test runs):
-JUnitPreferencePage.adddialog.title=Add Stack Filter Pattern
-JUnitPreferencePage.addialog.prompt=Enter Filter Pattern:
-JUnitPreferencePage.showcheck.label=Show the JUnit results &view only when an error or failure occurs
-JUnitPreferencePage.invalidstepfilterreturnescape=Invalid stack filter. Press Return to continue editing or Escape to cancel.  
-JUnitPreferencePage.addtypedialog.title=Add Class to Stack Filters
-JUnitPreferencePage.addtypedialog.message=&Select a class to filter in the failure stack trace.
-JUnitPreferencePage.addtypedialog.error.message=Could not open type selection dialog for stack filters.
-JUnitPreferencePage.addpackagedialog.title=Add Packages to Stack Filters
-JUnitPreferencePage.addpackagedialog.message=&Select a package to filter in the failure stack trace.
-JUnitPreferencePage.addpackagedialog.error.message=Could not open package selection dialog for stack filters.
-
-OpenEditorAction.action.label=&Go to File
-OpenEditorAction.error.cannotopen.title=Cannot Open Editor
-OpenEditorAction.error.cannotopen.message=Test class not found in project
-OpenEditorAction.error.dialog.title=Error
-OpenEditorAction.error.dialog.message=Could not open editor
-OpenEditorAction.message.cannotopen=Could not open editor
-
-OpenTestAction.error.title=Go To Test
-OpenTestAction.error.methodNoFound=Method ''{0}'' not found. Opening the test class.
-
-
-TestRunnerViewPart.stopaction.text=Stop JUnit Test
-TestRunnerViewPart.stopaction.tooltip=Stop JUnit Test Run
-TestRunnerViewPart.rerunaction.label=Rerun last Test
-TestRunnerViewPart.rerunaction.tooltip=Rerun last Test
-TestRunnerViewPart.error.cannotrerun=Could not rerun test
-TestRunnerViewPart.message.terminated=Terminated
-TestRunnerViewPart.message.launching=Launching TestRunner
-TestRunnerViewPart.cannotrerun.title=Rerun Test
-TestRunnerViewPart.cannotrerurn.message=Can only rerun tests when they are launched under the debugger\nand when the \'keep JUnit running\' is set in the launch configuration.
-TestRunnerViewPart.message.cannotshow=Could not show JUnit Result View
-TestRunnerViewPart.label.failure=Failure Trace
-TestRunnerViewPart.message.finish= JUnit test run finished: {0} seconds (Errors: {1}, Failures: {2})
-TestRunnerViewPart.message.stopped= JUnit test run stopped after: {0} seconds
-TestRunnerViewPart.message.started= JUnit test run started: {0} - {1}
-TestRunnerViewPart.message.failure= {0}({1}) had a failure
-TestRunnerViewPart.message.error= {0}({1}) had an error
-TestRunnerViewPart.message.success= {0}({1}) was successful
-TestRunnerViewPart.title= JUnit ({0})
-TestRunnerViewPart.title_no_type=JUnit
-TestRunnerViewPart.toggle.vertical.label=&Vertical View Orientation
-TestRunnerViewPart.toggle.horizontal.label=&Horizontal View Orientation
-
-JUnitBaseLaunchConfiguration.error.invalidproject=Invalid project specified
-JUnitBaseLaunchConfiguration.error.novmrunner=Internal error: JRE {0} does not specify a VM Runner
-JUnitBaseLaunchConfiguration.error.notests=No tests found
-
-JUnitMainTab.label.oneTest=&Run a single test
-JUnitMainTab.label.project=&Project:
-JUnitMainTab.label.browse=&Browse...
-JUnitMainTab.label.test=T&est class:
-JUnitMainTab.label.search=&Search...
-JUnitMainTab.label.containerTest=Run &all tests in the selected project, package or source folder:
-JUnitMainTab.label.keeprunning=&Keep JUnit running after a test run when debugging
-JUnitMainTab.testdialog.title=Test Selection
-JUnitMainTab.testdialog.message=Choose a test case or test suite:
-JUnitMainTab.projectdialog.title=Project Selection
-JUnitMainTab.projectdialog.message=Choose a project to constrain the search for main types:
-JUnitMainTab.tab.label=Test
-JUnitMainTab.label.defaultpackage=(default package)
-JUnitMainTab.label.method=Test method: 
-JUnitMainTab.folderdialog.title=Folder Selection
-JUnitMainTab.folderdialog.message=Choose a Project, Source Folder or Package:
-JUnitMainTab.error.projectnotdefined=Project not specified
-JUnitMainTab.error.projectnotexists=Project does not exist
-JUnitMainTab.error.notJavaProject=Specified project is not a Java project
-JUnitMainTab.error.testnotdefined=Test not specified
-JUnitMainTab.error.testnotexists=Test class does not exist
-JUnitMainTab.error.invalidTest=Specified class is not a valid test class
-JUnitMainTab.error.noContainer=No project, source folder or package is specified 
-
-TestSearchEngine.message.searching=Searching suites
-LaunchTestAction.dialog.title=JUnit Launch
-LaunchTestAction.message.notests=No JUnit tests found.
-LaunchTestAction.dialog.title2=Test Selection
-LaunchTestAction.message.selectTestToRun=Select Test to debug
-LaunchTestAction.message.selectTestToDebug=Select Test to run
-LaunchTestAction.message.launchFailed=JUnit Launch Failed
-LaunchTestAction.message.selectConfiguration=Select a Test Configuration
-LaunchTestAction.message.selectDebugConfiguration=Select JUnit configuration to debug
-LaunchTestAction.message.selectRunConfiguration=Select JUnit configuration to run
-
-ShowNextFailureAction.label=Next Failure
-ShowNextFailureAction.tooltip=Next Failed Test
-ShowPreviousFailureAction.label=Previous Failure
-ShowPreviousFailureAction.tooltip=Previous Failed Test
-
-GotoReferencedTestAction.dialog.message=Select a method, type, or compilation unit to open tests that refer to them.
-GotoReferencedTestAction.dialog.title=Go to Test
-GotoReferencedTestAction.dialog.error.nomethod=Selection is not inside of a type or method.
-GotoReferencedTestAction.dialog.error=Test cannot be found
-GotoReferencedTestAction.selectdialog.title=Select Test
-GotoReferencedTestAction.dialog.select_message=Select a test that refers to ''{0}''.
-
-TestMethodSelectionDialog.error.title=Select Test
-TestMethodSelectionDialog.no_tests.title=Go to Test
-TestMethodSelectionDialog.error.notfound.title=Find Test
-TestMethodSelectionDialog.error.notfound.message=Could not find test
-TestMethodSelectionDialog.select_dialog.title=Select Test
-TestMethodSelectionDialog.dialog.title=Go to Referring Tests
-TestMethodSelectionDialog.notfound_message=No tests found that reference ''{0}''.
-TestMethodSelectionDialog.test_not_found=Cannot find ''{0}'' - make sure that JUnit is on the project's classpath.
-TestMethodSelectionDialog.testproject=Multiple projects contain ''{0}''. Select one project to be used when searching for tests.
-
-Resources.outOfSyncResources= Some resources are out of sync
-Resources.outOfSync= Resource ''{0}'' is out of sync with file system.
-Resources.modifiedResources= There are modified resources
-Resources.fileModified= File ''{0}'' has been modified since the beginning of the operation
-
-ExpandAllAction.text=Expand All
-ExpandAllAction.tooltip=Expand All Nodes
-
-JUnitAddLibraryProposal.info=Add the JUnit library to the project\'s build class path
-JUnitAddLibraryProposal.label=Add JUnit libraries
-JUnitAddLibraryProposal.title=Error
-JUnitAddLibraryProposal.cannotAdd=Cannot add the JUnit library to the build path.
-
-CompareResultsAction.label=Compare Result
-CompareResultsAction.description=Compare the actual and expected test result
-CompareResultsAction.tooltip=Compare Actual With Expected Test Result
-
-CompareResultDialog.title=Result Comparison
-CompareResultDialog.labelOK=OK
-CompareResultDialog.expectedLabel=Expected
-CompareResultDialog.actualLabel=Actual
-
-TypeRenameParticipant.name=JUnit Launch configuration participant
-TypeRenameParticipant.change.name=JUnit Launch configuration update
-
-RerunAction.label.run=&Run
-RerunAction.label.debug=&Debug
-TestRunnerViewPart.terminate.title=Run Last Test
-TestRunnerViewPart.terminate.message=Terminate currently running tests?
-
-
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/launcher/ContainerComparator.java b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/launcher/ContainerComparator.java
deleted file mode 100644
index 477362d..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/launcher/ContainerComparator.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.junit.launcher;
-
-import java.util.Comparator;
-
-public class ContainerComparator implements Comparator {
-
-    public int compare(Object o1, Object o2) {
-		String container1= (String)o1;
-		String container2= (String)o2;
-		if (container1 == null)
-			container1= ""; //$NON-NLS-1$
-		if (container2 == null)
-			container2= ""; //$NON-NLS-1$
-		return container1.compareTo(container2);
-    }
-}
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/util/IJUnitStatusConstants.java b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/util/IJUnitStatusConstants.java
deleted file mode 100644
index 7f3b293..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/util/IJUnitStatusConstants.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.junit.util;
-
-public interface IJUnitStatusConstants {
-
-	// JUnit UI status constants start at 10000 to make sure that we don't
-	// collide with resource and java model constants.
-	
-	public static final int INTERNAL_ERROR= 10001;
-	
-	/**
-	 * Status constant indicating that an validateEdit call has changed the
-	 * content of a file on disk.
-	 */
-	public static final int VALIDATE_EDIT_CHANGED_CONTENT= 10003;
-	
-}
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java
deleted file mode 100644
index cab1ecb..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.util;
-
-import java.lang.reflect.InvocationTargetException;
-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.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-import org.eclipse.ui.IFileEditorInput;
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-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.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchResultCollector;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.ISearchPattern;
-import org.eclipse.jdt.core.search.SearchEngine;
-
-import org.eclipse.jdt.internal.junit.ui.JUnitMessages;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-
-/**
- * Custom Search engine for suite() methods
- */
-public class TestSearchEngine {
-
-	private class JUnitSearchResultCollector implements IJavaSearchResultCollector {
-		IProgressMonitor fProgressMonitor;
-		List fList;
-		Set fFailed= new HashSet();
-		Set fMatches= new HashSet();
-		
-		public JUnitSearchResultCollector(List list, IProgressMonitor progressMonitor) {
-			fProgressMonitor= progressMonitor;
-			fList= list;
-		}
-		
-		public void accept(IResource resource, int start, int end, IJavaElement enclosingElement, int accuracy) throws JavaModelException{
-			if (!(enclosingElement instanceof IMethod)) 
-				return;
-			
-			IMethod method= (IMethod)enclosingElement;		
-			
-			IType declaringType= method.getDeclaringType();
-			if (fMatches.contains(declaringType) || fFailed.contains(declaringType))
-				return;
-			if (!hasSuiteMethod(declaringType) && !isTestType(declaringType)) {
-				fFailed.add(declaringType);
-				return;
-			}
-			fMatches.add(declaringType);
-		}
-		
-		public IProgressMonitor getProgressMonitor() {
-			return fProgressMonitor;
-		}
-				
-		public void aboutToStart() {
-		}
-		
-		public void done() {
-			fList.addAll(fMatches);
-		}
-	}
-	
-	private List searchMethod(IProgressMonitor pm, final IJavaSearchScope scope) throws JavaModelException {
-		final List typesFound= new ArrayList(200);	
-		searchMethod(typesFound, scope, pm);
-		return typesFound;	
-	}
-
-	private List searchMethod(final List v, IJavaSearchScope scope, final IProgressMonitor progressMonitor) throws JavaModelException {		
-		IJavaSearchResultCollector collector= new JUnitSearchResultCollector(v, progressMonitor);
-		ISearchPattern suitePattern= SearchEngine.createSearchPattern("suite() Test", IJavaSearchConstants.METHOD, IJavaSearchConstants.DECLARATIONS, true); //$NON-NLS-1$
-		ISearchPattern testPattern= SearchEngine.createSearchPattern("test*() void", IJavaSearchConstants.METHOD , IJavaSearchConstants.DECLARATIONS, true); //$NON-NLS-1$
-		SearchEngine engine= new SearchEngine();
-		engine.search(ResourcesPlugin.getWorkspace(), SearchEngine.createOrSearchPattern(suitePattern, testPattern), scope, collector); 
-		return v;
-	}
-	
-	public static IType[] findTests(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 {
-					doFindTests(elements, result, pm);
-				}
-			};
-			context.run(true, true, runnable);			
-		}
-		return (IType[]) result.toArray(new IType[result.size()]) ;
-	}
-
-	public static void doFindTests(Object[] elements, Set result, IProgressMonitor pm) throws InterruptedException {
-		int nElements= elements.length;
-		pm.beginTask(JUnitMessages.getString("TestSearchEngine.message.searching"), nElements);  //$NON-NLS-1$
-		try {
-			for (int i= 0; i < nElements; i++) {
-				try {
-					collectTypes(elements[i], new SubProgressMonitor(pm, 1), result);
-				} catch (JavaModelException e) {
-					JUnitPlugin.log(e.getStatus());
-				}
-				if (pm.isCanceled()) {
-					throw new InterruptedException();
-				}
-			}
-		} finally {
-			pm.done();
-		}
-	}
-
-	private static void collectTypes(Object element, IProgressMonitor pm, Set result) throws JavaModelException/*, InvocationTargetException*/ {
-		element= computeScope(element);
-		while((element instanceof IJavaElement) && !(element instanceof ICompilationUnit) && (element instanceof ISourceReference)) {
-			if(element instanceof IType) {
-				if (hasSuiteMethod((IType)element) || isTestType((IType)element)) {
-					result.add(element);
-					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 (hasSuiteMethod(types[i])  || isTestType(types[i]))
-					result.add(types[i]);
-			}
-		} 
-		else if (element instanceof IJavaElement) {
-			List found= searchSuiteMethods(pm, (IJavaElement)element);
-			result.addAll(found);
-		}
-	}
-
-	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);
-		if (element instanceof IClassFile) {
-			IClassFile cf= (IClassFile)element;
-			element= cf.getType();
-		}
-		return element;
-	}
-	
-	private static List searchSuiteMethods(IProgressMonitor pm, IJavaElement element) throws JavaModelException {	
-		IJavaSearchScope scope= SearchEngine.createJavaSearchScope(new IJavaElement[] { element });
-		TestSearchEngine searchEngine= new TestSearchEngine(); 
-		return searchEngine.searchMethod(pm, scope);
-	}
-		
-	public static boolean hasSuiteMethod(IType type) throws JavaModelException {
-		IMethod method= type.getMethod("suite", new String[0]); //$NON-NLS-1$
-		if (method == null || !method.exists()) 
-			return false;
-		
-		if (!Flags.isStatic(method.getFlags()) ||	
-			!Flags.isPublic(method.getFlags()) ||			
-			!Flags.isPublic(method.getDeclaringType().getFlags())) { 
-			return false;
-		}
-		return true;
-	}
-	
-	private static boolean isTestType(IType type) throws JavaModelException {
-		if (Flags.isAbstract(type.getFlags())) 
-			return false;
-		if (!Flags.isPublic(type.getFlags())) 
-			return false;
-		
-		IType[] interfaces= type.newSupertypeHierarchy(null).getAllSuperInterfaces(type);
-		for (int i= 0; i < interfaces.length; i++)
-			if(interfaces[i].getFullyQualifiedName().equals(JUnitPlugin.TEST_INTERFACE_NAME))
-				return true;
-		return false;
-	}
-
-	public static boolean isTestImplementor(IType type) throws JavaModelException {
-		ITypeHierarchy typeHier= type.newSupertypeHierarchy(null);
-		IType[] superInterfaces= typeHier.getAllInterfaces();
-		for (int i= 0; i < superInterfaces.length; i++) {
-			if (superInterfaces[i].getFullyQualifiedName().equals(JUnitPlugin.TEST_INTERFACE_NAME))
-				return true;
-		}
-		return false;
-	}
-
-	public static boolean isTestOrTestSuite(IType type) throws JavaModelException {
-		return hasSuiteMethod(type) || isTestType(type);
-	}
-}
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/ITestRunListener.java b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/ITestRunListener.java
deleted file mode 100644
index 97a7d3c..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/ITestRunListener.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.junit;
-  
-/**
- * A listener interface for observing the execution of a test run.
- * <p>
- * Clients contributing to the 
- * <code>org.eclipse.jdt.junit.testRunListener</code>
- * extension point implement this interface.
- * </p>
- * 
- * @since 2.1
- */
- public interface ITestRunListener {
-	/**
-   	 * Status constant indicating that a test passed (constant value 0).
- 	 * 
-     * @see #testFailed
- 	 */
- 	public static final int STATUS_OK= 0;
- 	/**
-	 * Status constant indicating that a test had an error an unanticipated
-	 * exception (constant value 1).
- 	 * 
-	 * @see #testFailed
- 	 */
- 	public static final int STATUS_ERROR= 1;
- 	/**
-	 * Status constant indicating that a test failed an assertion
-	 * (constant value 2).
- 	 * 
- 	 * @see #testFailed
-	 */
- 	public static final int STATUS_FAILURE= 2;
- 	/**
- 	 * A test run has started.
- 	 * 
- 	 * @param testCount the number of individual tests that will be run
- 	 */
-	public void testRunStarted(int testCount);
-	/**
- 	 * A test run has ended.
-	 *
-	 * @param elapsedTime the total elapsed time of the test run
-	 */
-	public void testRunEnded(long elapsedTime);
-	/**
-	 * A test run has been stopped prematurely.
-	 *
- 	 * @param elapsedTime the time elapsed before the test run was stopped
-	 */
-	public void testRunStopped(long elapsedTime);
-	/**
-	 * An individual test has started.
-	 * 
-	 * @param testId a unique Id identifying the test
-	 * @param testName the name of the test that started
-	 */
-	public void testStarted(String testId, String testName);
-	/**
-	 * An individual test has ended.
-	 * 
-	 * @param testId a unique Id identifying the test
-	 * @param testName the name of the test that ended
-	 */
-	public void testEnded(String testId, String testName);
-	/**
-	 * An individual test has failed with a stack trace.
-	 * 
-	 * @param testId a unique Id identifying the test
- 	 * @param testName the name of the test that failed
-	 * @param status the outcome of the test; one of 
-	 * {@link #STATUS_ERROR STATUS_ERROR} or
-	 * {@link #STATUS_FAILURE STATUS_FAILURE}
-	 * @param trace the stack trace
-	 */
-	public void testFailed(int status, String testId, String testName, String trace);	
-			
-	/**
-	 * The VM instance performing the tests has terminated.
-	 */
-	public void testRunTerminated();
-	
-	/**
- 	 * An individual test has been rerun.
-	 * 
-	 * @param testId a unique Id identifying the test
-	 * @param testClass the name of the test class that was rerun
-	 * @param testName the name of the test that was rerun
-	 * @param status the outcome of the test that was rerun; one of 
-	 * {@link #STATUS_OK STATUS_OK}, {@link #STATUS_ERROR STATUS_ERROR},
-	 * or {@link #STATUS_FAILURE STATUS_FAILURE}
-	 * @param trace the stack trace in the case of abnormal termination,
-	 * or the empty string if none
-	 */
-	public void testReran(String testId, String testClass, String testName, int status, String trace);
-}
-
-
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/JUnitCore.java b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/JUnitCore.java
deleted file mode 100644
index 7b5cbbc..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/JUnitCore.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jdt.junit;
-
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-
-/**
- * Class for accessing JUnit support; all functionality is provided by 
- * static methods.
- * </p>
- * 
- * @since 2.1
- */
-public class JUnitCore {
-
-	/**
-	 * Adds a listener for test runs.
-	 * 
-	 * @param listener listener to be added
-	 */
-	public static void addTestRunListener(ITestRunListener listener) {
-		JUnitPlugin.getDefault().addTestRunListener(listener);
-	}
-
-	/**
-	 * Removes a listener for test runs.
-	 * 
-	 * @param listener listener to be removed
-	 */
-	public static void removeTestRunListener(ITestRunListener listener) {
-		JUnitPlugin.getDefault().removeTestRunListener(listener);
-	}
-}
diff --git a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/package.html b/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/package.html
deleted file mode 100644
index 63db8cf..0000000
--- a/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Application programming interfaces for interaction
-with the Eclipse Java Development Tools JUnit support.
-<h2>
-Package Specification</h2>
-An API to track the execution of a JUnit test run.
-</body>
-</html>
diff --git a/org.eclipse.jdt.junit.runtime/.classpath b/org.eclipse.jdt.junit.runtime/.classpath
deleted file mode 100644
index 275b34c..0000000
--- a/org.eclipse.jdt.junit.runtime/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.junit.runtime/.cvsignore b/org.eclipse.jdt.junit.runtime/.cvsignore
deleted file mode 100644
index fe99505..0000000
--- a/org.eclipse.jdt.junit.runtime/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-
diff --git a/org.eclipse.jdt.junit.runtime/.project b/org.eclipse.jdt.junit.runtime/.project
deleted file mode 100644
index 6e825dd..0000000
--- a/org.eclipse.jdt.junit.runtime/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.junit.runtime</name>
-	<comment></comment>
-	<projects>
-		<project>org.junit</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.jdt.junit.runtime/.template b/org.eclipse.jdt.junit.runtime/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/org.eclipse.jdt.junit.runtime/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/org.eclipse.jdt.junit.runtime/about.html b/org.eclipse.jdt.junit.runtime/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.jdt.junit.runtime/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.junit.runtime/build.properties b/org.eclipse.jdt.junit.runtime/build.properties
deleted file mode 100644
index 7d547d4..0000000
--- a/org.eclipse.jdt.junit.runtime/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.junitruntime.jar = src/
-
-bin.includes = plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               *.jar
-
-src.includes = about.html
diff --git a/org.eclipse.jdt.junit.runtime/plugin.properties b/org.eclipse.jdt.junit.runtime/plugin.properties
deleted file mode 100644
index 9676024..0000000
--- a/org.eclipse.jdt.junit.runtime/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.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=Java Development Tools JUnit runtime support
-providerName=Eclipse.org
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit.runtime/plugin.xml b/org.eclipse.jdt.junit.runtime/plugin.xml
deleted file mode 100644
index 54dac25..0000000
--- a/org.eclipse.jdt.junit.runtime/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jdt.junit.runtime"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="junitruntime.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-		<import plugin="org.junit"/>
-   </requires>
-</plugin>
diff --git a/org.eclipse.jdt.junit.runtime/scripts/exportplugin.xml b/org.eclipse.jdt.junit.runtime/scripts/exportplugin.xml
deleted file mode 100644
index 40b2b64..0000000
--- a/org.eclipse.jdt.junit.runtime/scripts/exportplugin.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<!-- build script to create JUnit Plugin -->
-<project name="org.eclipse.jdt.junit.runtime" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.jdt.junit.runtime" />
-		<property name="version"  value="_3.0.0" />
-		<property name="dest"  value="${destdir}/${plugin}${version}" />
-	</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}/junitruntime.jar"
-			basedir="bin"
-		/>
-				
-		<jar 		
-			jarfile="${dest}/junitruntimesrc.jar"
-			basedir="src"
-		/>
-		
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file="about.html" todir="${dest}"/>
-	</target>
-</project>
diff --git a/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/JUnitMessages.java b/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/JUnitMessages.java
deleted file mode 100644
index a1173a8..0000000
--- a/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/JUnitMessages.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.junit.runner;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class JUnitMessages {
-
-	private static final String BUNDLE_NAME= "org.eclipse.jdt.internal.junit.runner.JUnitMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE= ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private JUnitMessages() {
-	}
-
-	/**
-	 * 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);
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/JUnitMessages.properties b/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/JUnitMessages.properties
deleted file mode 100644
index 1f4944f..0000000
--- a/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/JUnitMessages.properties
+++ /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
-###############################################################################
-
-RemoteTestRunner.error.classnotfound= Class not found {0}
-RemoteTestRunner.error.exception= "Error:  " {0}
-RemoteTestRunner.error.invoke= Failed to invoke suite(): {0}
-RemoteTestRunner.error.load= Could not reload Test: {0}
-RemoteTestRunner.error.connect= Could not connect to: {0} : {1}			
-RemoteTestRunner.error.classnamemissing=Error: parameter '-classNames' or '-className' not specified
-RemoteTestRunner.error.portmissing=Error: parameter '-port' not specified
-RemoteTestRunner.error.notestreturn=setUpTest should return junit.framework.Test
-RemoteTestRunner.error.shouldbepublic=setUpTest should be public
-RemoteTestRunner.error.shouldbestatic=setUpTest should be static
-RemoteTestRunner.error.nullreturn=setUpTest returned null
-RemoteTestRunner.error.couldnotinvoke=setUpTest could not invoke setup: {0}
-RemoteTestRunner.error.invocationexception=setUpTest invocation exception: {0}
-RemoteTestRunner.error.couldnotcreate=Could not create test: 
-
diff --git a/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/MessageIds.java b/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/MessageIds.java
deleted file mode 100644
index 03a85d6..0000000
--- a/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/MessageIds.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.internal.junit.runner;
-
-/**
- * Message identifiers for messages sent by the
- * RemoteTestRunner. 
- * 
- * @see RemoteTestRunner
- */
-public class MessageIds { 
-	/**
-	 * The header length of a message, all messages
-	 * have a fixed header length
-	 */
-	public static final int MSG_HEADER_LENGTH= 8;
-	
-	/**
-	 * Notification that a test trace has started.
-	 * The end of the trace is signaled by a TRACE_END
-	 * message. In between the TRACE_START and TRACE_END
-	 * the stack trace is submitted as multiple lines.
-	 */
-	public static final String TRACE_START= "%TRACES "; //$NON-NLS-1$
-	/**
-	 * Notification that a trace ends.
-	 */
-	public static final String TRACE_END=   "%TRACEE "; //$NON-NLS-1$
-	/**
-	 * Notification that the expected result has started.
-	 * The end of the expected result is signaled by a Trace_END.
-	 */
-	public static final String EXPECTED_START= "%EXPECTS"; //$NON-NLS-1$
-	/**
-	 * Notification that an expected result ends.
-	 */
-	public static final String EXPECTED_END=   "%EXPECTE"; //$NON-NLS-1$
-	/**
-	 * Notification that the expected result has started.
-	 * The end of the expected result is signaled by a Trace_END.
-	 */
-	public static final String ACTUAL_START= "%ACTUALS"; //$NON-NLS-1$
-	/**
-	 * Notification that an expected result ends.
-	 */
-	public static final String ACTUAL_END=   "%ACTUALE"; //$NON-NLS-1$
-	/**
-	 * Notification that a trace for a reran test has started.
-	 * The end of the trace is signaled by a RTrace_END
-	 * message.
-	 */
-	public static final String RTRACE_START= "%RTRACES"; //$NON-NLS-1$
-	/**
-	 * Notification that a trace of a reran trace ends.
-	 */
-	public static final String RTRACE_END=  "%RTRACEE"; //$NON-NLS-1$
-	/**
-	 * Notification that a test run has started. 
-	 * MessageIds.TEST_RUN_START+testCount.toString+" "+version
-	 */
-	public static final String TEST_RUN_START=  "%TESTC  "; //$NON-NLS-1$
-	/**
-	 * Notification that a test has started.
-	 * MessageIds.TEST_START + testID + "," + testName
-	 */
-	public static final String TEST_START=  "%TESTS  ";		 //$NON-NLS-1$
-	/**
-	 * Notification that a test has started.
-	 * TEST_END + testID + "," + testName
-	 */
-	public static final String TEST_END=    "%TESTE  ";		 //$NON-NLS-1$
-	/**
-	 * Notification that a test had a error.
-	 * TEST_ERROR + testID + "," + testName.
-	 * After the notification follows the stack trace.
-	 */
-	public static final String TEST_ERROR=  "%ERROR  ";		 //$NON-NLS-1$
-	/**
-	 * Notification that a test had a failure.
-	 * TEST_FAILED + testID + "," + testName.
-	 * After the notification follows the stack trace.
-	 */
-	public static final String TEST_FAILED= "%FAILED ";	 //$NON-NLS-1$
-	/**
-	 * Notification that a test run has ended.
-	 * TEST_RUN_END+elapsedTime.toString().
-	 */ 	
-	public static final String TEST_RUN_END="%RUNTIME";	 //$NON-NLS-1$
-	/**
-	 * Notification that a test run was successfully stopped.
-	 */ 
-	public static final String TEST_STOPPED="%TSTSTP "; //$NON-NLS-1$
-	/**
-	 * Notification that a test was reran.
-	 * TEST_RERAN+testId+" "+testClass+" "+testName+STATUS.
-	 * Status = "OK" or "FAILURE".
-	 */ 
-	public static final String TEST_RERAN=  "%TSTRERN"; //$NON-NLS-1$
-	/**
-	 * Notification about a test inside the test suite.
-	 * TEST_TREE+ testId"," + testName","isSuite","testcount
-	 * isSuite = "true" or "false"
-	 */ 
-	public static final String TEST_TREE="%TSTTREE"; //$NON-NLS-1$
-	/**
-	 * Request to stop the current test run.
-	 */
-	public static final String TEST_STOP=	">STOP   "; //$NON-NLS-1$
-	/**
-	 * Request to rerun a test.
-	 * TEST_RERUN+testId+" "+ClassName+" "+testName
-	 */
-	public static final String TEST_RERUN=	">RERUN  "; //$NON-NLS-1$
-}
-
-
diff --git a/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/RemoteTestRunner.java b/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/RemoteTestRunner.java
deleted file mode 100644
index 3f5e2db..0000000
--- a/org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/RemoteTestRunner.java
+++ /dev/null
@@ -1,835 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids: sdavids@gmx.de bug 26754 
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.runner;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.net.Socket;
-import java.util.Vector;
-
-import junit.extensions.TestDecorator;
-import junit.framework.AssertionFailedError;
-import junit.framework.ComparisonFailure;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestFailure;
-import junit.framework.TestListener;
-import junit.framework.TestResult;
-import junit.framework.TestSuite;
-
-/**
- * A TestRunner that reports results via a socket connection.
- * See MessageIds for more information about the protocl.
- */
-public class RemoteTestRunner implements TestListener {
-	/**
-	 * Holder for information for a rerun request
-	 */
-	private static class RerunRequest {
-		String fRerunClassName;
-		String fRerunTestName;
-		int fRerunTestId;
-		
-		public RerunRequest(int testId, String className, String testName) {
-			fRerunTestId= testId;
-			fRerunClassName= className;
-			fRerunTestName= testName;
-		}
-
-	}
-	
-	private static final String SET_UP_TEST_METHOD_NAME= "setUpTest"; //$NON-NLS-1$
-	
-	private static final String SUITE_METHODNAME= "suite";	 //$NON-NLS-1$
-	
-	/**
-	 * The name of the test classes to be executed
-	 */
-	private String[] fTestClassNames;
-	/**
-	 * The name of the test (argument -test)
-	 */
-	private String fTestName;
-	/**
-	 * The current test result
-	 */
-	private TestResult fTestResult;
-
-	/**
-	 * The version expected by the client
-	 */
-	private String fVersion= "";
-	
-	/**
-	 * The client socket.
-	 */
-	private Socket fClientSocket;
-	/**
-	 * Print writer for sending messages
-	 */
-	private PrintWriter fWriter;
-	/**
-	 * Reader for incoming messages
-	 */
-	private BufferedReader fReader;
-	/**
-	 * Host to connect to, default is the localhost
-	 */
-	private String fHost= ""; //$NON-NLS-1$
-	/**
-	 * Port to connect to.
-	 */
-	private int fPort= -1;
-	/**
-	 * Is the debug mode enabled?
-	 */
-	private boolean fDebugMode= false;	
-	/**
-	 * Keep the test run server alive after a test run has finished.
-	 * This allows to rerun tests.
-	 */
-	private boolean fKeepAlive= false;
-	/**
-	 * Has the server been stopped
-	 */
-	private boolean fStopped= false;
-	/**
-	 * Queue of rerun requests.
-	 */
-	private Vector fRerunRequests= new Vector(10);
-	/**
-	 * Thread reading from the socket
-	 */
-	private ReaderThread fReaderThread;
-
-	private String fRerunTest;
-	/**
-	 * Reader thread that processes messages from the client.
-	 */
-	private class ReaderThread extends Thread {
-		public ReaderThread() {
-			super("ReaderThread"); //$NON-NLS-1$
-		}
-
-		public void run(){
-			try { 
-				String message= null; 
-				while (true) { 
-					if ((message= fReader.readLine()) != null) {
-						
-						if (message.startsWith(MessageIds.TEST_STOP)){
-							fStopped= true;
-							RemoteTestRunner.this.stop();
-							synchronized(RemoteTestRunner.this) {
-								RemoteTestRunner.this.notifyAll();
-							}
-							break;
-						}
-						
-						else if (message.startsWith(MessageIds.TEST_RERUN)) {
-							String arg= message.substring(MessageIds.MSG_HEADER_LENGTH);
-							//format: testId className testName
-							int c0= arg.indexOf(' '); //$NON-NLS-1$
-							int c1= arg.indexOf(' ', c0+1);
-							String s= arg.substring(0, c0);
-							int testId= Integer.parseInt(s);
-							String className= arg.substring(c0+1, c1);
-							String testName= arg.substring(c1+1, arg.length());
-							synchronized(RemoteTestRunner.this) {
-								fRerunRequests.add(new RerunRequest(testId, className, testName));
-								RemoteTestRunner.this.notifyAll();
-							}
-						}
-					}
-				} 
-			} catch (Exception e) {
-				RemoteTestRunner.this.stop();
-			}
-		}
-	}	
-	
-	/** 
-	 * The main entry point.
-	 * Parameters<pre>
-	 * -classnames: the name of the test suite class
-	 * -testfilename: the name of a file containing classnames of test suites
-	 * -test: the test method name (format classname testname) 
-	 * -host: the host to connect to default local host 
-	 * -port: the port to connect to, mandatory argument 
-	 * -keepalive: keep the process alive after a test run
-     * </pre>
-     */
-	public static void main(String[] args) {
-		RemoteTestRunner testRunServer= new RemoteTestRunner();
-		testRunServer.init(args);
-		testRunServer.run();
-		// fix for 14434
-		System.exit(0);
-	}
-	
-	/**
-	 * Parse command line arguments. Hook for subclasses to process
-	 * additional arguments.
-	 */
-	protected void init(String[] args) {
-		defaultInit(args);		
-	}	
-	
-	/**
-	 * The class loader to be used for loading tests.
-	 * Subclasses may override to use another class loader.
-	 */
-	protected ClassLoader getClassLoader() {
-		return getClass().getClassLoader();
-	}
-	
-	/**
-	 * Process the default arguments.
-	 */
-	protected final void defaultInit(String[] args) {
-		for(int i= 0; i < args.length; i++) {
-			if(args[i].toLowerCase().equals("-classnames") || args[i].toLowerCase().equals("-classname")){ //$NON-NLS-1$ //$NON-NLS-2$
-				Vector list= new Vector();
-				for (int j= i+1; j < args.length; j++) {
-					if (args[j].startsWith("-")) //$NON-NLS-1$
-						break;
-					list.add(args[j]);
-				}
-				fTestClassNames= (String[]) list.toArray(new String[list.size()]);
-			}	
-			else if(args[i].toLowerCase().equals("-test")) { //$NON-NLS-1$
-				String testName= args[i+1];
-				int p= testName.indexOf(':');
-				if (p == -1)
-					throw new IllegalArgumentException("Testname not separated by \'%\'"); //$NON-NLS-1$
-				fTestName= testName.substring(p+1);
-				fTestClassNames= new String[]{ testName.substring(0, p)  };
-				i++;
-			}			
-			else if(args[i].toLowerCase().equals("-testnamefile")) { //$NON-NLS-1$
-				String testNameFile= args[i+1];
-				try {
-					readTestNames(testNameFile);
-				} catch (IOException e) {
-					throw new IllegalArgumentException("Cannot read testname file.");		 //$NON-NLS-1$
-				}
-				i++;
-			
-			} else if(args[i].toLowerCase().equals("-port")) { //$NON-NLS-1$
-				fPort= Integer.parseInt(args[i+1]);
-				i++;
-			}
-			else if(args[i].toLowerCase().equals("-host")) { //$NON-NLS-1$
-				fHost= args[i+1];
-				i++;
-			}
-			else if(args[i].toLowerCase().equals("-rerun")) { //$NON-NLS-1$
-				fRerunTest= args[i+1];
-				i++;
-			}
-			else if(args[i].toLowerCase().equals("-keepalive")) { //$NON-NLS-1$
-				fKeepAlive= true;
-			}
-			else if(args[i].toLowerCase().equals("-debugging") || args[i].toLowerCase().equals("-debug")){ //$NON-NLS-1$ //$NON-NLS-2$
-			    fDebugMode= true;
-			}
-			else if(args[i].toLowerCase().equals("-version")){ //$NON-NLS-1$
-			    fVersion= args[i+1];
-			    i++;
-			}
-		}
-		if(fTestClassNames == null || fTestClassNames.length == 0)
-			throw new IllegalArgumentException(JUnitMessages.getString("RemoteTestRunner.error.classnamemissing")); //$NON-NLS-1$
-
-		if (fPort == -1)
-			throw new IllegalArgumentException(JUnitMessages.getString("RemoteTestRunner.error.portmissing")); //$NON-NLS-1$
-		if (fDebugMode)
-			System.out.println("keepalive "+fKeepAlive); //$NON-NLS-1$
-	}
-
-	private void readTestNames(String testNameFile) throws IOException {
-		BufferedReader br= new BufferedReader(new FileReader(new File(testNameFile)));
-		try {
-			String line;
-			Vector list= new Vector();
-			while ((line= br.readLine()) != null) {
-				list.add(line);
-			}
-			fTestClassNames= (String[]) list.toArray(new String[list.size()]);
-		}
-		finally {
-			br.close();
-		}
-		if (fDebugMode) {
-			System.out.println("Tests:"); //$NON-NLS-1$
-			for (int i= 0; i < fTestClassNames.length; i++) {
-				System.out.println("    "+fTestClassNames[i]); //$NON-NLS-1$
-			}
-		}
-	}
-
-	
-	/**
-	 * Connects to the remote ports and runs the tests.
-	 */
-	protected void run() {
-		if (!connect())
-			return;
-		if (fRerunTest != null) {
-			rerunTest(Integer.parseInt(fRerunTest), fTestClassNames[0], fTestName);
-			return;
-		}
-		fTestResult= new TestResult();
-		fTestResult.addListener(this);
-		runTests(fTestClassNames, fTestName);
-		fTestResult.removeListener(this);
-		
-		if (fTestResult != null) {
-			fTestResult.stop();
-			fTestResult= null;
-		}
-		if (fKeepAlive)
-			waitForReruns();
-			
-		shutDown();
-		
-	}
-
-	/**
-	 * Waits for rerun requests until an explicit stop request
-	 */
-	private synchronized void waitForReruns() {
-		while (!fStopped) {
-			try {
-				wait();
-				if (!fStopped && fRerunRequests.size() > 0) {
-					RerunRequest r= (RerunRequest)fRerunRequests.remove(0);
-					rerunTest(r.fRerunTestId, r.fRerunClassName, r.fRerunTestName);
-				}
-			} catch (InterruptedException e) {
-			}
-		}
-	}
-	
-	/**
-	 * Returns the Test corresponding to the given suite. 
-	 */
-	private Test getTest(String suiteClassName, String testName) {
-		Class testClass= null;
-		try {
-			testClass= loadSuiteClass(suiteClassName);
-		} catch (ClassNotFoundException e) {
-			String clazz= e.getMessage();
-			if (clazz == null) 
-				clazz= suiteClassName;
-			runFailed(JUnitMessages.getFormattedString("RemoteTestRunner.error.classnotfound", clazz)); //$NON-NLS-1$
-			return null;
-		} catch(Exception e) {
-			runFailed(JUnitMessages.getFormattedString("RemoteTestRunner.error.exception", e )); //$NON-NLS-1$
-			return null;
-		}
-		if (testName != null) {
-			return setupTest(testClass, createTest(testName, testClass));
-		}
-		Method suiteMethod= null;
-		try {
-			suiteMethod= testClass.getMethod(SUITE_METHODNAME, new Class[0]);
-	 	} catch(Exception e) {
-	 		// try to extract a test suite automatically
-			return new TestSuite(testClass);
-		}
-		Test test= null;
-		try {
-			test= (Test)suiteMethod.invoke(null, new Class[0]); // static method
-		} 
-		catch (InvocationTargetException e) {
-			runFailed(JUnitMessages.getFormattedString("RemoteTestRunner.error.invoke", e.getTargetException().toString() )); //$NON-NLS-1$
-			return null;
-		}
-		catch (IllegalAccessException e) {
-			runFailed(JUnitMessages.getFormattedString("RemoteTestRunner.error.invoke", e.toString() )); //$NON-NLS-1$
-			return null;
-		}
-		return test;
-	}
-
-	protected void runFailed(String message) {
-		System.err.println(message);
-	}
-	
-	/**
-	 * Loads the test suite class.
-	 */
-	private Class loadSuiteClass(String className) throws ClassNotFoundException {
-		if (className == null) 
-			return null;
-		return getClassLoader().loadClass(className);
-	}
-			
-	/**
-	 * Runs a set of tests.
-	 */
-	private void runTests(String[] testClassNames, String testName) {
-		// instantiate all tests
-		Test[] suites= new Test[testClassNames.length];
-		
-		for (int i= 0; i < suites.length; i++) {
-			suites[i]= getTest(testClassNames[i], testName);
-		}
-		
-		// count all testMethods and inform ITestRunListeners		
-		int count= countTests(suites);
-		notifyTestRunStarted(count);
-		
-		if (count == 0) {
-			notifyTestRunEnded(0);
-			return;
-		}
-		
-		long startTime= System.currentTimeMillis();
-		if (fDebugMode)
-			System.out.print("start send tree..."); //$NON-NLS-1$
-		for (int i= 0; i < suites.length; i++) {
-			sendTree(suites[i]);
-		}
-		if (fDebugMode)
-			System.out.println("done send tree - time(ms): "+(System.currentTimeMillis()-startTime)); //$NON-NLS-1$
-
-		long testStartTime= System.currentTimeMillis();
-		for (int i= 0; i < suites.length; i++) {
-			suites[i].run(fTestResult);
-		}
-		// inform ITestRunListeners of test end
-		if (fTestResult == null || fTestResult.shouldStop())
-			notifyTestRunStopped(System.currentTimeMillis() - testStartTime);
-		else
-			notifyTestRunEnded(System.currentTimeMillis() - testStartTime);
-	}
-	
-	private int countTests(Test[] tests) {
-		int count= 0;
-		for (int i= 0; i < tests.length; i++) {
-			if (tests[i] != null)
-				count= count + tests[i].countTestCases();
-		}
-		return count;
-	}
-	
-	/**
-	 * Reruns a test as defined by the fully qualified class name and
-	 * the name of the test.
-	 */
-	public void rerunTest(int testId, String className, String testName) {
-		Test reloadedTest= null;
-		Class reloadedTestClass= null;
-		try {
-			reloadedTestClass= getClassLoader().loadClass(className);
-			reloadedTest= createTest(testName, reloadedTestClass);
-		} catch(Exception e) {
-			reloadedTest= warning(JUnitMessages.getFormattedString("RemoteTestRunner.error.couldnotcreate", testName));  //$NON-NLS-1$ 
-		}
-		Test rerunTest= setupTest(reloadedTestClass, reloadedTest);
-		TestResult result= new TestResult();
-		rerunTest.run(result);
-		notifyTestReran(result, Integer.toString(testId), className, testName);
-	}
-
-	/**
-	 * Prepare a single test to be run standalone. If the test case class provides
-	 * a static method Test setUpTest(Test test) then this method will be invoked.
-	 * Instead of calling the test method directly the "decorated" test returned from
-	 * setUpTest will be called. The purpose of this mechanism is to enable
-	 * tests which requires a set-up to be run individually.
-	 */
-	private Test setupTest(Class reloadedTestClass, Test reloadedTest) {
-		Method setup= null;
-		try {
-			setup= reloadedTestClass.getMethod(SET_UP_TEST_METHOD_NAME, new Class[] {Test.class});
-		} catch (SecurityException e1) {
-			return reloadedTest;
-		} catch (NoSuchMethodException e) {
-			return reloadedTest;
-		}
-		if (setup.getReturnType() != Test.class)
-			return warning(JUnitMessages.getString("RemoteTestRunner.error.notestreturn")); //$NON-NLS-1$
-		if (!Modifier.isPublic(setup.getModifiers()))
-			return warning(JUnitMessages.getString("RemoteTestRunner.error.shouldbepublic"));  //$NON-NLS-1$
-		if (!Modifier.isStatic(setup.getModifiers()))
-			return warning(JUnitMessages.getString("RemoteTestRunner.error.shouldbestatic"));  //$NON-NLS-1$
-		try {
-			Test test= (Test)setup.invoke(null, new Object[] {reloadedTest});
-			if (test == null)
-				return warning(JUnitMessages.getString("RemoteTestRunner.error.nullreturn")); //$NON-NLS-1$
-			return test;
-		} catch (IllegalArgumentException e) {
-			return warning(JUnitMessages.getFormattedString("RemoteTestRunner.error.couldnotinvoke", e)); //$NON-NLS-1$
-		} catch (IllegalAccessException e) {
-			return warning(JUnitMessages.getFormattedString("RemoteTestRunner.error.couldnotinvoke", e)); //$NON-NLS-1$
-		} catch (InvocationTargetException e) {
-			return warning(JUnitMessages.getFormattedString("RemoteTestRunner.error.invocationexception", e.getTargetException())); //$NON-NLS-1$
-		} 
-	}
-
-	/**
-	 * Returns a test which will fail and log a warning message.
-	 */
-	 private Test warning(final String message) {
-		return new TestCase("warning") { //$NON-NLS-1$
-			protected void runTest() {
-				fail(message);
-			}
-		};		
-	}
-
-	private Test createTest(String testName, Class testClass) {
-		Class[] classArgs= { String.class };
-		Test test;
-		Constructor constructor= null;
-		try {
-			try {
-				constructor= testClass.getConstructor(classArgs);
-				test= (Test)constructor.newInstance(new Object[]{testName});
-			} catch (NoSuchMethodException e) {
-				// try the no arg constructor supported in 3.8.1
-				constructor= testClass.getConstructor(new Class[0]);
-				test= (Test)constructor.newInstance(new Object[0]);
-				if (test instanceof TestCase)
-					((TestCase) test).setName(testName);
-			}
-			if (test != null)
-				return test;
-		} catch (InstantiationException e) {
-		} catch (IllegalAccessException e) {
-		} catch (InvocationTargetException e) {
-		} catch (NoSuchMethodException e) {
-		} catch (ClassCastException e) {
-		}
-		return warning("Could not create test \'"+testName+"\' "); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-
-	/*
-	 * @see TestListener#addError(Test, Throwable)
-	 */
-	public final void addError(Test test, Throwable throwable) {
-		notifyTestFailed(test, MessageIds.TEST_ERROR, getTrace(throwable));
-	}
-
-	/*
-	 * @see TestListener#addFailure(Test, AssertionFailedError)
-	 */
-	public final void addFailure(Test test, AssertionFailedError assertionFailedError) {
-		if ("3".equals(fVersion)) {
-		    if (assertionFailedError instanceof ComparisonFailure) {
-		        // transmit the expected and the actual string
-		        String expected = getField(assertionFailedError, "fExpected");
-		        String actual = getField(assertionFailedError, "fActual");
-		        if (expected != null && actual != null) {
-		            notifyTestFailed2(test, MessageIds.TEST_FAILED, getTrace(assertionFailedError), expected, actual);
-		            return;
-		       }
-		    }
-		} 
-		notifyTestFailed(test, MessageIds.TEST_FAILED, getTrace(assertionFailedError));
-	}
-
-	/*
-	 * @see TestListener#endTest(Test)
-	 */
-	public void endTest(Test test) {
-		notifyTestEnded(test);
-	}
-
-	/*
-	 * @see TestListener#startTest(Test)
-	 */
-	public void startTest(Test test) {
-		notifyTestStarted(test);
-	}
-	
-	private void sendTree(Test test){
-		if(test instanceof TestDecorator){
-			TestDecorator decorator= (TestDecorator) test;
-			sendTree(decorator.getTest());		
-		}
-		else if(test instanceof TestSuite){
-			TestSuite suite= (TestSuite) test;
-			notifyTestTreeEntry(getTestId(test)+','+escapeComma(suite.toString().trim()) + ',' + true + ',' + suite.testCount());
-			for(int i=0; i < suite.testCount(); i++){	
-				sendTree(suite.testAt(i));		
-			}				
-		}
-		else {
-			notifyTestTreeEntry(getTestId(test)+ ',' + escapeComma(getTestName(test).trim()) + ',' + false + ',' +  test.countTestCases());
-		}
-	}
-	
-	private String escapeComma(String s) {
-		if ((s.indexOf(',') < 0) && (s.indexOf('\\') < 0))
-			return s;
-		StringBuffer sb= new StringBuffer(s.length()+10);
-		for (int i= 0; i < s.length(); i++) {
-			char c= s.charAt(i);
-			if (c == ',') 
-				sb.append("\\,"); //$NON-NLS-1$
-			else if (c == '\\')
-				sb.append("\\\\"); //$NON-NLS-1$
-			else
-				sb.append(c);
-		}
-		return sb.toString();
-	}
-
-	private String getTestId(Test test) {
-		return Integer.toString(System.identityHashCode(test));
-	}
-	
-	private String getTestName(Test test) {
-		if (test instanceof TestCase) {
-			TestCase testCase= (TestCase) test;
-			return testCase.getName() + "(" + test.getClass().getName() + ")";
-		}
-		if (test instanceof TestSuite) {
-			TestSuite suite= (TestSuite) test;
-			if (suite.getName() != null)
-				return suite.getName();
-			return getClass().getName();
-		}
-		return test.toString();
-	}
-	
-	/**
-	 * Returns the stack trace for the given throwable.
-	 */
-	private String getTrace(Throwable t) { 
-		StringWriter stringWriter= new StringWriter();
-		PrintWriter writer= new PrintWriter(stringWriter);
-		t.printStackTrace(writer);
-		StringBuffer buffer= stringWriter.getBuffer();
-		return buffer.toString();
-	}	
-
-	/**
-	 * Stop the current test run.
-	 */
-	protected void stop() {
-		if (fTestResult != null) {
-			fTestResult.stop();
-		}
-	}
-	
-	/**
-	 * Connect to the remote test listener.
-	 */
-	private boolean connect() {
-		if (fDebugMode)
-			System.out.println("RemoteTestRunner: trying to connect" + fHost + ":" + fPort); //$NON-NLS-1$ //$NON-NLS-2$
-		Exception exception= null;
-		for (int i= 1; i < 20; i++) {
-			try{
-				fClientSocket= new Socket(fHost, fPort);
-				try {
-				    fWriter= new PrintWriter(new BufferedWriter(new OutputStreamWriter(fClientSocket.getOutputStream(), "UTF-8")), false/*true*/); //$NON-NLS-1$
-	            } catch (UnsupportedEncodingException e1) {
-	                fWriter= new PrintWriter(new BufferedWriter(new OutputStreamWriter(fClientSocket.getOutputStream())), false/*true*/);
-	            }
-				try {
-				    fReader= new BufferedReader(new InputStreamReader(fClientSocket.getInputStream(), "UTF-8")); //$NON-NLS-1$
-                } catch (UnsupportedEncodingException e1) {
-                    fReader= new BufferedReader(new InputStreamReader(fClientSocket.getInputStream()));
-                }
-				fReaderThread= new ReaderThread();
-				fReaderThread.start();
-				return true;
-			} catch(IOException e){
-				exception= e;
-			}
-			try {
-				Thread.sleep(2000);
-			} catch(InterruptedException e) {
-			}
-		}
-		runFailed(JUnitMessages.getFormattedString("RemoteTestRunner.error.connect", new String[]{fHost, Integer.toString(fPort)} )); //$NON-NLS-1$
-		exception.printStackTrace();
-		return false;
-	}
-
-	/**
-	 * Shutsdown the connection to the remote test listener.
-	 */
-	private void shutDown() {
-		if (fWriter != null) {
-			fWriter.close();
-			fWriter= null;
-		}
-		try {
-			if (fReaderThread != null)   {
-				// interrupt reader thread so that we don't block on close
-				// on a lock held by the BufferedReader
-				// fix for bug: 38955
-				fReaderThread.interrupt();
-			}
-			if (fReader != null) {
-				fReader.close();
-				fReader= null;
-			}
-		} catch(IOException e) {
-			if (fDebugMode)
-				e.printStackTrace();
-		}
-		
-		try {
-			if (fClientSocket != null) {
-				fClientSocket.close();
-				fClientSocket= null;
-			}
-		} catch(IOException e) {
-			if (fDebugMode)	
-				e.printStackTrace();
-		}
-	}
-
-
-	private void sendMessage(String msg) {
-		if(fWriter == null) 
-			return;
-		fWriter.println(msg);
-	}
-
-
-	private void notifyTestRunStarted(int testCount) {
-		sendMessage(MessageIds.TEST_RUN_START + testCount + " " + "v2"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-
-	private void notifyTestRunEnded(long elapsedTime) {
-		sendMessage(MessageIds.TEST_RUN_END + elapsedTime);
-		fWriter.flush();
-		//shutDown();
-	}
-
-
-	private void notifyTestRunStopped(long elapsedTime) {
-		sendMessage(MessageIds.TEST_STOPPED + elapsedTime );
-		fWriter.flush();
-		//shutDown();
-	}
-
-	private void notifyTestStarted(Test test) {
-		sendMessage(MessageIds.TEST_START + getTestId(test) + ','+test.toString());
-		fWriter.flush();
-	}
-
-	private void notifyTestEnded(Test test) {
-		sendMessage(MessageIds.TEST_END + getTestId(test)+','+getTestName(test));
-	}
-
-	private void notifyTestFailed(Test test, String status, String trace) {
-		sendMessage(status + getTestId(test) + ',' + getTestName(test));
-		sendMessage(MessageIds.TRACE_START);
-		sendMessage(trace);
-		sendMessage(MessageIds.TRACE_END);
-		fWriter.flush();
-	}
-
-	private void notifyTestFailed2(Test test, String status, String trace, String expected, String actual) {
-	    sendMessage(status + getTestId(test) + ',' + getTestName(test));
-	    
-	    sendMessage(MessageIds.EXPECTED_START);
-	    sendMessage(expected);
-	    sendMessage(MessageIds.EXPECTED_END);
-	    
-	    sendMessage(MessageIds.ACTUAL_START);
-	    sendMessage(actual);
-	    sendMessage(MessageIds.ACTUAL_END);
-	    
-	    sendMessage(MessageIds.TRACE_START);
-	    sendMessage(trace);
-	    sendMessage(MessageIds.TRACE_END);
-	    
-	    fWriter.flush();
-	}
-	
-	private void notifyTestTreeEntry(String treeEntry) {
-		sendMessage(MessageIds.TEST_TREE + treeEntry);
-	}
-	
-	private void notifyTestReran(TestResult result, String testId, String testClass, String testName) {
-		TestFailure failure= null;
-		if (result.errorCount() > 0) {
-			failure= (TestFailure)result.errors().nextElement();
-		}
-		if (result.failureCount() > 0) {
-			failure= (TestFailure)result.failures().nextElement();
-		}
-		if (failure != null) {
-			Throwable t= failure.thrownException();
-			
-			if ("3".equals(fVersion)) {
-			    if (t instanceof ComparisonFailure) {
-			        // transmit the expected and the actual string
-			        String expected = getField(t, "fExpected");
-			        String actual = getField(t, "fActual");
-			        if (expected != null && actual != null) {
-			    	    sendMessage(MessageIds.EXPECTED_START);
-			    	    sendMessage(expected);
-			    	    sendMessage(MessageIds.EXPECTED_END);
-			    	    
-			    	    sendMessage(MessageIds.ACTUAL_START);
-			    	    sendMessage(actual);
-			    	    sendMessage(MessageIds.ACTUAL_END);
-			    	    			    	    			       }
-			    }
-			}
-			String trace= getTrace(t);
-			sendMessage(MessageIds.RTRACE_START);
-			sendMessage(trace);
-			sendMessage(MessageIds.RTRACE_END);
-			fWriter.flush();
-		}
-		String status= "OK"; //$NON-NLS-1$
-		if (result.errorCount() > 0)
-			status= "ERROR"; //$NON-NLS-1$
-		else if (result.failureCount() > 0)
-			status= "FAILURE"; //$NON-NLS-1$
-		if (fPort != -1) {
-			sendMessage(MessageIds.TEST_RERAN + testId+ " "+testClass+" "+testName+" "+status); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			fWriter.flush();
-		}
-	}
-	
-	private String getField(Object object, String fieldName) {
-	    Class clazz= object.getClass();
-	    try {
-	        Field field= clazz.getDeclaredField(fieldName);
-	        field.setAccessible(true);
-	        Object result= field.get(object);
-	        return result.toString();
-	    } catch (Exception e) {
-	        // fall through
-	    }
-	    return null;
-	}
-}	
diff --git a/org.eclipse.jdt.junit/.classpath b/org.eclipse.jdt.junit/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.jdt.junit/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.junit/.cvsignore b/org.eclipse.jdt.junit/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.jdt.junit/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.jdt.junit/.project b/org.eclipse.jdt.junit/.project
deleted file mode 100644
index e03a241..0000000
--- a/org.eclipse.jdt.junit/.project
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.junit</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.compare</project>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.expressions</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.debug.core</project>
-		<project>org.eclipse.debug.ui</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.debug.ui</project>
-		<project>org.eclipse.jdt.junit.runtime</project>
-		<project>org.eclipse.jdt.launching</project>
-		<project>org.eclipse.jdt.ui</project>
-		<project>org.eclipse.jdt.ui.tests</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.junit.server</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench.texteditor</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.junit/about.html b/org.eclipse.jdt.junit/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.jdt.junit/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.junit/build.properties b/org.eclipse.jdt.junit/build.properties
deleted file mode 100644
index 814ba25..0000000
--- a/org.eclipse.jdt.junit/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 = plugin.xml,\
-               about.html,\
-               icons/,\
-               plugin.properties,\
-               *.jar
-
-source.junitsupport.jar = src/
-
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/cfilter.gif b/org.eclipse.jdt.junit/icons/full/clcl16/cfilter.gif
deleted file mode 100644
index 0c3470d..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/cfilter.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/compare.gif b/org.eclipse.jdt.junit/icons/full/clcl16/compare.gif
deleted file mode 100644
index 2b645a8..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/compare.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/lock.gif b/org.eclipse.jdt.junit/icons/full/clcl16/lock.gif
deleted file mode 100644
index d47ecfd..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/lock.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/relaunch.gif b/org.eclipse.jdt.junit/icons/full/clcl16/relaunch.gif
deleted file mode 100644
index 6b0c23d..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/relaunch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/select_next.gif b/org.eclipse.jdt.junit/icons/full/clcl16/select_next.gif
deleted file mode 100644
index 8392f33..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/select_next.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/select_prev.gif b/org.eclipse.jdt.junit/icons/full/clcl16/select_prev.gif
deleted file mode 100644
index 9b278e6..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/select_prev.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/stop.gif b/org.eclipse.jdt.junit/icons/full/clcl16/stop.gif
deleted file mode 100644
index d47876f..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/stop.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/th_horizontal.gif b/org.eclipse.jdt.junit/icons/full/clcl16/th_horizontal.gif
deleted file mode 100644
index f4c14a4..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/th_horizontal.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/clcl16/th_vertical.gif b/org.eclipse.jdt.junit/icons/full/clcl16/th_vertical.gif
deleted file mode 100644
index f685839..0000000
--- a/org.eclipse.jdt.junit/icons/full/clcl16/th_vertical.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/ctool16/debugjunit.gif b/org.eclipse.jdt.junit/icons/full/ctool16/debugjunit.gif
deleted file mode 100644
index 3d218a1..0000000
--- a/org.eclipse.jdt.junit/icons/full/ctool16/debugjunit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/ctool16/new_testcase.gif b/org.eclipse.jdt.junit/icons/full/ctool16/new_testcase.gif
deleted file mode 100644
index 08b508b..0000000
--- a/org.eclipse.jdt.junit/icons/full/ctool16/new_testcase.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/ctool16/new_testsuite.gif b/org.eclipse.jdt.junit/icons/full/ctool16/new_testsuite.gif
deleted file mode 100644
index 93c2cf1..0000000
--- a/org.eclipse.jdt.junit/icons/full/ctool16/new_testsuite.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/ctool16/runjunit.gif b/org.eclipse.jdt.junit/icons/full/ctool16/runjunit.gif
deleted file mode 100644
index 8d950f5..0000000
--- a/org.eclipse.jdt.junit/icons/full/ctool16/runjunit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/cview16/junit.gif b/org.eclipse.jdt.junit/icons/full/cview16/junit.gif
deleted file mode 100644
index 3db90db..0000000
--- a/org.eclipse.jdt.junit/icons/full/cview16/junit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/cview16/juniterr.gif b/org.eclipse.jdt.junit/icons/full/cview16/juniterr.gif
deleted file mode 100644
index adc4b32..0000000
--- a/org.eclipse.jdt.junit/icons/full/cview16/juniterr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/cview16/juniterrq.gif b/org.eclipse.jdt.junit/icons/full/cview16/juniterrq.gif
deleted file mode 100644
index 94f3619..0000000
--- a/org.eclipse.jdt.junit/icons/full/cview16/juniterrq.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/cview16/junitsucc.gif b/org.eclipse.jdt.junit/icons/full/cview16/junitsucc.gif
deleted file mode 100644
index 7b1d00c..0000000
--- a/org.eclipse.jdt.junit/icons/full/cview16/junitsucc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/cview16/junitsuccq.gif b/org.eclipse.jdt.junit/icons/full/cview16/junitsuccq.gif
deleted file mode 100644
index aaeb0d1..0000000
--- a/org.eclipse.jdt.junit/icons/full/cview16/junitsuccq.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/cview16/stackframe.gif b/org.eclipse.jdt.junit/icons/full/cview16/stackframe.gif
deleted file mode 100644
index 924e1c8..0000000
--- a/org.eclipse.jdt.junit/icons/full/cview16/stackframe.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/cfilter.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/cfilter.gif
deleted file mode 100644
index 297b472..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/cfilter.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/compare.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/compare.gif
deleted file mode 100644
index 27b96a7..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/compare.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/lock.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/lock.gif
deleted file mode 100644
index c67c0d8..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/lock.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/relaunch.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/relaunch.gif
deleted file mode 100644
index d390fab..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/relaunch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/select_next.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/select_next.gif
deleted file mode 100644
index 6cbeced..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/select_next.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/select_prev.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/select_prev.gif
deleted file mode 100644
index a3441a0..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/select_prev.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/stop.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/stop.gif
deleted file mode 100644
index bf15460..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/stop.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/th_horizontal.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/th_horizontal.gif
deleted file mode 100644
index 02e35a4..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/th_horizontal.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dlcl16/th_vertical.gif b/org.eclipse.jdt.junit/icons/full/dlcl16/th_vertical.gif
deleted file mode 100644
index e548d11..0000000
--- a/org.eclipse.jdt.junit/icons/full/dlcl16/th_vertical.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dtool16/debugjunit.gif b/org.eclipse.jdt.junit/icons/full/dtool16/debugjunit.gif
deleted file mode 100644
index e5721db..0000000
--- a/org.eclipse.jdt.junit/icons/full/dtool16/debugjunit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/dtool16/runjunit.gif b/org.eclipse.jdt.junit/icons/full/dtool16/runjunit.gif
deleted file mode 100644
index e42021c..0000000
--- a/org.eclipse.jdt.junit/icons/full/dtool16/runjunit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/cfilter.gif b/org.eclipse.jdt.junit/icons/full/elcl16/cfilter.gif
deleted file mode 100644
index 51057e8..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/cfilter.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/compare.gif b/org.eclipse.jdt.junit/icons/full/elcl16/compare.gif
deleted file mode 100644
index bcd5f22..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/compare.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/lock.gif b/org.eclipse.jdt.junit/icons/full/elcl16/lock.gif
deleted file mode 100644
index be3943a..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/lock.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/relaunch.gif b/org.eclipse.jdt.junit/icons/full/elcl16/relaunch.gif
deleted file mode 100644
index 7a95d09..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/relaunch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/select_next.gif b/org.eclipse.jdt.junit/icons/full/elcl16/select_next.gif
deleted file mode 100644
index 1d0b40a..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/select_next.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/select_prev.gif b/org.eclipse.jdt.junit/icons/full/elcl16/select_prev.gif
deleted file mode 100644
index 1372957..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/select_prev.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/stop.gif b/org.eclipse.jdt.junit/icons/full/elcl16/stop.gif
deleted file mode 100644
index 8ea6ff73..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/stop.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/th_horizontal.gif b/org.eclipse.jdt.junit/icons/full/elcl16/th_horizontal.gif
deleted file mode 100644
index a1b054f..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/th_horizontal.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/elcl16/th_vertical.gif b/org.eclipse.jdt.junit/icons/full/elcl16/th_vertical.gif
deleted file mode 100644
index 1795443..0000000
--- a/org.eclipse.jdt.junit/icons/full/elcl16/th_vertical.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/etool16/debugjunit.gif b/org.eclipse.jdt.junit/icons/full/etool16/debugjunit.gif
deleted file mode 100644
index 162b956..0000000
--- a/org.eclipse.jdt.junit/icons/full/etool16/debugjunit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/etool16/runjunit.gif b/org.eclipse.jdt.junit/icons/full/etool16/runjunit.gif
deleted file mode 100644
index 50ead9d..0000000
--- a/org.eclipse.jdt.junit/icons/full/etool16/runjunit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/junit.gif b/org.eclipse.jdt.junit/icons/full/eview16/junit.gif
deleted file mode 100644
index 5f1d7e1..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/junit.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/juniterr.gif b/org.eclipse.jdt.junit/icons/full/eview16/juniterr.gif
deleted file mode 100644
index 3e6586b..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/juniterr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/juniterrq.gif b/org.eclipse.jdt.junit/icons/full/eview16/juniterrq.gif
deleted file mode 100644
index 9348b7d..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/juniterrq.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/junitfail.gif b/org.eclipse.jdt.junit/icons/full/eview16/junitfail.gif
deleted file mode 100644
index 4de4d13..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/junitfail.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/junitfailq.gif b/org.eclipse.jdt.junit/icons/full/eview16/junitfailq.gif
deleted file mode 100644
index 44a86ba..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/junitfailq.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/junitsuc.gif b/org.eclipse.jdt.junit/icons/full/eview16/junitsuc.gif
deleted file mode 100644
index 2cd5a81..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/junitsuc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/junitsucc.gif b/org.eclipse.jdt.junit/icons/full/eview16/junitsucc.gif
deleted file mode 100644
index 0e20c00..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/junitsucc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/junitsuccq.gif b/org.eclipse.jdt.junit/icons/full/eview16/junitsuccq.gif
deleted file mode 100644
index 1345316..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/junitsuccq.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/junitsucq.gif b/org.eclipse.jdt.junit/icons/full/eview16/junitsucq.gif
deleted file mode 100644
index 6ffc1e5..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/junitsucq.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/eview16/stackframe.gif b/org.eclipse.jdt.junit/icons/full/eview16/stackframe.gif
deleted file mode 100644
index 4e444db..0000000
--- a/org.eclipse.jdt.junit/icons/full/eview16/stackframe.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/exc_catch.gif b/org.eclipse.jdt.junit/icons/full/obj16/exc_catch.gif
deleted file mode 100644
index 037eef1..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/exc_catch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/faillist.gif b/org.eclipse.jdt.junit/icons/full/obj16/faillist.gif
deleted file mode 100644
index a67a320..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/faillist.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/failures.gif b/org.eclipse.jdt.junit/icons/full/obj16/failures.gif
deleted file mode 100644
index 1ff549c..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/failures.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/julaunch.gif b/org.eclipse.jdt.junit/icons/full/obj16/julaunch.gif
deleted file mode 100644
index e3c749a..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/julaunch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/stkfrm_obj.gif b/org.eclipse.jdt.junit/icons/full/obj16/stkfrm_obj.gif
deleted file mode 100644
index 567ea42..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/stkfrm_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/test.gif b/org.eclipse.jdt.junit/icons/full/obj16/test.gif
deleted file mode 100644
index 2e472d4..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/test.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/testerr.gif b/org.eclipse.jdt.junit/icons/full/obj16/testerr.gif
deleted file mode 100644
index 7314764..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/testerr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/testfail.gif b/org.eclipse.jdt.junit/icons/full/obj16/testfail.gif
deleted file mode 100644
index 5f15ff7..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/testfail.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/testhier.gif b/org.eclipse.jdt.junit/icons/full/obj16/testhier.gif
deleted file mode 100644
index 72861a5..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/testhier.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/testok.gif b/org.eclipse.jdt.junit/icons/full/obj16/testok.gif
deleted file mode 100644
index c68bd2c..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/testok.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/testrun.gif b/org.eclipse.jdt.junit/icons/full/obj16/testrun.gif
deleted file mode 100644
index 730d658..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/testrun.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/tsuite.gif b/org.eclipse.jdt.junit/icons/full/obj16/tsuite.gif
deleted file mode 100644
index 4fe79e7..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/tsuite.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/tsuiteerror.gif b/org.eclipse.jdt.junit/icons/full/obj16/tsuiteerror.gif
deleted file mode 100644
index db32174..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/tsuiteerror.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/tsuitefail.gif b/org.eclipse.jdt.junit/icons/full/obj16/tsuitefail.gif
deleted file mode 100644
index c373376..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/tsuitefail.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/tsuiteok.gif b/org.eclipse.jdt.junit/icons/full/obj16/tsuiteok.gif
deleted file mode 100644
index ede2c0b..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/tsuiteok.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/obj16/tsuiterun.gif b/org.eclipse.jdt.junit/icons/full/obj16/tsuiterun.gif
deleted file mode 100644
index ccde7bd..0000000
--- a/org.eclipse.jdt.junit/icons/full/obj16/tsuiterun.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/ovr16/error_ovr.gif b/org.eclipse.jdt.junit/icons/full/ovr16/error_ovr.gif
deleted file mode 100644
index 8612eaf..0000000
--- a/org.eclipse.jdt.junit/icons/full/ovr16/error_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/ovr16/failed_ovr.gif b/org.eclipse.jdt.junit/icons/full/ovr16/failed_ovr.gif
deleted file mode 100644
index d45b970..0000000
--- a/org.eclipse.jdt.junit/icons/full/ovr16/failed_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/ovr16/success_ovr.gif b/org.eclipse.jdt.junit/icons/full/ovr16/success_ovr.gif
deleted file mode 100644
index 0f0cf30..0000000
--- a/org.eclipse.jdt.junit/icons/full/ovr16/success_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff1.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff1.gif
deleted file mode 100644
index 25f7579..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff1.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff2.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff2.gif
deleted file mode 100644
index b6a4782..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff2.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff3.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff3.gif
deleted file mode 100644
index 11cbcb5..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff3.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff4.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff4.gif
deleted file mode 100644
index 30b31e6..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff4.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff5.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff5.gif
deleted file mode 100644
index c826bdc..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff5.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff6.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff6.gif
deleted file mode 100644
index 24a3452..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff6.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff7.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff7.gif
deleted file mode 100644
index 52e1ad0..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff7.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff8.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff8.gif
deleted file mode 100644
index 62597bc..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff8.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ff9.gif b/org.eclipse.jdt.junit/icons/full/prgss/ff9.gif
deleted file mode 100644
index 5471191..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ff9.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss1.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss1.gif
deleted file mode 100644
index e08e842..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss1.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss2.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss2.gif
deleted file mode 100644
index 67f852f..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss2.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss3.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss3.gif
deleted file mode 100644
index 69ee58a..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss3.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss4.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss4.gif
deleted file mode 100644
index 6553766..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss4.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss5.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss5.gif
deleted file mode 100644
index f1af0d5..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss5.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss6.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss6.gif
deleted file mode 100644
index 14406e2..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss6.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss7.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss7.gif
deleted file mode 100644
index 14d6602..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss7.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss8.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss8.gif
deleted file mode 100644
index 3562961..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss8.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/prgss/ss9.gif b/org.eclipse.jdt.junit/icons/full/prgss/ss9.gif
deleted file mode 100644
index 9077dcd..0000000
--- a/org.eclipse.jdt.junit/icons/full/prgss/ss9.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/wizban/newsuite_wiz.gif b/org.eclipse.jdt.junit/icons/full/wizban/newsuite_wiz.gif
deleted file mode 100644
index a4f146b..0000000
--- a/org.eclipse.jdt.junit/icons/full/wizban/newsuite_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/icons/full/wizban/newtest_wiz.gif b/org.eclipse.jdt.junit/icons/full/wizban/newtest_wiz.gif
deleted file mode 100644
index b753340..0000000
--- a/org.eclipse.jdt.junit/icons/full/wizban/newtest_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.junit/plugin.properties b/org.eclipse.jdt.junit/plugin.properties
deleted file mode 100644
index 33a59bc..0000000
--- a/org.eclipse.jdt.junit/plugin.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Java Development Tools JUnit support
-providerName=Eclipse.org
-
-testRunListeners.name= Test Run Listeners
-junitQuickFixProcessor= JUnit Quick Fix Processor
-
-View.label= JUnit
-Launch.label= JUnit
-PreferencePage.label= JUnit
-
-TestWizard.description= Create a JUnit Test Case
-SuiteWizard.description= Create a JUnit Test Suite
-UpdateSuiteAction.label= Recreate Test Suite...
-UpdateSuiteAction.tooltip= Recreate JUnit TestSuite with new test classes
-Task.name= JUnit Task
-WizardCategory.name= JUnit
-TestCaseWizard.name= JUnit Test Case
-TestSuiteWizard.name= JUnit Test Suite
-
-JUnitShortcut.label= JUnit Test
-JUnitShortcutRun.label= Run JUnit Test
-JUnitShortcutDebug.label= Debug JUnit Test
-
-JUnitTabGroupDescription.debug=Create a configuration that will launch a JUnit test in debug mode.
-JUnitTabGroupDescription.run=Create a configuration that will launch a JUnit test.
-
-JUnitActionSet.label= JUnit
-
-GotoTestAction.label= Referring Tests...
-GotoTestAction.tooltip= Go to Test Referring to Selection
-
-RenameTypeParticipant.name=JUnit Launch configuration participant
diff --git a/org.eclipse.jdt.junit/plugin.xml b/org.eclipse.jdt.junit/plugin.xml
deleted file mode 100644
index 423742f..0000000
--- a/org.eclipse.jdt.junit/plugin.xml
+++ /dev/null
@@ -1,308 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jdt.junit"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jdt.internal.junit.ui.JUnitPlugin">
-
-   <runtime>
-      <library name="junitsupport.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.jdt.internal.junit,org.eclipse.jdt.junit"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.core.boot"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.jdt.debug.ui"/>
-      <import plugin="org.eclipse.jdt.junit.runtime"/>
-      <import plugin="org.eclipse.compare"/>
-	  <import plugin="org.eclipse.ltk.core.refactoring"/>      
-   </requires>
-
-
-   <extension-point id="testRunListeners" name="%testRunListeners.name" schema="schema/testRunListeners.exsd"/>
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%View.label"
-            icon="icons/full/cview16/junit.gif"
-            category="org.eclipse.jdt.ui.java"
-            fastViewWidthRatio="0.40"
-            class="org.eclipse.jdt.internal.junit.ui.TestRunnerViewPart"
-            id="org.eclipse.jdt.junit.ResultView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <view
-               relative="org.eclipse.jdt.ui.PackageExplorer"
-               visible="false"
-               id="org.eclipse.jdt.junit.ResultView"
-               relationship="stack">
-         </view>
-         <newWizardShortcut
-               id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
-         </newWizardShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <actionSet
-               id="org.eclipse.jdt.junit.JUnitActionSet">
-         </actionSet>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         <actionSet
-               id="org.eclipse.jdt.junit.JUnitActionSet">
-         </actionSet>
-         <newWizardShortcut
-               id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
-         </newWizardShortcut>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.label"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.junit.ui.JUnitPreferencePage"
-            id="org.eclipse.jdt.junit.preferences">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            name="%Launch.label"
-            delegate="org.eclipse.jdt.internal.junit.launcher.JUnitLaunchConfiguration"
-            modes="run, debug"
-            id="org.eclipse.jdt.junit.launchconfig">
-         <fileExtension
-               default="false"
-               extension="java">
-         </fileExtension>
-         <fileExtension
-               default="false"
-               extension="class">
-         </fileExtension>
-      </launchConfigurationType>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.jdt.junit.CONTAINER"
-            class="org.eclipse.jdt.internal.junit.launcher.ContainerComparator"
-            id="org.eclipse.jdt.junit.containerComparator">
-      </launchConfigurationComparator>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/julaunch.gif"
-            configTypeID="org.eclipse.jdt.junit.launchconfig"
-            id="org.eclipse.jdt.junit.launchimage">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.jdt.junit.launchconfig"
-            helpContextId="org.eclipse.jdt.junit.junit_tab_group"
-            class="org.eclipse.jdt.internal.junit.launcher.JUnitTabGroup"
-            id="org.eclipse.jdt.junit.launchConfigurationTabGroup.junit">
-            <launchMode 
-                  mode="debug"
-                  perspective="org.eclipse.debug.ui.DebugPerspective"
-                  description="%JUnitTabGroupDescription.debug">
-            </launchMode>
-            <launchMode
-                  mode="run"
-                  description="%JUnitTabGroupDescription.run">
-            </launchMode>
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%WizardCategory.name"
-            parentCategory="org.eclipse.jdt.ui.java"
-            id="org.eclipse.jdt.junit">
-      </category>
-      <wizard
-            name="%TestCaseWizard.name"
-            icon="icons/full/ctool16/new_testcase.gif"
-            category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
-            id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
-         <class class="org.eclipse.jdt.internal.junit.wizards.NewTestCaseCreationWizard">
-            <parameter name="javatype" value="true"/>
-         </class> <!-- see bug 48164 for wrong pde compiler warnings --> 
-         <description>
-            %TestWizard.description
-         </description>
-      </wizard>
-      <wizard
-            name="%TestSuiteWizard.name"
-            icon="icons/full/ctool16/new_testsuite.gif"
-            category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
-            class="org.eclipse.jdt.internal.junit.wizards.NewTestSuiteCreationWizard"
-            id="org.eclipse.jdt.junit.wizards.NewTestSuiteCreationWizard">
-         <description>
-            %SuiteWizard.description
-         </description>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.jdt.core.ICompilationUnit"
-            nameFilter="AllTests.java"
-            id="org.eclipse.jdt.junit.wizards.UpdateTestSuite">
-         <action
-               label="%UpdateSuiteAction.label"
-               class="org.eclipse.jdt.internal.junit.wizards.UpdateTestSuite"
-               tooltip="%UpdateSuiteAction.tooltip"
-               enablesFor="1"
-               id="updateTestSuite">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%JUnitActionSet.label"
-            visible="false"
-            id="org.eclipse.jdt.junit.JUnitActionSet">
-         <action
-               label="%GotoTestAction.label"
-               helpContextId="org.eclipse.jdt.junit.goto_referenced_test_action_context"
-               class="org.eclipse.jdt.internal.junit.ui.GotoReferencedTestAction"
-               tooltip="%GotoTestAction.tooltip"
-               menubarPath="navigate/goTo/"
-               id="junit.actions.GotoTestAction">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         id="junit_task"
-         name="%Task.name"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.taskmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchShortcuts">
-      <shortcut
-            label="%JUnitShortcut.label"
-            icon="icons/full/obj16/julaunch.gif"
-            helpContextId="org.eclipse.jdt.junit.launch_shortcut"
-            class="org.eclipse.jdt.internal.junit.launcher.JUnitLaunchShortcut"
-            modes="run, debug"
-            id="org.eclipse.jdt.junit.junitShortcut">
-         <contextualLaunch>
-           <enablement>
-             <with variable="selection">
-               <count value="1"/>
-               <iterate>
-                 <or>
-                   <test property="org.eclipse.debug.ui.matchesPattern" value="*.java"/>
-                   <test property="org.eclipse.debug.ui.matchesPattern" value="*.class"/>
-                 </or>
-                 <test property="org.eclipse.jdt.junit.isTest"/>
-               </iterate>
-             </with>
-           </enablement>
-           <contextLabel
-         	  mode="run"
-         	  label="%JUnitShortcutRun.label"/>
-  		   <contextLabel
-  		 	  mode="debug"
-  		 	  label="%JUnitShortcutDebug.label"/>
-  		 </contextualLaunch>
-         <perspective
-               id="org.eclipse.jdt.ui.JavaPerspective">
-         </perspective>
-         <perspective
-               id="org.eclipse.jdt.ui.JavaHierarchyPerspective">
-         </perspective>
-         <perspective
-               id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         </perspective>
-         <perspective
-               id="org.eclipse.debug.ui.DebugPerspective">
-         </perspective>
-      </shortcut>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.core.classpathVariableInitializer">
-      <classpathVariableInitializer
-            variable="JUNIT_HOME"
-            class="org.eclipse.jdt.internal.junit.ui.JUnitHomeInitializer">
-      </classpathVariableInitializer>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.ui.quickFixProcessors">
-      <quickFixProcessor
-            name="%junitQuickFixProcessor"
-            class="org.eclipse.jdt.internal.junit.ui.JUnitQuickFixProcessor"
-            id="org.eclipse.jdt.junit.JUnitQuickFixProcessor">
-      </quickFixProcessor>
-   </extension>
-   <extension point="org.eclipse.core.expressions.propertyTesters">
-      <propertyTester
-      		namespace="org.eclipse.jdt.junit"
-            properties="isTest"
-            type="org.eclipse.jdt.core.IType"
-            class="org.eclipse.jdt.internal.junit.ui.JavaTypeExtender"
-            id="org.eclipse.jdt.junit.ITypeExtender">
-      </propertyTester>
-      <propertyTester
-      		namespace="org.eclipse.jdt.junit"
-            properties="isTest"
-            type="org.eclipse.core.resources.IResource"
-            class="org.eclipse.jdt.internal.junit.launcher.ResourceExtender"
-            id="org.eclipse.jdt.junit.IResourceExtender">
-      </propertyTester>
-   </extension>
-   <extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
-      <renameParticipant
-			id="org.eclipse.jdt.junit.renameTypeParticipant"
-			name="%RenameTypeParticipant.name" 
-			class="org.eclipse.jdt.internal.junit.ui.TypeRenameParticipant">
-         <enablement>
-           <with variable="affectedNatures">
-             <iterate>
-               <equals value="org.eclipse.jdt.core.javanature"/>
-             </iterate>
-           </with>
-           <with variable="element">
-             <instanceof value="org.eclipse.jdt.core.IType"/>
-             <test property="org.eclipse.jdt.junit.isTest"/>
-           </with>
-         </enablement>
-      </renameParticipant>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.jdt.junit/schema/testRunListeners.exsd b/org.eclipse.jdt.junit/schema/testRunListeners.exsd
deleted file mode 100644
index 46d5661..0000000
--- a/org.eclipse.jdt.junit/schema/testRunListeners.exsd
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jdt.junit">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jdt.junit" id="testRunListeners" name="Test Run Listeners"/>
-      </appInfo>
-      <documentation>
-         Extension point to register additional test run listeners. A test run listeners is notified about the execution of a test run.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <documentation>
-            a fully qualified identifier of the target extension point
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="testRunListener"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="testRunListener">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Test run class implementing org.eclipse.jdt.junit.ITestRunListener
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.junit.ITestRunListener"/>
-               </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 test run listener contribution:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jdt.junit.testRunListeners&quot;&gt;
-  &lt;testRunListener class=&quot;com.example.SampleTestRunListener&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Test run listeners must must implement the org.eclipse.jdt.junit.ITestRunListener interface.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.jdt.junit/scripts/exportplugin.xml b/org.eclipse.jdt.junit/scripts/exportplugin.xml
deleted file mode 100644
index 87c542a..0000000
--- a/org.eclipse.jdt.junit/scripts/exportplugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<!-- build script to create JUnit Plugin -->
-<project name="org.eclipse.jdt.junit" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.jdt.junit" />
-		<property name="version"  value="_3.0.0" />
-		<property name="dest"  value="${destdir}/${plugin}${version}" />
-	</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}/junitsupport.jar"
-			basedir="bin"
-		/>
-				
-		<jar 		
-			jarfile="${dest}/junitsupportsrc.jar"
-			basedir="src"
-		/>
-		
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file="about.html" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>		
-	</target>
-</project>
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/ContainerComparator.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/ContainerComparator.java
deleted file mode 100644
index 477362d..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/ContainerComparator.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.junit.launcher;
-
-import java.util.Comparator;
-
-public class ContainerComparator implements Comparator {
-
-    public int compare(Object o1, Object o2) {
-		String container1= (String)o1;
-		String container2= (String)o2;
-		if (container1 == null)
-			container1= ""; //$NON-NLS-1$
-		if (container2 == null)
-			container2= ""; //$NON-NLS-1$
-		return container1.compareTo(container2);
-    }
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitBaseLaunchConfiguration.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitBaseLaunchConfiguration.java
deleted file mode 100644
index ed04fd8..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitBaseLaunchConfiguration.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.launcher;
-
- 
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-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.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-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.internal.junit.ui.JUnitMessages;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-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.SocketUtil;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-
-/**
- * Abstract launch configuration delegate for a JUnit test.
- */
-public abstract class JUnitBaseLaunchConfiguration extends AbstractJavaLaunchConfigurationDelegate {
-
-	public static final String PORT_ATTR= JUnitPlugin.PLUGIN_ID+".PORT"; //$NON-NLS-1$
-	public static final String TESTTYPE_ATTR= JUnitPlugin.PLUGIN_ID+".TESTTYPE"; //$NON-NLS-1$
-	public static final String TESTNAME_ATTR= JUnitPlugin.PLUGIN_ID+".TESTNAME"; //$NON-NLS-1$
-	public static final String ATTR_KEEPRUNNING = JUnitPlugin.PLUGIN_ID+ ".KEEPRUNNING_ATTR"; //$NON-NLS-1$
-	public static final String LAUNCH_CONTAINER_ATTR= JUnitPlugin.PLUGIN_ID+".CONTAINER"; //$NON-NLS-1$
-
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor pm) throws CoreException {		
-		IJavaProject javaProject= getJavaProject(configuration);
-		if ((javaProject == null) || !javaProject.exists()) {
-			abort(JUnitMessages.getString("JUnitBaseLaunchConfiguration.error.invalidproject"), null, IJavaLaunchConfigurationConstants.ERR_NOT_A_JAVA_PROJECT); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		IType[] testTypes = getTestTypes(configuration, javaProject, pm);
-		if (testTypes.length == 0) {
-			abort(JUnitMessages.getString("JUnitBaseLaunchConfiguration.error.notests"), null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE); //$NON-NLS-1$
-		}
-		IVMInstall install= getVMInstall(configuration);
-		IVMRunner runner = install.getVMRunner(mode);
-		if (runner == null) {
-			abort(MessageFormat.format(JUnitMessages.getString("JUnitBaseLaunchConfiguration.error.novmrunner"), new String[]{install.getId()}), null, IJavaLaunchConfigurationConstants.ERR_VM_RUNNER_DOES_NOT_EXIST); //$NON-NLS-1$
-		}
-		
-		int port= SocketUtil.findFreePort();
-		VMRunnerConfiguration runConfig= launchTypes(configuration, mode, testTypes, port);
-		setDefaultSourceLocator(launch, configuration);
-		
-		launch.setAttribute(PORT_ATTR, Integer.toString(port));
-		launch.setAttribute(TESTTYPE_ATTR, testTypes[0].getHandleIdentifier());
-		runner.run(runConfig, launch, pm);		
-	}
-
-	protected VMRunnerConfiguration launchTypes(ILaunchConfiguration configuration,
-					String mode, IType[] tests, int port) throws CoreException {
-		File workingDir = verifyWorkingDirectory(configuration);
-		String workingDirName = null;
-		if (workingDir != null) 
-			workingDirName = workingDir.getAbsolutePath();
-		
-		// Program & VM args
-		String vmArgs= getVMArguments(configuration);
-		ExecutionArguments execArgs = new ExecutionArguments(vmArgs, ""); //$NON-NLS-1$
-				
-		VMRunnerConfiguration runConfig= createVMRunner(configuration, tests, port, mode);
-		runConfig.setVMArguments(execArgs.getVMArgumentsArray());
-		runConfig.setWorkingDirectory(workingDirName);
-
-		Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-		runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
-		String[] bootpath = getBootpath(configuration);
-		runConfig.setBootClassPath(bootpath);
-		
-		return runConfig;
-	}
-
-	public IType[] getTestTypes(ILaunchConfiguration configuration, IJavaProject javaProject, IProgressMonitor pm) throws CoreException {
-		String testTypeName = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)null);
-		if (pm == null)
-			pm= new NullProgressMonitor();
-		
-		String containerHandle = configuration.getAttribute(LAUNCH_CONTAINER_ATTR, ""); //$NON-NLS-1$
-		if (containerHandle.length() == 0) {
-			return findSingleTest(javaProject, testTypeName);
-		}
-		else 
-			return findTestsInContainer(javaProject, containerHandle, pm);
-	}
-	/**
-	 * @inheritdoc 
-	 * @param javaProject
-	 * @param containerHandle
-	 * @param pm
-	 * @return
-	 */
-	private IType[] findTestsInContainer(IJavaProject javaProject, String containerHandle, IProgressMonitor pm) {
-		IJavaElement container= JavaCore.create(containerHandle);
-		Set result= new HashSet();
-		try {
-			TestSearchEngine.doFindTests(new Object[]{container}, result, pm);
-		} catch (InterruptedException e) {
-		}
-		return (IType[]) result.toArray(new IType[result.size()]) ;
-	}
-
-
-	public IType[] findSingleTest(IJavaProject javaProject, String testName) throws CoreException {
-		IType type = null;
-		try {
-			type = findType(javaProject, testName);
-		} catch (JavaModelException jme) {
-			abort("Test type does not exist", null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE); //$NON-NLS-1$
-		}
-		if (type == null) {
-			abort("Test type does not exist", null, IJavaLaunchConfigurationConstants.ERR_UNSPECIFIED_MAIN_TYPE); //$NON-NLS-1$
-		}
-		return new IType[]{type};
-	}
-	
-	/**
-	 * 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 void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, JUnitPlugin.PLUGIN_ID, code, message, exception));
-	}
-	
-	/**
-	 * Find the specified (fully-qualified) type name in the specified java project.
-	 */
-	private IType findType(IJavaProject javaProject, String mainTypeName) throws JavaModelException {
-		return javaProject.findType(mainTypeName);
-	}
-	
-	/**
-	 * Override to create a custom VMRunnerConfiguration for a launch configuration.
-	 */
-	protected abstract VMRunnerConfiguration createVMRunner(ILaunchConfiguration configuration, IType[] testTypes, int port, String runMode) throws CoreException;
-
-	protected boolean keepAlive(ILaunchConfiguration config) {
-		try {
-			return config.getAttribute(ATTR_KEEPRUNNING, false);
-		} catch(CoreException e) {
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchConfiguration.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchConfiguration.java
deleted file mode 100644
index 66d22e0..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchConfiguration.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.junit.launcher;
-
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.launching.ExecutionArguments;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.eclipse.jface.util.Assert;
-
-/**
- * Launch configuration delegate for a plain JUnit test.
- */
-public class JUnitLaunchConfiguration extends JUnitBaseLaunchConfiguration  {
-
-	public static final String ID_JUNIT_APPLICATION= "org.eclipse.jdt.junit.launchconfig"; //$NON-NLS-1$
-	/**
-	 * Add a VMRunner with a class path that includes org.eclipse.jdt.junit plugin.
-	 * In addition it adds the port for the RemoteTestRunner as an argument
-	 */
-	protected VMRunnerConfiguration createVMRunner(ILaunchConfiguration configuration, IType[] testTypes, int port, String runMode) throws CoreException {
-		String[] classPath= createClassPath(configuration);	
-		String progArgs= getProgramArguments(configuration);
-		VMRunnerConfiguration vmConfig= new VMRunnerConfiguration("org.eclipse.jdt.internal.junit.runner.RemoteTestRunner", classPath); //$NON-NLS-1$
-		String testName= configuration.getAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, ""); //$NON-NLS-1$
-		
-		// insert the program arguments
-		Vector argv= new Vector(10);
-		ExecutionArguments execArgs = new ExecutionArguments("", progArgs); //$NON-NLS-1$
-		String[] pa= execArgs.getProgramArgumentsArray();
-		for (int i= 0; i < pa.length; i++) {
-			argv.add(pa[i]);
-		}
-	
-		argv.add("-version"); //$NON-NLS-1$
-		argv.add("3"); //$NON-NLS-1$
-		
-		argv.add("-port"); //$NON-NLS-1$
-		argv.add(Integer.toString(port));
-		//argv("-debugging");
-				
-		if (keepAlive(configuration) && runMode.equals(ILaunchManager.DEBUG_MODE))
-			argv.add(0, "-keepalive"); //$NON-NLS-1$
-		
-		// a testname was specified just run the single test
-		if (testName.length() > 0) {
-			argv.add("-test"); //$NON-NLS-1$
-			argv.add(testTypes[0].getFullyQualifiedName()+":"+testName);			 //$NON-NLS-1$
-		} else if (testTypes.length > 1) {
-			String fileName= createTestNamesFile(testTypes);
-			argv.add("-testNameFile"); //$NON-NLS-1$
-			argv.add(fileName);
-		} else {
-			argv.add("-classNames"); //$NON-NLS-1$
-			for (int i= 0; i < testTypes.length; i++) 
-				argv.add(testTypes[i].getFullyQualifiedName());
-		}
-		String[] args= new String[argv.size()];
-		argv.copyInto(args);
-		vmConfig.setProgramArguments(args);
-		return vmConfig;
-	}
-
-	private String createTestNamesFile(IType[] testTypes) throws CoreException {
-		try {
-			File file= File.createTempFile("testNames", ".txt"); //$NON-NLS-1$ //$NON-NLS-2$
-			file.deleteOnExit();
-			BufferedWriter bw= null;
-			try {
-				bw= new BufferedWriter(new FileWriter(file));
-				for (int i= 0; i < testTypes.length; i++) {
-					String testName= testTypes[i].getFullyQualifiedName();
-					bw.write(testName);
-					bw.newLine();
-				}
-			} finally {
-				if (bw != null) {
-					bw.close();
-				}
-			}
-			return file.getAbsolutePath();
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, JUnitPlugin.PLUGIN_ID, IStatus.ERROR, "", e)); //$NON-NLS-1$
-		}
-	}
-	
-	private String[] createClassPath(ILaunchConfiguration configuration) throws CoreException {
-		IPluginRegistry registry= Platform.getPluginRegistry();
-		IPluginDescriptor descriptor= registry.getPluginDescriptor("org.eclipse.jdt.junit.runtime"); //$NON-NLS-1$
-		URL runtimeURL= descriptor.getInstallURL();
-		
-		URL url= JUnitPlugin.getDefault().getDescriptor().getInstallURL();
-		
-		String[] cp= getClasspath(configuration);
-		String[] classPath= null;
-		
-		try {
-			if (BootLoader.inDevelopmentMode()) {
-				// we first try the bin output folder
-				List junitEntries= new ArrayList();
-				
-				try {
-					junitEntries.add(Platform.asLocalURL(new URL(url, "bin")).getFile()); //$NON-NLS-1$
-				} catch (IOException e3) {
-					try {
-						junitEntries.add(Platform.asLocalURL(new URL(url, "junitsupport.jar")).getFile()); //$NON-NLS-1$
-					} catch (IOException e4) {
-						// fall through
-					}
-				}
-				try {
-					junitEntries.add(Platform.asLocalURL(new URL(runtimeURL, "bin")).getFile()); //$NON-NLS-1$
-				} catch (IOException e1) {
-					try {
-						junitEntries.add(Platform.asLocalURL(new URL(runtimeURL, "junitruntime.jar")).getFile()); //$NON-NLS-1$
-					} catch (IOException e4) {
-						// fall through
-					}
-				}
-				Assert.isTrue(junitEntries.size() == 2, "Required JARs available"); //$NON-NLS-1$
-				
-				classPath= new String[cp.length + junitEntries.size()];
-				Object[] jea= junitEntries.toArray();
-				System.arraycopy(cp, 0, classPath, 0, cp.length);
-				System.arraycopy(jea, 0, classPath, cp.length, jea.length);
-			} else {
-				classPath= new String[cp.length + 2];
-				System.arraycopy(cp, 0, classPath, 2, cp.length);
-				classPath[0]= Platform.asLocalURL(new URL(url, "junitsupport.jar")).getFile(); //$NON-NLS-1$
-				classPath[1]= Platform.asLocalURL(new URL(runtimeURL, "junitruntime.jar")).getFile(); //$NON-NLS-1$
-			}
-		} catch (IOException e) {
-			JUnitPlugin.log(e); // TODO abort run and inform user
-		}
-		return classPath;
-	}		
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchConfigurationTab.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchConfigurationTab.java
deleted file mode 100644
index ded4098..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchConfigurationTab.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.junit.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.internal.ui.util.SWTUtil;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-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 JUnitLaunchConfigurationTab extends AbstractLaunchConfigurationTab {
-		
-	/**
-	 * 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);
-	}
-
-	protected void setButtonGridData(Button button) {
-		GridData gridData= new GridData();
-		button.setLayoutData(gridData);
-		SWTUtil.setButtonDimensionHint(button);
-	}
-	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchShortcut.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchShortcut.java
deleted file mode 100644
index 27c6e81..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitLaunchShortcut.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.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.ILaunchShortcut;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.debug.ui.JavaUISourceLocator;
-import org.eclipse.jdt.internal.junit.ui.JUnitMessages;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-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.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-public class JUnitLaunchShortcut implements ILaunchShortcut {
-	
-	/**
-	 * @see ILaunchShortcut#launch(IEditorPart, String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		IJavaElement element= null;
-		IEditorInput input = editor.getEditorInput();
-		element = (IJavaElement) input.getAdapter(IJavaElement.class);
-
-		if (element != null) {
-			searchAndLaunch(new Object[] {element}, mode);
-		} 
-	}
-	
-	/**
-	 * @see ILaunchShortcut#launch(ISelection, String)
-	 */
-	public void launch(ISelection selection, String mode) {
-		if (selection instanceof IStructuredSelection) {
-			searchAndLaunch(((IStructuredSelection)selection).toArray(), mode);
-		} 
-	}
-
-	protected void searchAndLaunch(Object[] search, String mode) {
-		if (search != null) {
-			if (search.length == 0) {
-				MessageDialog.openInformation(getShell(), JUnitMessages.getString("LaunchTestAction.dialog.title"), JUnitMessages.getString("LaunchTestAction.message.notests")); //$NON-NLS-1$ //$NON-NLS-2$
-				return;
-			}	
-			if (search[0] instanceof IJavaElement) {
-				IJavaElement element= (IJavaElement)search[0];
-				if (element.getElementType() < IJavaElement.COMPILATION_UNIT) {
-					launchContainer(element, mode);
-					return;
-				}
-				if (element.getElementType() == IJavaElement.METHOD) {
-					launchMethod((IMethod)element, mode);
-					return;
-				}
-			}
-			// launch a CU or type
-			launchType(search, mode);
-		}
-	}
-	
-	protected void launchType(Object[] search, String mode) {
-		IType[] types= null;
-		try {
-			types= TestSearchEngine.findTests(new ProgressMonitorDialog(getShell()), search);
-		} catch (InterruptedException e) {
-			JUnitPlugin.log(e);
-			return;
-		} catch (InvocationTargetException e) {
-			JUnitPlugin.log(e);
-			return;
-		}
-		IType type= null;
-		if (types.length == 0) {
-			MessageDialog.openInformation(getShell(), JUnitMessages.getString("LaunchTestAction.dialog.title"), JUnitMessages.getString("LaunchTestAction.message.notests")); //$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);
-		}
-	}
-
-	private void launchContainer(IJavaElement container, String mode) {
-		String handleIdentifier= container.getHandleIdentifier();
-		ILaunchConfiguration config = findLaunchConfiguration(
-			mode, 
-			container, 
-			handleIdentifier, 
-			"",  //$NON-NLS-1$
-			"" //$NON-NLS-1$
-		);
-		if (config == null) {
-			config = createConfiguration(
-				container.getJavaProject(),
-				container.getElementName(),
-				"", //$NON-NLS-1$
-				handleIdentifier,
-				"" //$NON-NLS-1$
-			);
-		}
-		launchConfiguration(mode, config);
-	}
-	
-	private void launch(IType type, String mode) {
-		String fullyQualifiedName= type.getFullyQualifiedName();
-		ILaunchConfiguration config = findLaunchConfiguration(
-			mode, 
-			type, 
-			"",  //$NON-NLS-1$
-			fullyQualifiedName, 
-			"" //$NON-NLS-1$
-		);
-		if (config == null) {
-			config= createConfiguration(
-				type.getJavaProject(),
-				type.getElementName(),
-				fullyQualifiedName,
-				"", //$NON-NLS-1$
-				"" //$NON-NLS-1$
-			);
-		}
-		launchConfiguration(mode, config);
-	}
-
-	private void launchMethod(IMethod method, String mode) {
-		IType declaringType= method.getDeclaringType();
-		String fullyQualifiedName= declaringType.getFullyQualifiedName();
-		ILaunchConfiguration config = findLaunchConfiguration(
-			mode, 
-			method, 
-			"",  //$NON-NLS-1$
-			fullyQualifiedName, 
-			method.getElementName()
-		);
-
-		if (config == null) {
-			config= createConfiguration(
-				method.getJavaProject(),
-				declaringType.getElementName()+"."+method.getElementName(), //$NON-NLS-1$
-				fullyQualifiedName,
-				"", //$NON-NLS-1$
-				method.getElementName()
-			);
-		}
-		launchConfiguration(mode, config);
-	}
-
-
-	protected void launchConfiguration(String mode, ILaunchConfiguration config) {
-		if (config != null) {
-			DebugUITools.launch(config, 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(JavaElementLabelProvider.SHOW_POST_QUALIFIED));
-		dialog.setElements(types);
-		dialog.setTitle(JUnitMessages.getString("LaunchTestAction.dialog.title2")); //$NON-NLS-1$
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			dialog.setMessage(JUnitMessages.getString("LaunchTestAction.message.selectTestToRun"));  //$NON-NLS-1$
-		} else {
-			dialog.setMessage(JUnitMessages.getString("LaunchTestAction.message.selectTestToDebug")); //$NON-NLS-1$
-		}
-		dialog.setMultipleSelection(false);
-		if (dialog.open() == Window.OK) {
-			return (IType)dialog.getFirstResult();
-		}
-		return null;
-	}
-	
-	private ILaunchConfiguration findLaunchConfiguration(String mode, IJavaElement element, String container, String testClass, String testName) {
-		ILaunchConfigurationType configType= getJUnitLaunchConfigType();
-		List candidateConfigs= Collections.EMPTY_LIST;
-		try {
-			ILaunchConfiguration[] configs= getLaunchManager().getLaunchConfigurations(configType);
-			candidateConfigs= new ArrayList(configs.length);
-			for (int i= 0; i < configs.length; i++) {
-				ILaunchConfiguration config= configs[i];
-				if ((config.getAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, "").equals(container)) && //$NON-NLS-1$
-					(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "").equals(testClass)) && //$NON-NLS-1$
-					(config.getAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR,"").equals(testName)) &&   //$NON-NLS-1$
-					(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "").equals(element.getJavaProject().getElementName()))) {  //$NON-NLS-1$
-						candidateConfigs.add(config);
-				}
-			}
-		} catch (CoreException e) {
-			JUnitPlugin.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 null;
-		} 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(JUnitMessages.getString("LaunchTestAction.message.selectConfiguration")); //$NON-NLS-1$
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			dialog.setMessage(JUnitMessages.getString("LaunchTestAction.message.selectDebugConfiguration")); //$NON-NLS-1$
-		} else {
-			dialog.setMessage(JUnitMessages.getString("LaunchTestAction.message.selectRunConfiguration")); //$NON-NLS-1$
-		}
-		dialog.setMultipleSelection(false);
-		int result= dialog.open();
-		labelProvider.dispose();
-		if (result == ElementListSelectionDialog.OK) {
-			return (ILaunchConfiguration)dialog.getFirstResult();
-		}
-		return null;		
-	}
-	
-
-	protected ILaunchConfiguration createConfiguration(
-			IJavaProject project, String name, String mainType, 
-			String container, String testName) {
-				
-		ILaunchConfiguration config= null;
-		try {
-			ILaunchConfigurationType configType= getJUnitLaunchConfigType();
-			ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name)); 
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, mainType);
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, project.getElementName());
-			wc.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, JavaUISourceLocator.ID_PROMPTING_JAVA_SOURCE_LOCATOR);
-			wc.setAttribute(JUnitBaseLaunchConfiguration.ATTR_KEEPRUNNING, false);
-			wc.setAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, container);
-			if (testName.length() > 0)
-				wc.setAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, testName);	
-			config= wc.doSave();		
-		} catch (CoreException ce) {
-			JUnitPlugin.log(ce);
-		}
-		return config;
-	}
-	
-	/**
-	 * Returns the local java launch config type
-	 */
-	protected ILaunchConfigurationType getJUnitLaunchConfigType() {
-		ILaunchManager lm= DebugPlugin.getDefault().getLaunchManager();
-		return lm.getLaunchConfigurationType(JUnitLaunchConfiguration.ID_JUNIT_APPLICATION);		
-	}	
-	
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	/**
-	 * Convenience method to get the window that owns this action's Shell.
-	 */
-	protected Shell getShell() {
-		return JUnitPlugin.getActiveWorkbenchShell();
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitMainTab.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitMainTab.java
deleted file mode 100644
index 304d306..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitMainTab.java
+++ /dev/null
@@ -1,676 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids: sdavids@gmx.de bug: 26293, 27889 
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.launcher;
-
- 
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.SelectionDialog;
-
-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.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.ISourceReference;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.JavaElementSorter;
-import org.eclipse.jdt.ui.StandardJavaElementContentProvider;
-
-import org.eclipse.jdt.internal.junit.ui.JUnitMessages;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-import org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext;
-import org.eclipse.jdt.internal.ui.wizards.TypedElementSelectionValidator;
-import org.eclipse.jdt.internal.ui.wizards.TypedViewerFilter;
-
-/**
- * This tab appears in the LaunchConfigurationDialog for launch configurations that
- * require Java-specific launching information such as a main type and JRE.
- */
-public class JUnitMainTab extends JUnitLaunchConfigurationTab {
-	
-	// Project UI widgets
-	private Label fProjLabel;
-	private Text fProjText;
-	private Button fProjButton;
-	private Button fKeepRunning;
-	
-	// Test class UI widgets
-	private Text fTestText;
-	private Button fSearchButton;
-	private final Image fTestIcon= createImage("obj16/test.gif"); //$NON-NLS-1$
-	private Label fTestMethodLabel;
-	private Text fContainerText;
-	private IJavaElement fContainerElement;
-	private final ILabelProvider fJavaElementLabelProvider= new JavaElementLabelProvider();
-
-	private Button fContainerSearchButton;
-	private Button fTestContainerRadioButton;
-	private Button fTestRadioButton;
-	private Label fTestLabel; 
-	
-	/**
-	 * @see ILaunchConfigurationTab#createControl(TabItem)
-	 */
-	public void createControl(Composite parent) {		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns= 3;
-		comp.setLayout(topLayout);		
-		
-		Label label = new Label(comp, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 3;
-		label.setLayoutData(gd);
-		
-		createSingleTestSection(comp);
-		createTestContainerSelectionGroup(comp);
-		
-		label = new Label(comp, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		label.setLayoutData(gd);
-		
-		createKeepAliveGroup(comp);
-		Dialog.applyDialogFont(comp);
-		validatePage();
-	}
-	
-	protected void createSingleTestSection(Composite comp) {
-		fTestRadioButton= new Button(comp, SWT.RADIO);
-		fTestRadioButton.setText(JUnitMessages.getString("JUnitMainTab.label.oneTest")); //$NON-NLS-1$
-		GridData gd = new GridData();
-		gd.horizontalSpan = 3;
-		fTestRadioButton.setLayoutData(gd); 
-		fTestRadioButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (fTestRadioButton.getSelection())
-					testModeChanged();
-			}
-		});
-		
-		fProjLabel = new Label(comp, SWT.NONE);
-		fProjLabel.setText(JUnitMessages.getString("JUnitMainTab.label.project")); //$NON-NLS-1$
-		gd= new GridData();
-		gd.horizontalIndent = 25;
-		fProjLabel.setLayoutData(gd);
-		
-		fProjText= new Text(comp, SWT.SINGLE | SWT.BORDER);
-		fProjText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fProjText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				validatePage();
-				updateLaunchConfigurationDialog();				
-				fSearchButton.setEnabled(fTestRadioButton.getSelection() && fProjText.getText().length() > 0);
-			}
-		});
-			
-		fProjButton = new Button(comp, SWT.PUSH);
-		fProjButton.setText(JUnitMessages.getString("JUnitMainTab.label.browse")); //$NON-NLS-1$
-		fProjButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleProjectButtonSelected();
-			}
-		});
-		setButtonGridData(fProjButton);
-		
-		fTestLabel = new Label(comp, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalIndent = 25;
-		fTestLabel.setLayoutData(gd);
-		fTestLabel.setText(JUnitMessages.getString("JUnitMainTab.label.test")); //$NON-NLS-1$
-		
-	
-		fTestText = new Text(comp, SWT.SINGLE | SWT.BORDER);
-		fTestText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fTestText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				validatePage();
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fSearchButton = new Button(comp, SWT.PUSH);
-		fSearchButton.setEnabled(fProjText.getText().length() > 0);		
-		fSearchButton.setText(JUnitMessages.getString("JUnitMainTab.label.search")); //$NON-NLS-1$
-		fSearchButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleSearchButtonSelected();
-			}
-		});
-		setButtonGridData(fSearchButton);
-		
-		new Label(comp, SWT.NONE);
-		
-		fTestMethodLabel= new Label(comp, SWT.NONE);
-		fTestMethodLabel.setText("");  //$NON-NLS-1$
-		gd= new GridData();
-		gd.horizontalSpan = 2;
-		fTestMethodLabel.setLayoutData(gd);
-		
-	}
-
-	protected void createTestContainerSelectionGroup(Composite comp) {
-		fTestContainerRadioButton= new Button(comp, SWT.RADIO);
-		fTestContainerRadioButton.setText(JUnitMessages.getString("JUnitMainTab.label.containerTest")); //$NON-NLS-1$
-		GridData gd = new GridData();
-		gd.horizontalSpan = 3;
-		fTestContainerRadioButton.setLayoutData(gd);
-		fTestContainerRadioButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				if (fTestContainerRadioButton.getSelection())
-					testModeChanged();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		
-		fContainerText = new Text(comp, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalIndent= 25;
-		gd.horizontalSpan = 2;
-		fContainerText.setLayoutData(gd);
-		fContainerText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fContainerSearchButton = new Button(comp, SWT.PUSH);
-		fContainerSearchButton.setText(JUnitMessages.getString("JUnitMainTab.label.search")); //$NON-NLS-1$
-		fContainerSearchButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleContainerSearchButtonSelected();
-			}
-		});
-		setButtonGridData(fContainerSearchButton);	
-	}
-
-	private void handleContainerSearchButtonSelected() {
-		IJavaElement javaElement= chooseContainer(fContainerElement);
-		if (javaElement != null) {
-			fContainerElement= javaElement;
-			fContainerText.setText(getPresentationName(javaElement));
-			validatePage();
-			updateLaunchConfigurationDialog();
-		}
-	}
-
-	public void createKeepAliveGroup(Composite comp) {
-		GridData gd;
-		fKeepRunning = new Button(comp, SWT.CHECK);
-		fKeepRunning.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}
-		});
-		fKeepRunning.setText(JUnitMessages.getString("JUnitMainTab.label.keeprunning")); //$NON-NLS-1$
-		gd= new GridData();
-		gd.horizontalAlignment= GridData.FILL;
-		gd.horizontalSpan= 2;
-		fKeepRunning.setLayoutData(gd);
-	}
-
-
-	
-	protected static Image createImage(String path) {
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(JUnitPlugin.makeIconFileURL(path));
-			return id.createImage();
-		} catch (MalformedURLException e) {
-			// fall through
-		}  
-		return null;
-	}
-
-
-	/**
-	 * @see ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration config) {
-		updateProjectFromConfig(config);
-		String containerHandle= ""; //$NON-NLS-1$
-		try {
-			containerHandle = config.getAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {			
-		}
-		
-		if (containerHandle.length() > 0)
-			updateTestContainerFromConfig(config);
-		else
-			updateTestTypeFromConfig(config);
-		updateKeepRunning(config);
-	}
-
-	private void updateKeepRunning(ILaunchConfiguration config) {
-		boolean running= false;
-		try {
-			running= config.getAttribute(JUnitBaseLaunchConfiguration.ATTR_KEEPRUNNING, false);
-		} catch (CoreException ce) {
-		}
-		fKeepRunning.setSelection(running);	 	
-	}
-	
-	protected void updateProjectFromConfig(ILaunchConfiguration config) {
-		String projectName= ""; //$NON-NLS-1$
-		try {
-			projectName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-		}
-		fProjText.setText(projectName);
-	}
-	
-	protected void updateTestTypeFromConfig(ILaunchConfiguration config) {
-		String testTypeName= ""; //$NON-NLS-1$
-		String testMethodName= ""; //$NON-NLS-1$
-		try {
-			testTypeName = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, ""); //$NON-NLS-1$
-			testMethodName = config.getAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {			
-		}
-		fTestRadioButton.setSelection(true);
-		setEnableSingleTestGroup(true);
-		setEnableContainerTestGroup(false);		
-		fTestContainerRadioButton.setSelection(false);
-		fTestText.setText(testTypeName);
-		fContainerText.setText(""); //$NON-NLS-1$
-		if (!"".equals(testMethodName)) { //$NON-NLS-1$
-			fTestMethodLabel.setText(JUnitMessages.getString("JUnitMainTab.label.method")+testMethodName); //$NON-NLS-1$
-		} else {
-			fTestMethodLabel.setText(""); //$NON-NLS-1$
-		}
-		
-	}
-
-	protected void updateTestContainerFromConfig(ILaunchConfiguration config) {
-		String containerHandle= ""; //$NON-NLS-1$
-		try {
-			containerHandle = config.getAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, ""); //$NON-NLS-1$
-			if (containerHandle.length() > 0) {
-				fContainerElement= JavaCore.create(containerHandle);
-			}
-		} catch (CoreException ce) {			
-		}
-		fTestContainerRadioButton.setSelection(true);
-		setEnableSingleTestGroup(false);
-		setEnableContainerTestGroup(true);				
-		fTestRadioButton.setSelection(false);
-		if (fContainerElement != null)
-			fContainerText.setText(getPresentationName(fContainerElement));
-		fTestText.setText(""); //$NON-NLS-1$
-	}
-	/**
-	 * @see ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, fProjText.getText());
-		if (fTestContainerRadioButton.getSelection() && fContainerElement != null) {
-			config.setAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, fContainerElement.getHandleIdentifier());
-			//bug 26293
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, ""); //$NON-NLS-1$
-		} else {
-			config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, fTestText.getText());
-			//bug 26293
-			config.setAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, ""); //$NON-NLS-1$			
-		}
-		config.setAttribute(JUnitBaseLaunchConfiguration.ATTR_KEEPRUNNING, fKeepRunning.getSelection());
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		fTestIcon.dispose();
-		fJavaElementLabelProvider.dispose();
-	}
-
-	/**
-	 * @see AbstractLaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return fTestIcon;
-	}
-
-	/**
-	 * Show a dialog that lists all main types
-	 */
-	protected void handleSearchButtonSelected() {
-		Shell shell = getShell();
-		
-		IJavaProject javaProject = getJavaProject();
-		SelectionDialog dialog = new TestSelectionDialog(shell, new ProgressMonitorDialog(shell), javaProject);
-		dialog.setTitle(JUnitMessages.getString("JUnitMainTab.testdialog.title")); //$NON-NLS-1$
-		dialog.setMessage(JUnitMessages.getString("JUnitMainTab.testdialog.message")); //$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) {
-			fTestText.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) {
-			JUnitPlugin.log(e.getStatus());
-			projects= new IJavaProject[0];
-		}
-		
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setTitle(JUnitMessages.getString("JUnitMainTab.projectdialog.title")); //$NON-NLS-1$
-		dialog.setMessage(JUnitMessages.getString("JUnitMainTab.projectdialog.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.
-	 */
-	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 ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {		
-		return getErrorMessage() == null;
-	}
-	
-	private void testModeChanged() {
-		boolean isSingleTestMode= fTestRadioButton.getSelection();
-		setEnableSingleTestGroup(isSingleTestMode);
-		setEnableContainerTestGroup(!isSingleTestMode);
-		validatePage();
-		updateLaunchConfigurationDialog();
-	}
-
-	private void validatePage() {
-		setErrorMessage(null);
-		setMessage(null);
-		
-		if (fTestContainerRadioButton.getSelection()) {
-			if (fContainerElement == null)
-				setErrorMessage(JUnitMessages.getString("JUnitMainTab.error.noContainer")); //$NON-NLS-1$
-			return;
-		} 
-		
-		String projectName = fProjText.getText().trim();
-		if (projectName.length() == 0) {
-			setErrorMessage(JUnitMessages.getString("JUnitMainTab.error.projectnotdefined")); //$NON-NLS-1$
-			return;
-		}
-			
-		IProject project = getWorkspaceRoot().getProject(projectName);
-		if (!project.exists()) {
-			setErrorMessage(JUnitMessages.getString("JUnitMainTab.error.projectnotexists")); //$NON-NLS-1$
-			return;
-		}
-		
-		try {
-			if (!project.hasNature(JavaCore.NATURE_ID)) {
-				setErrorMessage(JUnitMessages.getString("JUnitMainTab.error.notJavaProject")); //$NON-NLS-1$
-				return;
-			}
-			IJavaProject jProject = getJavaProject();
-			String className = fTestText.getText().trim();
-			if (className.length() == 0) {
-				setErrorMessage(JUnitMessages.getString("JUnitMainTab.error.testnotdefined")); //$NON-NLS-1$
-				return;
-			}
-			IType type = jProject.findType(className);
-			if (type == null)
-				setErrorMessage(JUnitMessages.getString("JUnitMainTab.error.testnotexists")); //$NON-NLS-1$
-			else if (!TestSearchEngine.isTestOrTestSuite(type))
-				setErrorMessage(JUnitMessages.getString("JUnitMainTab.error.invalidTest")); //$NON-NLS-1$
-		} catch (Exception e) {
-		}
-	}
-
-	private void setEnableContainerTestGroup(boolean enabled) {
-		fContainerSearchButton.setEnabled(enabled);
-		fContainerText.setEnabled(enabled);
-	}
-
-	private void setEnableSingleTestGroup(boolean enabled) {
-		fProjLabel.setEnabled(enabled);
-		fProjText.setEnabled(enabled);
-		fProjButton.setEnabled(enabled);
-		fTestLabel.setEnabled(enabled);
-		fTestText.setEnabled(enabled);
-		fSearchButton.setEnabled(enabled && fProjText.getText().length() > 0);
-		fTestMethodLabel.setEnabled(enabled);
-	}
-
-	/**
-	 * @see 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$
-			config.setAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, ""); //$NON-NLS-1$
-		}
-		initializeTestAttributes(javaElement, config);
-	}
-
-	private void initializeTestAttributes(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		if (javaElement != null && javaElement.getElementType() < IJavaElement.COMPILATION_UNIT) 
-			initializeTestContainer(javaElement, config);
-		else
-			initializeTestType(javaElement, config);
-	}
-
-	private void initializeTestContainer(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(JUnitBaseLaunchConfiguration.LAUNCH_CONTAINER_ATTR, javaElement.getHandleIdentifier());
-		initializeName(config, javaElement.getElementName());
-	}
-
-	private void initializeName(ILaunchConfigurationWorkingCopy config, String name) {
-		if (name == null) {
-			name= ""; //$NON-NLS-1$
-		}
-		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 main type & name attributes on the working copy based on the IJavaElement
-	 */
-	protected void initializeTestType(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) {
-		String name= ""; //$NON-NLS-1$
-		try {
-			// we only do a search for compilation units or class files or 
-			// or source references
-			if ((javaElement instanceof ICompilationUnit) || 
-				(javaElement instanceof ISourceReference) ||
-				(javaElement instanceof IClassFile)) {
-		
-				IType[] types = TestSearchEngine.findTests(new BusyIndicatorRunnableContext(), new Object[] {javaElement});
-				if ((types == null) || (types.length < 1)) {
-					return;
-				}
-				// 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);
-		initializeName(config, name);
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return JUnitMessages.getString("JUnitMainTab.tab.label"); //$NON-NLS-1$
-	}
-	
-	private IJavaElement chooseContainer(IJavaElement initElement) {
-		Class[] acceptedClasses= new Class[] { IPackageFragmentRoot.class, IJavaProject.class, IPackageFragment.class };
-		TypedElementSelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, false) {
-			public boolean isSelectedValid(Object element) {
-				return true;
-			}
-		};
-		
-		acceptedClasses= new Class[] { IJavaModel.class, IPackageFragmentRoot.class, IJavaProject.class, IPackageFragment.class };
-		ViewerFilter filter= new TypedViewerFilter(acceptedClasses) {
-			public boolean select(Viewer viewer, Object parent, Object element) {
-				return super.select(viewer, parent, element);
-			}
-		};		
-
-		StandardJavaElementContentProvider provider= new StandardJavaElementContentProvider();
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT); 
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), labelProvider, provider);
-		dialog.setValidator(validator);
-		dialog.setSorter(new JavaElementSorter());
-		dialog.setTitle(JUnitMessages.getString("JUnitMainTab.folderdialog.title"));  //$NON-NLS-1$
-		dialog.setMessage(JUnitMessages.getString("JUnitMainTab.folderdialog.message"));  //$NON-NLS-1$
-		dialog.addFilter(filter);
-		dialog.setInput(JavaCore.create(getWorkspaceRoot()));
-		dialog.setInitialSelection(initElement);
-		dialog.setAllowMultiple(false);
-		
-		if (dialog.open() == ElementTreeSelectionDialog.OK) {
-			Object element= dialog.getFirstResult();
-			return (IJavaElement)element;
-		}
-		return null;
-	}
-	
-	private String getPresentationName(IJavaElement element) {
-		return fJavaElementLabelProvider.getText(element);
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitTabGroup.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitTabGroup.java
deleted file mode 100644
index db6c57c..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/JUnitTabGroup.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.junit.launcher;
-
- 
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
-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 JUnitTabGroup extends AbstractLaunchConfigurationTabGroup {
-	/**
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {		
-		ILaunchConfigurationTab[] tabs= new ILaunchConfigurationTab[] {
-			new JUnitMainTab(),
-			new JavaArgumentsTab(),
-			new JavaClasspathTab(),
-			new JavaJRETab(),
-			new JavaSourceLookupTab(),
-			new EnvironmentTab(),
-			new CommonTab()
-		};
-		setTabs(tabs);
-	}
-
-	/**
-	 * @see ILaunchConfigurationTabGroup#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		super.setDefaults(config); 
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/ResourceExtender.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/ResourceExtender.java
deleted file mode 100644
index eda7cdf..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/ResourceExtender.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jdt.internal.junit.launcher;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-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.corext.Assert;
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-
-/**
- * ResourceExtender provides propertyTester(s) for IResource types
- * for use in XML Expression Language syntax.
- */
-public class ResourceExtender extends PropertyTester {
-
-	private static final String PROPERTY_IS_TEST= "isTest";	 //$NON-NLS-1$
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.corext.refactoring.participants.properties.IPropertyEvaluator#test(java.lang.Object, java.lang.String, java.lang.String)
-	 */
-	public boolean test(Object receiver, String method, Object[] args, Object expectedValue) {
-		IResource resource= (IResource)receiver;
-		if (PROPERTY_IS_TEST.equals(method)) { //$NON-NLS-1$
-			return isJUnitTest(resource);
-		}
-		Assert.isTrue(false);
-		return false;
-	}
-	
-	/*
-	 * Return wether the target resource is a JUnit test.
-	 */
-	private boolean isJUnitTest(IResource target) {
-		if (target != null) {
-			IJavaElement element = JavaCore.create(target);
-			if (element instanceof ICompilationUnit) {
-				ICompilationUnit cu = (ICompilationUnit) element;
-				IType mainType= cu.getType(Signature.getQualifier(cu.getElementName()));
-				try {
-					return TestSearchEngine.isTestOrTestSuite(mainType);
-				} catch (JavaModelException e) {
-					return false;
-				}
-			} 
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/TestSelectionDialog.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/TestSelectionDialog.java
deleted file mode 100644
index ffe2700..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/launcher/TestSelectionDialog.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.launcher;
-
- 
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.TwoPaneElementSelector;
-
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.util.Assert;
-
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-
-/**
- * A dialog to select a test class or a test suite from a list of types.
- */
-public class TestSelectionDialog extends TwoPaneElementSelector {
-
-	private IRunnableContext fRunnableContext;
-	private IJavaProject fProject;
-	
-	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());
-		}
-	}
-	
-	/**
-	 * Constructor.
-	 */
-	public TestSelectionDialog(Shell shell, IRunnableContext context, IJavaProject project)
-	{
-		super(shell, new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_BASICS | JavaElementLabelProvider.SHOW_OVERLAY_ICONS), 
-			new PackageRenderer());
-
-		Assert.isNotNull(context);
-		Assert.isNotNull(project);
-
-		fRunnableContext= context;
-		fProject= project;
-	}
-	
-	/**
-	 * @see Windows#configureShell
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		//WorkbenchHelp.setHelp(newShell, new Object[] { IJavaHelpContextIds.MAINTYPE_SELECTION_DIALOG });
-	}
-
-	/*
-	 * @see Window#open()
-	 */
-	public int open() {
-		IType[] types= new IType[0];
-		try {
-			types= TestSearchEngine.findTests(fRunnableContext, new Object[] {fProject});
-		} catch (InterruptedException e) {
-			return CANCEL;
-		} catch (InvocationTargetException e) {
-			JUnitPlugin.log(e.getTargetException());
-			return CANCEL;
-		}
-		
-		setElements(types);
-		return super.open();
-	}
-	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CompareResultDialog.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CompareResultDialog.java
deleted file mode 100644
index 6f374a7..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CompareResultDialog.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.CompareViewerPane;
-import org.eclipse.compare.IEncodedStreamContentAccessor;
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.compare.contentmergeviewer.ITokenComparator;
-import org.eclipse.compare.contentmergeviewer.TextMergeViewer;
-import org.eclipse.compare.rangedifferencer.IRangeComparator;
-import org.eclipse.compare.structuremergeviewer.DiffNode;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.DialogSettings;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.text.presentation.IPresentationDamager;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.presentation.IPresentationRepairer;
-import org.eclipse.jface.text.presentation.PresentationReconciler;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public class CompareResultDialog extends Dialog {
-    private static class CompareResultMergeViewer extends TextMergeViewer {
-         private CompareResultMergeViewer(Composite parent, int style, CompareConfiguration configuration) {
-             super(parent, style, configuration);
-         }
-        protected ITokenComparator createTokenComparator(String s) {
-            return new CharacterComparator(s);
-        }
-        protected void configureTextViewer(TextViewer textViewer) {
-            if (textViewer instanceof SourceViewer) {
-                ((SourceViewer)textViewer).configure(new CompareResultViewerConfiguration());   
-            }
-        }
-    }
-    
-    public static class CompareResultViewerConfiguration extends SourceViewerConfiguration {
-        public class SimpleDamagerRepairer implements IPresentationDamager, IPresentationRepairer {
-            private IDocument fDocument;
-
-            public void setDocument(IDocument document) {
-                fDocument= document;
-            }
-
-            public IRegion getDamageRegion(ITypedRegion partition, DocumentEvent event, boolean changed) {
-                return new Region(0, fDocument.getLength());
-            }
-
-            public void createPresentation(TextPresentation presentation, ITypedRegion damage) {
-                int suffix= CompareResultDialog.fgThis.fSuffix;
-                int prefix= CompareResultDialog.fgThis.fPrefix;
-                TextAttribute attr= new TextAttribute(Display.getDefault().getSystemColor(SWT.COLOR_RED), null, SWT.BOLD);
-                presentation.addStyleRange(new StyleRange(prefix, fDocument.getLength()-suffix-prefix, attr.getForeground(), attr.getBackground(), attr.getStyle()));
-            }
-        }
-        
-        public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
-            PresentationReconciler reconciler= new PresentationReconciler();
-            SimpleDamagerRepairer dr= new SimpleDamagerRepairer();
-            reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
-            reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-            return reconciler;
-        }
-    }
-    
-    private static class CharacterComparator implements ITokenComparator {
-        private String fSource;
-        CharacterComparator(String source) {
-            fSource= source;
-        }
-        public int getTokenStart(int index) {
-            return index;
-        }
-        public int getTokenLength(int index) {
-            return 1;
-        }
-        public int getRangeCount() {
-            return fSource.length();
-        }
-        public boolean rangesEqual(int thisIndex, IRangeComparator other, int otherIndex) {
-            CharacterComparator occ= (CharacterComparator) other;
-            return fSource.charAt(thisIndex) == occ.fSource.charAt(otherIndex);
-        }
-        public boolean skipRangeComparison(int length, int maxLength, IRangeComparator other) {
-            return false;
-        }
-    }
-    
-	private static class CompareElement implements ITypedElement, IEncodedStreamContentAccessor {
-	    private String fContent;
-	    
-	    public CompareElement(String content) {
-	        fContent= content;
-	    }
-	    public String getName() {
-	        return "<no name>"; //$NON-NLS-1$
-	    }
-	    public Image getImage() {
-	        return null;
-	    }
-	    public String getType() {
-	        return "txt"; //$NON-NLS-1$
-	    }
-	    public InputStream getContents() {
-		    try {
-		        return new ByteArrayInputStream(fContent.getBytes("UTF-8")); //$NON-NLS-1$
-		    } catch (UnsupportedEncodingException e) {
-		        return new ByteArrayInputStream(fContent.getBytes());
-		    }
-	    }
-        public String getCharset() throws CoreException {
-            return "UTF-8"; //$NON-NLS-1$
-        }
-	}
-
-    private TextMergeViewer fViewer;
-    private String fExpected;
-    private String fActual;
-    private String fTestName;
-    
-    /* workaround - to make prefix and suffix accessible to the CompareResultViewerConfiguration */
-    private static CompareResultDialog fgThis;
-    
-    private int fPrefix;
-    private int fSuffix;
-    
-    // dialog store id constants
-    private final static String DIALOG_BOUNDS_KEY= "CompareResultDialogBounds"; //$NON-NLS-1$
-    private static final String X= "x"; //$NON-NLS-1$
-    private static final String Y= "y"; //$NON-NLS-1$
-    private static final String WIDTH= "width"; //$NON-NLS-1$
-    private static final String HEIGHT= "height"; //$NON-NLS-1$
-    private IDialogSettings fSettings;
-	protected Rectangle fNewBounds;
-	
-	public CompareResultDialog(Shell parentShell, TestRunInfo failure) {
-		super(parentShell);
-		fgThis= this;
-		setShellStyle(getShellStyle() | SWT.RESIZE | SWT.MAX);
-        fTestName= failure.getTestName();
-        fExpected= failure.getExpected();
-        fActual= failure.getActual();
-        computePrefixSuffix();
-        fSettings= JUnitPlugin.getDefault().getDialogSettings();
-	}
-	
-	protected Point getInitialSize() {
-		int width= 0;
-		int height= 0;
-		
-		final Shell s= getShell();
-		if (s != null) {
-			s.addControlListener(
-					new ControlListener() {
-						public void controlMoved(ControlEvent arg) {
-							fNewBounds= s.getBounds();
-						}
-						public void controlResized(ControlEvent arg) {
-							fNewBounds= s.getBounds();
-						}
-					}
-			);
-		}
-		IDialogSettings bounds= fSettings.getSection(DIALOG_BOUNDS_KEY); 
-		if (bounds == null) {
-			return super.getInitialSize();
-		}
-		else {
-			try {
-				width= bounds.getInt(WIDTH);
-			} catch (NumberFormatException e) {
-				width= 400;
-			}
-			try {
-				height= bounds.getInt(HEIGHT);
-			} catch (NumberFormatException e) {
-				height= 300;
-			}
-		}	
-		return new Point(width, height);	
-	}
-	
-	protected Point getInitialLocation(Point initialSize) {
-		Point loc= super.getInitialLocation(initialSize);
-		
-		IDialogSettings bounds= fSettings.getSection(DIALOG_BOUNDS_KEY);
-		if (bounds != null) {
-			try {
-				loc.x= bounds.getInt(X);
-			} catch (NumberFormatException e) {
-			}
-			try {
-				loc.y= bounds.getInt(Y);
-			} catch (NumberFormatException e) {
-			}
-		}
-		return loc;
-	}
-	
-	public boolean close() {
-		boolean closed= super.close();
-		if (closed && fNewBounds != null)
-			saveBounds(fNewBounds);
-		return closed;
-	}
-
-	private void saveBounds(Rectangle bounds) {
-		IDialogSettings dialogBounds= fSettings.getSection(DIALOG_BOUNDS_KEY);
-		if (dialogBounds == null) {
-			dialogBounds= new DialogSettings(DIALOG_BOUNDS_KEY);
-			fSettings.addSection(dialogBounds);
-		}
-		dialogBounds.put(X, bounds.x);
-		dialogBounds.put(Y, bounds.y);
-		dialogBounds.put(WIDTH, bounds.width);
-		dialogBounds.put(HEIGHT, bounds.height);
-	}
-	
-	private void computePrefixSuffix() {
-		int end= Math.min(fExpected.length(), fActual.length());
-		int i= 0;
-		for(; i < end; i++) 
-			if (fExpected.charAt(i) != fActual.charAt(i))
-				break;
-		fPrefix= i;
-		
-		int j= fExpected.length()-1;
-		int k= fActual.length()-1;
-		int l= 0;
-		for (; k >= fPrefix && j >= fPrefix; k--,j--) {
-			if (fExpected.charAt(j) != fActual.charAt(k))
-				break;
-			l++;
-		}
-		fSuffix= l;
-	}
-
-    protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(JUnitMessages.getString("CompareResultDialog.title")); //$NON-NLS-1$
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, JUnitMessages.getString("CompareResultDialog.labelOK"), true); //$NON-NLS-1$
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite)super.createDialogArea(parent);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 1;
-		composite.setLayout(layout);
-		
-		CompareViewerPane pane = new CompareViewerPane(composite, SWT.BORDER | SWT.FLAT);
-		pane.setText(fTestName);
-		GridData data= new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		data.widthHint= convertWidthInCharsToPixels(120);
-		data.heightHint= convertHeightInCharsToPixels(13);
-		pane.setLayoutData(data);
-		
-		Control previewer= createPreviewer(pane);
-		pane.setContent(previewer);
-		GridData gd= new GridData(GridData.FILL_BOTH);
-		previewer.setLayoutData(gd);
-		applyDialogFont(parent);
-		return composite;
-	}
-	
-	private Control createPreviewer(Composite parent) {
-	    final CompareConfiguration compareConfiguration= new CompareConfiguration();
-	    compareConfiguration.setLeftLabel(JUnitMessages.getString("CompareResultDialog.expectedLabel")); //$NON-NLS-1$
-	    compareConfiguration.setLeftEditable(false);
-	    compareConfiguration.setRightLabel(JUnitMessages.getString("CompareResultDialog.actualLabel"));	 //$NON-NLS-1$
-	    compareConfiguration.setRightEditable(false);
-	    compareConfiguration.setProperty(CompareConfiguration.IGNORE_WHITESPACE, new Boolean(false));
-
-	    fViewer= new CompareResultMergeViewer(parent, SWT.NONE, compareConfiguration);
-	    fViewer.setInput(new DiffNode( 
-        new CompareElement(fExpected), 
-        new CompareElement(fActual)));
-
-	    Control control= fViewer.getControl();
-	    control.addDisposeListener(new DisposeListener() {
-	        public void widgetDisposed(DisposeEvent e) {
-	            if (compareConfiguration != null)
-	                compareConfiguration.dispose();
-	        }
-	    });
-	    return  control;
-	}	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CompareResultsAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CompareResultsAction.java
deleted file mode 100644
index 838e947..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CompareResultsAction.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.junit.ui;
-
-
-import org.eclipse.jface.action.Action;
-
-/**
- * Action to enable/disable stack trace filtering.
- */
-public class CompareResultsAction extends Action {
-
-	private FailureTraceView fView;	
-	
-	public CompareResultsAction(FailureTraceView view) {
-		super(JUnitMessages.getString("CompareResultsAction.label"));   //$NON-NLS-1$
-		setDescription(JUnitMessages.getString("CompareResultsAction.description"));   //$NON-NLS-1$
-		setToolTipText(JUnitMessages.getString("CompareResultsAction.tooltip"));  //$NON-NLS-1$
-		
-		setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/compare.gif"));  //$NON-NLS-1$
-		setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/compare.gif"));  //$NON-NLS-1$
-		setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/compare.gif"));  //$NON-NLS-1$
-		//WorkbenchHelp.setHelp(this, IJUnitHelpContextIds.ENABLEFILTER_ACTION);
-		fView= view;
-	}
-
-	/*
-	 * @see Action#actionPerformed
-	 */		
-	public void run() {
-		CompareResultDialog dialog= new CompareResultDialog(fView.getShell(), fView.getFailedTest());
-		dialog.create();
-		dialog.open();
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyFailureListAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyFailureListAction.java
deleted file mode 100644
index e314a24..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyFailureListAction.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.junit.ui;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-
-/**
- * Copies the names of the methods that failed to the clipboard.
- */
-public class CopyFailureListAction extends Action {
-	private FailureRunView fView;
-	
-	private final Clipboard fClipboard;
-		
-	/**
-	 * Constructor for CopyFailureListAction.
-	 */
-	public CopyFailureListAction(TestRunnerViewPart runner, FailureRunView view, Clipboard clipboard) {
-		super(JUnitMessages.getString("CopyFailureList.action.label"));  //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IJUnitHelpContextIds.COPYFAILURELIST_ACTION);
-		fView= view;
-		fClipboard= clipboard;
-	}
-
-	/*
-	 * @see IAction#run()
-	 */
-	public void run() {
-		TextTransfer plainTextTransfer = TextTransfer.getInstance();
-					
-		try{
-			fClipboard.setContents(
-				new String[] { fView.getAllFailedTestNames() }, 
-				new Transfer[]{ plainTextTransfer });
-		}  catch (SWTError e){
-			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD) 
-				throw e;
-			if (MessageDialog.openQuestion(JavaPlugin.getActiveWorkbenchShell(), JUnitMessages.getString("CopyFailureList.problem"), JUnitMessages.getString("CopyFailureList.clipboard_busy")))  //$NON-NLS-1$ //$NON-NLS-2$
-				run();
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyTraceAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyTraceAction.java
deleted file mode 100644
index 3503706..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyTraceAction.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.junit.ui;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.Assert;
-
-/**
- * Copies a test failure stack trace to the clipboard.
- */
-public class CopyTraceAction extends Action {
-	private FailureTraceView fView;
-	
-	private final Clipboard fClipboard;
-
-	/**
-	 * Constructor for CopyTraceAction.
-	 */
-	public CopyTraceAction(FailureTraceView view, Clipboard clipboard) {
-		super(JUnitMessages.getString("CopyTrace.action.label"));  //$NON-NLS-1$
-		Assert.isNotNull(clipboard);
-		WorkbenchHelp.setHelp(this, IJUnitHelpContextIds.COPYTRACE_ACTION);
-		fView= view;
-		fClipboard= clipboard;
-	}
-
-	/*
-	 * @see IAction#run()
-	 */
-	public void run() {
-		String trace= fView.getTrace();
-		if (trace == null)
-			trace= ""; //$NON-NLS-1$
-		
-		TextTransfer plainTextTransfer = TextTransfer.getInstance();
-		try{
-			fClipboard.setContents(
-				new String[]{ convertLineTerminators(trace) }, 
-				new Transfer[]{ plainTextTransfer });
-		}  catch (SWTError e){
-			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD) 
-				throw e;
-			if (MessageDialog.openQuestion(fView.getComposite().getShell(), JUnitMessages.getString("CopyTraceAction.problem"), JUnitMessages.getString("CopyTraceAction.clipboard_busy")))  //$NON-NLS-1$ //$NON-NLS-2$
-				run();
-		}
-	}
-	
-	private String convertLineTerminators(String in) {
-		StringWriter stringWriter= new StringWriter();
-		PrintWriter printWriter= new PrintWriter(stringWriter);
-		StringReader stringReader= new StringReader(in);
-		BufferedReader bufferedReader= new BufferedReader(stringReader);		
-		String line;
-		try {
-			while ((line= bufferedReader.readLine()) != null) {
-				printWriter.println(line);
-			}
-		} catch (IOException e) {
-			return in; // return the trace unfiltered
-		}
-		return stringWriter.toString();
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CounterPanel.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CounterPanel.java
deleted file mode 100644
index 0fbc5d6..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CounterPanel.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.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;
-
-/**
- * A panel with counters for the number of Runs, Errors and Failures.
- */
-public class CounterPanel extends Composite {
-	private Text fNumberOfErrors;
-	private Text fNumberOfFailures;
-	private Text fNumberOfRuns;
-	private int fTotal;
-	
-	private final Image fErrorIcon= TestRunnerViewPart.createImage("ovr16/error_ovr.gif"); //$NON-NLS-1$
-	private final Image fFailureIcon= TestRunnerViewPart.createImage("ovr16/failed_ovr.gif"); //$NON-NLS-1$
-			
-	public CounterPanel(Composite parent) {
-		super(parent, SWT.WRAP);
-		GridLayout gridLayout= new GridLayout();
-		gridLayout.numColumns= 9;
-		gridLayout.makeColumnsEqualWidth= false;
-		gridLayout.marginWidth= 0;
-		setLayout(gridLayout);
-		
-		fNumberOfRuns= createLabel(JUnitMessages.getString("CounterPanel.label.runs"), null, " 0/0  ");  //$NON-NLS-1$ //$NON-NLS-2$
-		fNumberOfErrors= createLabel(JUnitMessages.getString("CounterPanel.label.errors"), fErrorIcon, " 0 "); //$NON-NLS-1$ //$NON-NLS-2$
-		fNumberOfFailures= createLabel(JUnitMessages.getString("CounterPanel.label.failures"), fFailureIcon, " 0 "); //$NON-NLS-1$ //$NON-NLS-2$
-
-		addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				disposeIcons();
-			}
-		});
-	}
- 
-	private void disposeIcons() {
-		fErrorIcon.dispose();
-		fFailureIcon.dispose();
-	}
-
-	private Text createLabel(String name, Image image, String init) {
-		Label label= new Label(this, SWT.NONE);
-		if (image != null) {
-			image.setBackground(label.getBackground());
-			label.setImage(image);
-		}
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		
-		label= new Label(this, SWT.NONE);
-		label.setText(name);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		label.setFont(JFaceResources.getBannerFont());
-		
-		Text value= new Text(this, SWT.READ_ONLY);
-		value.setText(init);
-		// bug: 39661 Junit test counters do not repaint correctly [JUnit] 
-		value.setBackground(getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-		value.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING));
-		return value;
-	}
-
-	public void reset() {
-		setErrorValue(0);
-		setFailureValue(0);
-		setRunValue(0);
-		fTotal= 0;
-	}
-	
-	public void setTotal(int value) {
-		fTotal= value;
-	}
-	
-	public int getTotal(){
-		return fTotal;
-	}
-	
-	public void setRunValue(int value) {
-		String runString= JUnitMessages.getFormattedString("CounterPanel.runcount", new String[] { Integer.toString(value), Integer.toString(fTotal) }); //$NON-NLS-1$
-		fNumberOfRuns.setText(runString);
-
-		fNumberOfRuns.redraw();
-		redraw();
-	}
-	
-	public void setErrorValue(int value) {
-		fNumberOfErrors.setText(Integer.toString(value));
-		redraw();
-	}
-	
-	public void setFailureValue(int value) {
-		fNumberOfFailures.setText(Integer.toString(value));
-		redraw();
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/EnableStackFilterAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/EnableStackFilterAction.java
deleted file mode 100644
index 604bdbf..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/EnableStackFilterAction.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.junit.ui;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Action to enable/disable stack trace filtering.
- */
-public class EnableStackFilterAction extends Action {
-
-	private FailureTraceView fView;	
-	
-	public EnableStackFilterAction(FailureTraceView view) {
-		super(JUnitMessages.getString("EnableStackFilterAction.action.label"));  //$NON-NLS-1$
-		setDescription(JUnitMessages.getString("EnableStackFilterAction.action.description"));  //$NON-NLS-1$
-		setToolTipText(JUnitMessages.getString("EnableStackFilterAction.action.tooltip")); //$NON-NLS-1$
-		
-		setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/cfilter.gif")); //$NON-NLS-1$
-		setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/cfilter.gif")); //$NON-NLS-1$
-		setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/cfilter.gif")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IJUnitHelpContextIds.ENABLEFILTER_ACTION);
-
-		fView= view;
-		setChecked(JUnitPreferencePage.getFilterStack());
-	}
-
-	/*
-	 * @see Action#actionPerformed
-	 */		
-	public void run() {
-		JUnitPreferencePage.setFilterStack(isChecked());
-		fView.refresh();
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureRunView.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureRunView.java
deleted file mode 100644
index 0a15ffd..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureRunView.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.junit.ITestRunListener;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-
-/**
- * A view presenting the failed tests in a table.
- */
-class FailureRunView implements ITestRunView, IMenuListener {
-	private Table fTable;
-	private TestRunnerViewPart fRunnerViewPart;
-	private final Clipboard fClipboard;	
-	private boolean fMoveSelection= false;
-	
-	private final Image fErrorIcon= TestRunnerViewPart.createImage("obj16/testerr.gif"); //$NON-NLS-1$
-	private final Image fFailureIcon= TestRunnerViewPart.createImage("obj16/testfail.gif"); //$NON-NLS-1$
-	private final Image fFailureTabIcon= TestRunnerViewPart.createImage("obj16/failures.gif"); //$NON-NLS-1$
-
-	public FailureRunView(CTabFolder tabFolder, Clipboard clipboard, TestRunnerViewPart runner) {
-		fRunnerViewPart= runner;
-		fClipboard= clipboard;
-		
-		CTabItem failureTab= new CTabItem(tabFolder, SWT.NONE);
-		failureTab.setText(getName());
-		failureTab.setImage(fFailureTabIcon);
-
-		Composite composite= new Composite(tabFolder, SWT.NONE);
-		GridLayout gridLayout= new GridLayout();
-		gridLayout.marginHeight= 0;
-		gridLayout.marginWidth= 0;
-		composite.setLayout(gridLayout);
-		
-		GridData gridData= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		composite.setLayoutData(gridData);	
-			
-		fTable= new Table(composite, SWT.NONE);
-		gridLayout= new GridLayout();
-		gridLayout.marginHeight= 0;
-		gridLayout.marginWidth= 0;
-		fTable.setLayout(gridLayout);
-		
-		gridData= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		fTable.setLayoutData(gridData);
-		
-		failureTab.setControl(composite);
-		failureTab.setToolTipText(JUnitMessages.getString("FailureRunView.tab.tooltip")); //$NON-NLS-1$
-		
-		initMenu();
-		addListeners();	
-	}
-
-	private void disposeIcons() {
-		fErrorIcon.dispose();
-		fFailureIcon.dispose();
-		fFailureTabIcon.dispose();
-	}
-
-	private void initMenu() {
-		MenuManager menuMgr= new MenuManager();
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(this);
-		Menu menu= menuMgr.createContextMenu(fTable);
-		fTable.setMenu(menu);
-	}
-	
-	public String getName() {
-		return JUnitMessages.getString("FailureRunView.tab.title"); //$NON-NLS-1$
-	}
-	
-	public String getSelectedTestId() {
-		int index= fTable.getSelectionIndex();
-		if (index == -1)
-			return null;
-		return getTestInfo(fTable.getItem(index)).getTestId();
-	}
-	
-	public String getAllFailedTestNames() {
-		StringBuffer trace= new StringBuffer();
-		String lineDelim= System.getProperty("line.separator", "\n");  //$NON-NLS-1$//$NON-NLS-2$
-		for (int i= 0; i < fTable.getItemCount(); i++) {
-			TestRunInfo testInfo= getTestInfo(fTable.getItem(i));
-			trace.append(testInfo.getTestName()).append(lineDelim);
-			String failureTrace= testInfo.getTrace();
-			if (failureTrace != null) {
-				StringReader stringReader= new StringReader(failureTrace);
-				BufferedReader bufferedReader= new BufferedReader(stringReader);
-				String line;
-				try {
-					while ((line= bufferedReader.readLine()) != null) 
-						trace.append(line+lineDelim);
-				} catch (IOException e) {
-					trace.append(lineDelim);
-				}	
-			}
-		}
-		return trace.toString();
-	}
-	
-	private String getClassName() {
-		TableItem item= getSelectedItem();
-		TestRunInfo info= getTestInfo(item);
-		return info.getClassName();
-	}
-	
-	private String getMethodName() {
-		TableItem item= getSelectedItem();
-		TestRunInfo info= getTestInfo(item);
-		return info.getTestMethodName();
-	}
-	
-	public void menuAboutToShow(IMenuManager manager){
-		if (fTable.getSelectionCount() > 0) {
-			String className= getClassName();
-			String methodName= getMethodName();
-			if (className != null) {
-				manager.add(new OpenTestAction(fRunnerViewPart, className, methodName));
-				manager.add(new Separator());
-				manager.add(new RerunAction(fRunnerViewPart, getSelectedTestId(), className, methodName, ILaunchManager.RUN_MODE));
-				if (!fRunnerViewPart.lastLaunchIsKeptAlive()) 
-					manager.add(new RerunAction(fRunnerViewPart, getSelectedTestId(), className, methodName, ILaunchManager.DEBUG_MODE));
-				manager.add(new Separator());
-				manager.add(new CopyFailureListAction(fRunnerViewPart, FailureRunView.this, fClipboard));
-			}
-		}
-	}		
-	
-	private TableItem getSelectedItem() {
-		int index= fTable.getSelectionIndex();
-		if (index == -1)
-			return null;
-		return fTable.getItem(index);
-	}
-	
-	public void setSelectedTest(String testId){
-		TableItem[] items= fTable.getItems();
-		for (int i= 0; i < items.length; i++) {
-			TableItem tableItem= items[i];
-			TestRunInfo info= getTestInfo(tableItem);		
-			if (info.getTestId().equals(testId)){
-				fTable.setSelection(new TableItem[] { tableItem });
-				fTable.showItem(tableItem);
-				return;
-			}
-		}
-	}
-
-	private TestRunInfo getTestInfo(TableItem item) {
-		return (TestRunInfo)item.getData(); 	
-	}
-	
-	public void setFocus() {
-		fTable.setFocus();
-	}
-	
-	public void endTest(String testId){
-		TestRunInfo testInfo= fRunnerViewPart.getTestInfo(testId);
-		if(testInfo == null || testInfo.getStatus() == ITestRunListener.STATUS_OK) 
-			return;
-
-		TableItem tableItem= new TableItem(fTable, SWT.NONE);
-		updateTableItem(testInfo, tableItem);
-		fTable.showItem(tableItem);
-	}
-
-	private void updateTableItem(TestRunInfo testInfo, TableItem tableItem) {
-		String label= JUnitMessages.getFormattedString("FailureRunView.labelfmt", new String[] { testInfo.getTestMethodName(), testInfo.getClassName() }); //$NON-NLS-1$
-		tableItem.setText(label);
-		if (testInfo.getStatus() == ITestRunListener.STATUS_FAILURE)
-			tableItem.setImage(fFailureIcon);
-		else
-			tableItem.setImage(fErrorIcon);
-		tableItem.setData(testInfo);
-	}
-
-	private TableItem findItem(String testId) {
-		TableItem[] items= fTable.getItems();
-		for (int i= 0; i < items.length; i++) {
-			TestRunInfo info= getTestInfo(items[i]);
-			if (info.getTestId().equals(testId))
-				return items[i];
-		}
-		return null;
-	}
-
-	public void activate() {
-		fMoveSelection= false;
-		testSelected();
-	}
-
-	public void aboutToStart() {
-		fMoveSelection= false;
-		fTable.removeAll();
-	}
-
-	private void testSelected() {
-		fRunnerViewPart.handleTestSelected(getSelectedTestId());
-	}
-	
-	private void addListeners() {
-		fTable.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				activate();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				activate();
-			}
-		});
-		
-		fTable.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				disposeIcons();
-			}
-		});
-
-		fTable.addMouseListener(new MouseAdapter() {
-			public void mouseDoubleClick(MouseEvent e){
-				handleDoubleClick(e);
-			}
-			public void mouseDown(MouseEvent e) {
-				activate();
-			}
-			public void mouseUp(MouseEvent e) {
-				activate();
-			}
-		});
-	}
-	
-	void handleDoubleClick(MouseEvent e) {
-		if (fTable.getSelectionCount() > 0) 
-			new OpenTestAction(fRunnerViewPart, getClassName(), getMethodName()).run();
-	}
-	
-	public void newTreeEntry(String treeEntry) {
-	}
-	
-	/*
-	 * @see ITestRunView#testStatusChanged(TestRunInfo)
-	 */
-	public void testStatusChanged(TestRunInfo info) {
-		TableItem item= findItem(info.getTestId());
-		if (item != null) {
-			if (info.getStatus() == ITestRunListener.STATUS_OK) {
-				item.dispose();
-				return;
-			}
-			updateTableItem(info, item);
-		} 
-		if (item == null && info.getStatus() != ITestRunListener.STATUS_OK) {
-			item= new TableItem(fTable, SWT.NONE);
-			updateTableItem(info, item);
-		}
-		if (item != null)
-			fTable.showItem(item);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.junit.ui.ITestRunView#startTest(java.lang.String)
-	 */
-	public void startTest(String testId) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.junit.ui.ITestRunView#selectNext()
-	 */
-	public void selectNext() {
-		if (fTable.getItemCount() == 0)
-			return;
-			
-		int index= fTable.getSelectionIndex();
-		if (index == -1)
-			index= 0;
-		
-		if (fMoveSelection)
-			index= Math.min(fTable.getItemCount()-1, index+1);
-		else
-			fMoveSelection= true;
-			
-		selectTest(index);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.junit.ui.ITestRunView#selectPrevious()
-	 */
-	public void selectPrevious() {
-		if (fTable.getItemCount() == 0)
-			return;
-			
-		int index= fTable.getSelectionIndex();
-		if (index == -1)
-			index= fTable.getItemCount()-1;
-			
-		if (fMoveSelection)
-			index= Math.max(0, index-1);
-		else
-			fMoveSelection= true;
-			
-		selectTest(index);
-	}
-
-	private void selectTest(int index) {
-		TableItem item= fTable.getItem(index);
-		TestRunInfo info= getTestInfo(item);
-		fRunnerViewPart.showTest(info);
-	}
-
-	public void aboutToEnd() {
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTraceView.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTraceView.java
deleted file mode 100644
index 5adbaf5..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTraceView.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids: sdavids@gmx.de bug 37333, 26653 
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.ToolBar;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.IOpenEventListener;
-import org.eclipse.jface.util.OpenStrategy;
-
-/**
- * A view that shows a stack trace of a failed test.
- */
-class FailureTraceView implements IMenuListener {
-    private final Image fStackIcon= TestRunnerViewPart.createImage("obj16/stkfrm_obj.gif"); //$NON-NLS-1$
-    private final Image fExceptionIcon= TestRunnerViewPart.createImage("obj16/exc_catch.gif"); //$NON-NLS-1$
-    
-    private static final String FRAME_PREFIX= "at "; //$NON-NLS-1$
-	private Table fTable;
-	private TestRunnerViewPart fTestRunner;
-	private String fInputTrace;
-	private final Clipboard fClipboard;
-    private TestRunInfo fFailure;
-    private CompareResultsAction fCompareAction;
-
-	public FailureTraceView(Composite parent, Clipboard clipboard, TestRunnerViewPart testRunner, ToolBar toolBar) {
-		Assert.isNotNull(clipboard);
-		
-		// fill the failure trace viewer toolbar
-		ToolBarManager failureToolBarmanager= new ToolBarManager(toolBar);
-		failureToolBarmanager.add(new EnableStackFilterAction(this));			
-		fCompareAction = new CompareResultsAction(this);
-		fCompareAction.setEnabled(false);
-        failureToolBarmanager.add(fCompareAction);			
-		failureToolBarmanager.update(true);
-		
-		fTable= new Table(parent, SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);
-		fTestRunner= testRunner;
-		fClipboard= clipboard;
-		
-		OpenStrategy handler = new OpenStrategy(fTable);
-		handler.addOpenListener(new IOpenEventListener() {
-			public void handleOpen(SelectionEvent e) {
-				if (fTable.getSelectionIndex() == 0 && fFailure.isComparisonFailure()) {
-					(new CompareResultsAction(FailureTraceView.this)).run();
-				}
-				if (fTable.getSelection().length != 0) {
-					Action a = createOpenEditorAction(getSelectedText());
-					if (a != null)
-						a.run();
-				}
-			}
-		});
-		
-		initMenu();
-		
-		parent.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				disposeIcons();
-			}
-		});
-	}
-	
-	private void initMenu() {
-		MenuManager menuMgr= new MenuManager();
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(this);
-		Menu menu= menuMgr.createContextMenu(fTable);
-		fTable.setMenu(menu);		
-	}
-	
-	public void menuAboutToShow(IMenuManager manager) {
-		if (fTable.getSelectionCount() > 0) {
-			Action a= createOpenEditorAction(getSelectedText());
-			if (a != null)
-				manager.add(a);		
-			manager.add(new CopyTraceAction(FailureTraceView.this, fClipboard));
-		}
-		if (fFailure.isComparisonFailure()) 
-			manager.add(new CompareResultsAction(FailureTraceView.this));
-	}
-
-	public String getTrace() {
-		return fInputTrace;
-	}
-	
-	private String getSelectedText() {
-		return fTable.getSelection()[0].getText();
-	}				
-
-	private Action createOpenEditorAction(String traceLine) {
-		try { 
-			//TODO: works for JDK stack trace only
-			String testName= traceLine;
-			testName= testName.substring(testName.indexOf(FRAME_PREFIX)); //$NON-NLS-1$
-			testName= testName.substring(FRAME_PREFIX.length(), testName.indexOf('(')).trim();
-			testName= testName.substring(0, testName.lastIndexOf('.'));
-			int innerSeparatorIndex= testName.indexOf('$');
-			if (innerSeparatorIndex != -1)
-				testName= testName.substring(0, innerSeparatorIndex);
-			
-			String lineNumber= traceLine;
-			lineNumber= lineNumber.substring(lineNumber.indexOf(':') + 1, lineNumber.indexOf(')'));
-			int line= Integer.valueOf(lineNumber).intValue();
-			//fix for bug 37333	
-			String cuName= traceLine.substring(traceLine.indexOf('(') + 1, traceLine.indexOf(':'));
-			return new OpenEditorAtLineAction(fTestRunner, cuName, testName, line);
-		} catch(NumberFormatException e) {
-		}
-		catch(IndexOutOfBoundsException e) {	
-		}	
-		return null;
-	}
-	
-	private void disposeIcons(){
-		if (fExceptionIcon != null && !fExceptionIcon.isDisposed()) 
-			fExceptionIcon.dispose();
-		if (fStackIcon != null && !fStackIcon.isDisposed()) 
-			fStackIcon.dispose();
-	}
-	
-	/**
-	 * Returns the composite used to present the trace
-	 */
-	Composite getComposite(){
-		return fTable;
-	}
-	
-	/**
-	 * Refresh the table from the the trace.
-	 */
-	public void refresh() {
-		updateTable(fInputTrace);
-	}
-	
-	/**
-	 * Shows a TestFailure
-	 * @param failure the failed test
-	 */
-	public void showFailure(TestRunInfo failure) {	
-	    fFailure= failure;
-	    String trace= ""; //$NON-NLS-1$
-	    updateEnablement(failure);
-	    if (failure != null) 
-	        trace= failure.getTrace();
-		if (fInputTrace == trace)
-			return;
-		fInputTrace= trace;
-		updateTable(trace);
-	}
-
-	public void updateEnablement(TestRunInfo failure) {
-		fCompareAction.setEnabled(failure != null && failure.isComparisonFailure());
-	}
-
-	private void updateTable(String trace) {
-		if(trace == null || trace.trim().equals("")) { //$NON-NLS-1$
-			clear();
-			return;
-		}
-		trace= trace.trim();
-		fTable.setRedraw(false);
-		fTable.removeAll();
-		fillTable(filterStack(trace));
-		fTable.setRedraw(true);
-	}
-
-	private void fillTable(String trace) {
-		StringReader stringReader= new StringReader(trace);
-		BufferedReader bufferedReader= new BufferedReader(stringReader);
-		String line;
-
-		try {	
-			// first line contains the thrown exception
-			line= bufferedReader.readLine();
-			if (line == null)
-				return;
-				
-			TableItem tableItem= new TableItem(fTable, SWT.NONE);
-			String itemLabel= line.replace('\t', ' ');
-			tableItem.setText(itemLabel);
-			tableItem.setImage(fExceptionIcon);
-			
-			// the stack frames of the trace
-			while ((line= bufferedReader.readLine()) != null) {
-				itemLabel= line.replace('\t', ' ');
-				tableItem= new TableItem(fTable, SWT.NONE);
-				// heuristic for detecting a stack frame - works for JDK
-				if ((itemLabel.indexOf(" at ") >= 0)) { //$NON-NLS-1$
-					tableItem.setImage(fStackIcon);
-				}
-				tableItem.setText(itemLabel);
-			}
-		} catch (IOException e) {
-			TableItem tableItem= new TableItem(fTable, SWT.NONE);
-			tableItem.setText(trace);
-		}			
-	}
-	
-	/**
-	 * Shows other information than a stack trace.
-	 * @param text the informational message to be shown
-	 */
-	public void setInformation(String text) {
-		clear();
-		TableItem tableItem= new TableItem(fTable, SWT.NONE);
-		tableItem.setText(text);
-	}
-	
-	/**
-	 * Clears the non-stack trace info
-	 */
-	public void clear() {
-		fTable.removeAll();
-		fInputTrace= null;
-	}
-	
-	private String filterStack(String stackTrace) {	
-		if (!JUnitPreferencePage.getFilterStack() || stackTrace == null) 
-			return stackTrace;
-			
-		StringWriter stringWriter= new StringWriter();
-		PrintWriter printWriter= new PrintWriter(stringWriter);
-		StringReader stringReader= new StringReader(stackTrace);
-		BufferedReader bufferedReader= new BufferedReader(stringReader);	
-			
-		String line;
-		String[] patterns= JUnitPreferencePage.getFilterPatterns();
-		try {	
-			while ((line= bufferedReader.readLine()) != null) {
-				if (!filterLine(patterns, line))
-					printWriter.println(line);
-			}
-		} catch (IOException e) {
-			return stackTrace; // return the stack unfiltered
-		}
-		return stringWriter.toString();
-	}
-	
-	private boolean filterLine(String[] patterns, String line) {
-		String pattern;
-		int len;
-		for (int i= (patterns.length - 1); i >= 0; --i) {
-			pattern= patterns[i];
-			len= pattern.length() - 1;
-			if (pattern.charAt(len) == '*') {
-				//strip trailing * from a package filter
-				pattern= pattern.substring(0, len);
-			} else if (Character.isUpperCase(pattern.charAt(0))) {
-				//class in the default package
-				pattern= FRAME_PREFIX + pattern + '.';
-			} else {
-				//class names start w/ an uppercase letter after the .
-				final int lastDotIndex= pattern.lastIndexOf('.');
-				if ((lastDotIndex != -1) && (lastDotIndex != len) && Character.isUpperCase(pattern.charAt(lastDotIndex + 1)))
-					pattern += '.'; //append . to a class filter
-			}
-
-			if (line.indexOf(pattern) > 0)
-				return true;
-		}		
-		return false;
-	}
-
-    public TestRunInfo getFailedTest() {
-        return fFailure;
-    }
-
-    public Shell getShell() {
-        return fTable.getShell();
-    }
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/GotoReferencedTestAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/GotoReferencedTestAction.java
deleted file mode 100644
index 07c1d13..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/GotoReferencedTestAction.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-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.JavaModelException;
-import org.eclipse.jdt.internal.ui.actions.SelectionConverter;
-import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * Shows a dialog with test methods that refer to the selection.
- */
-public class GotoReferencedTestAction implements IWorkbenchWindowActionDelegate {
-	ISelection fSelection;
-	IWorkbenchWindow fWorkbench;
-	
-	private void run(IStructuredSelection selection) {
-		IJavaElement[] elements= getSelectedElements(selection);
-		if (elements == null || elements.length == 0) {
-			MessageDialog.openInformation(getShell(), JUnitMessages.getString("GotoReferencedTestAction.dialog.title"), JUnitMessages.getString("GotoReferencedTestAction.dialog.message")); //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		}
-		try {
-			run(elements);
-		} catch (CoreException e) {
-			ErrorDialog.openError(getShell(), JUnitMessages.getString("GotoReferencedTestAction.dialog.title"), JUnitMessages.getString("GotoReferencedTestAction.dialog.error"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-			
-	private void run(ITextSelection ITextSelection) {
-		try {
-			JavaEditor editor= getActiveEditor();
-			if (editor == null)
-				return;
-			IJavaElement element= SelectionConverter.getElementAtOffset(editor);
-			int type= element != null ? element.getElementType() : -1;
-			if (type != IJavaElement.METHOD && type != IJavaElement.TYPE) {
-		 		element= SelectionConverter.getTypeAtOffset(editor);
-		 		if (element == null) {
-					MessageDialog.openInformation(getShell(), JUnitMessages.getString("GotoReferencedTestAction.dialog.title"), JUnitMessages.getString("GotoReferencedTestAction.dialog.error.nomethod")); //$NON-NLS-1$ //$NON-NLS-2$
-					return;
-		 		}
-			}
-			run(new IMember[] { (IMember)element });
-		} catch (CoreException e) {
-			ErrorDialog.openError(getShell(), JUnitMessages.getString("GotoReferencedTestAction.dialog.title"), JUnitMessages.getString("GotoReferencedTestAction.dialog.error"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	private void run(IJavaElement[] elements) throws PartInitException, JavaModelException {
-		IJavaElement element= elements[0];
-		
-		SelectionStatusDialog dialog = new TestMethodSelectionDialog(getShell(), new ProgressMonitorDialog(getShell()), element); 
-		dialog.setTitle(JUnitMessages.getString("GotoReferencedTestAction.selectdialog.title"));  //$NON-NLS-1$
-		String msg= JUnitMessages.getFormattedString("GotoReferencedTestAction.dialog.select_message", element.getElementName()); //$NON-NLS-1$
-		dialog.setMessage(msg); 
-		
-		if (dialog.open() == SelectionDialog.CANCEL) 
-			return;
-	
-		Object result = dialog.getFirstResult();
-		if (result == null) 
-			return;
-				
-		openElement((IJavaElement)result);
-	}
-
-	private void openElement(IJavaElement result) throws JavaModelException, PartInitException {
-		IEditorPart part= JavaUI.openInEditor(result);
-		JavaUI.revealInEditor(part, result);
-	}
-		
-	private IJavaElement[] getSelectedElements(IStructuredSelection selection) {
-		List elements= selection.toList();
-		int size= elements.size();
-		if (size == 0)
-			return null;
-			
-		ArrayList result= new ArrayList(size);
-			
-		for (int i= 0; i < size; i++) {
-			Object e= elements.get(i);
-			if (e instanceof ICompilationUnit) {
-				ICompilationUnit unit= (ICompilationUnit) e;
-				IType[] types= new IType[0];
-				try {
-					types= unit.getTypes();
-				} catch (JavaModelException ex) {
-				}
-				for (int j= 0; j < types.length; j++) {
-					result.add(types[j]);
-				} 
-			}
-			else if (e instanceof IMethod || e instanceof IType || e instanceof IField) {
-				result.add(e);
-			} else {
-				return null;
-			}
-		}
-		return (IJavaElement[])result.toArray(new IJavaElement[result.size()]);
-	}
-		
-	public void run(IAction action) {
-		if (fSelection instanceof IStructuredSelection)
-			run((IStructuredSelection)fSelection);
-		else if (fSelection instanceof ITextSelection) 
-			run((ITextSelection)fSelection);
-	}
-	
-	public void selectionChanged(IAction action, ISelection selection) {
-		fSelection= selection;
-	}
-		
-	private Shell getShell() {
-		if (fWorkbench != null)
-			return fWorkbench.getShell();
-		return JUnitPlugin.getActiveWorkbenchShell();
-	}
-	
-	public void dispose() {
-	}
-	
-	public void init(IWorkbenchWindow window) {
-		fWorkbench= window;
-	}
-	
-	private JavaEditor getActiveEditor() {
-		IEditorPart editor= fWorkbench.getActivePage().getActiveEditor();
-		if (editor instanceof JavaEditor)
-			return (JavaEditor) editor;
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/HierarchyRunView.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/HierarchyRunView.java
deleted file mode 100644
index ae3af7e..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/HierarchyRunView.java
+++ /dev/null
@@ -1,697 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids - sdavids@gmx.de bugs 26754, 41228
-*******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.junit.ITestRunListener;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-
-/*
- * A view that shows the contents of a test suite
- * as a tree.
- */
-class HierarchyRunView implements ITestRunView, IMenuListener {
-	
-	private Tree fTree;
-	
-	private TreeItem fCachedParent;
-	private TreeItem[] fCachedItems;
-	
-	private TreeItem fLastParent;
-	private List fExecutionPath;
-	
-	private boolean fMoveSelection= false;
-	
-	/**
-	 * Helper used to resurrect test hierarchy
-	 */
-	private static class SuiteInfo {
-		public int fTestCount;
-		public TreeItem fTreeItem;
-		
-		public SuiteInfo(TreeItem treeItem, int testCount){
-			fTreeItem= treeItem;
-			fTestCount= testCount;
-		}
-	}
-		
-	/**
-	 * Vector of SuiteInfo items
-	 */
-	private Vector fSuiteInfos= new Vector();
-	/**
-	 * Maps test Ids to TreeItems. 
-	 */
-	private Map fTreeItemMap= new HashMap();
-	
-	private TestRunnerViewPart fTestRunnerPart;
-	
-	private final Image fOkIcon= TestRunnerViewPart.createImage("obj16/testok.gif"); //$NON-NLS-1$
-	private final Image fErrorIcon= TestRunnerViewPart.createImage("obj16/testerr.gif"); //$NON-NLS-1$
-	private final Image fFailureIcon= TestRunnerViewPart.createImage("obj16/testfail.gif"); //$NON-NLS-1$
-	private final Image fHierarchyIcon= TestRunnerViewPart.createImage("obj16/testhier.gif"); //$NON-NLS-1$
-	private final Image fSuiteIcon= TestRunnerViewPart.createImage("obj16/tsuite.gif"); //$NON-NLS-1$
-	private final Image fSuiteErrorIcon= TestRunnerViewPart.createImage("obj16/tsuiteerror.gif"); //$NON-NLS-1$
-	private final Image fSuiteFailIcon= TestRunnerViewPart.createImage("obj16/tsuitefail.gif"); //$NON-NLS-1$
-	private final Image fTestIcon= TestRunnerViewPart.createImage("obj16/test.gif"); //$NON-NLS-1$
-	private final Image fTestRunningIcon= TestRunnerViewPart.createImage("obj16/testrun.gif"); //$NON-NLS-1$
-	private final Image fSuiteRunningIcon= TestRunnerViewPart.createImage("obj16/tsuiterun.gif"); //$NON-NLS-1$
-	
-	private class ExpandAllAction extends Action {
-		public ExpandAllAction() {
-			setText(JUnitMessages.getString("ExpandAllAction.text"));  //$NON-NLS-1$
-			setToolTipText(JUnitMessages.getString("ExpandAllAction.tooltip"));  //$NON-NLS-1$
-		}
-		
-		public void run(){
-			expandAll();
-		}
-	}
-	public HierarchyRunView(CTabFolder tabFolder, TestRunnerViewPart runner) {
-		fTestRunnerPart= runner;
-		
-		CTabItem hierarchyTab= new CTabItem(tabFolder, SWT.NONE);
-		hierarchyTab.setText(getName());
-		hierarchyTab.setImage(fHierarchyIcon);
-		
-		Composite testTreePanel= new Composite(tabFolder, SWT.NONE);
-		GridLayout gridLayout= new GridLayout();
-		gridLayout.marginHeight= 0;
-		gridLayout.marginWidth= 0;
-		testTreePanel.setLayout(gridLayout);
-		
-		GridData gridData= new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		testTreePanel.setLayoutData(gridData);
-		
-		hierarchyTab.setControl(testTreePanel);
-		hierarchyTab.setToolTipText(JUnitMessages.getString("HierarchyRunView.tab.tooltip")); //$NON-NLS-1$
-		
-		fTree= new Tree(testTreePanel, SWT.V_SCROLL | SWT.SINGLE);
-		gridData= new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		fTree.setLayoutData(gridData);
-		
-		initMenu();
-		addListeners();
-	}
-
-	void disposeIcons() {
-		fErrorIcon.dispose();
-		fFailureIcon.dispose();
-		fOkIcon.dispose();
-		fHierarchyIcon.dispose();
-		fTestIcon.dispose();
-		fTestRunningIcon.dispose();
-		fSuiteRunningIcon.dispose();
-		fSuiteIcon.dispose();
-		fSuiteErrorIcon.dispose();
-		fSuiteFailIcon.dispose(); 
-	}
-	
-	private void initMenu() {
-		MenuManager menuMgr= new MenuManager();
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(this);
-		Menu menu= menuMgr.createContextMenu(fTree);
-		fTree.setMenu(menu);	
-	}
-
-	private String getTestMethod() {
-		return getTestInfo().getTestMethodName();
-	}
-
-	private TestRunInfo getTestInfo() {
-		TreeItem[] treeItems= fTree.getSelection();
-		if(treeItems.length == 0) 
-			return null;
-		return ((TestRunInfo)treeItems[0].getData());
-	}	
-	
-	private boolean isSuiteSelected() {
-		TreeItem[] treeItems= fTree.getSelection();
-		if(treeItems.length != 1) 
-			return false;
-		return treeItems[0].getItemCount() > 0;
-	}	
-	
-	private String getClassName() {
-		return getTestInfo().getClassName();
-	}
-	
-	public String getSelectedTestId() {
-		TestRunInfo testInfo= getTestInfo();
-		if (testInfo == null) 
-			return null;
-		return testInfo.getTestId();
-	}		
-
-	public String getName() {
-		return JUnitMessages.getString("HierarchyRunView.tab.title"); //$NON-NLS-1$
-	}
-	
-	public void setSelectedTest(String testId) {
-		TreeItem treeItem= findTreeItem(testId);
-		if (treeItem != null)
-			fTree.setSelection(new TreeItem[]{treeItem});
-	}
-	
-	public void startTest(String testId) {	
-		TreeItem treeItem= findTreeItem(testId);
-		if (treeItem == null)  
-			return;
-		TreeItem parent= treeItem.getParentItem();
-		if (fLastParent != parent) {
-			updatePath(parent);
-			fLastParent= parent;
-		}
-		setCurrentItem(treeItem);		
-	}
-
-	private void updatePath(TreeItem parent) {
-		List newPath= new ArrayList();
-		while (parent != null) {
-			newPath.add(parent);
-			parent= parent.getParentItem();
-		}
-		Collections.reverse(newPath);
-		
-		// common path
-		ListIterator old= fExecutionPath.listIterator();
-		ListIterator np= newPath.listIterator();
-		int c= 0;
-		while (old.hasNext() && np.hasNext()) {
-			if (old.next() != np.next())
-				break;
-			c++;
-		}
-		// clear old path
-		for (ListIterator iter= fExecutionPath.listIterator(c); iter.hasNext(); ) 
-			refreshItem((TreeItem) iter.next(), false);		
-		// update new path
-		for (ListIterator iter= newPath.listIterator(c); iter.hasNext(); ) 
-			refreshItem((TreeItem) iter.next(), true);		
-		fExecutionPath= newPath;
-	}
-	
-	private void refreshItem(TreeItem item, boolean onPath) {
-		if (onPath)
-			item.setImage(fSuiteRunningIcon);
-		else {
-			TestRunInfo info= getTestRunInfo(item);
-			switch (info.getStatus()) {
-			case  ITestRunListener.STATUS_ERROR:
-				item.setImage(fSuiteErrorIcon);
-				break;
-			case  ITestRunListener.STATUS_FAILURE:
-				item.setImage(fSuiteFailIcon);
-				break;
-			default:
-				item.setImage(fSuiteIcon);
-			}
-		}
-	}
-	
-	private void setCurrentItem(TreeItem treeItem) {
-		treeItem.setImage(fTestRunningIcon);
-	
-		TreeItem parent= treeItem.getParentItem();
-		if (fTestRunnerPart.isAutoScroll()) {
-			fTree.showItem(treeItem);
-			while (parent != null) {
-				if (parent.getExpanded()) 
-					break;
-				parent.setExpanded(true);
-				parent= parent.getParentItem();
-			}
-		}
-	}
-
-	public void endTest(String testId) {	
-		TreeItem treeItem= findTreeItem(testId);
-		if (treeItem == null)  
-			return;
-			
-		TestRunInfo testInfo= fTestRunnerPart.getTestInfo(testId);
-			
-		updateItem(treeItem, testInfo);
-		
-		if (fTestRunnerPart.isAutoScroll()) {
-			fTree.showItem(treeItem);
-			cacheItems(treeItem);
-			collapsePassedTests(treeItem);
-		} 
-	}
-
-	private void cacheItems(TreeItem treeItem) {
-		TreeItem parent= treeItem.getParentItem();
-		if (parent == fCachedParent)
-			return;
-		fCachedItems= parent.getItems();
-		fCachedParent= parent;	
-	}
-
-	private void collapsePassedTests(TreeItem treeItem) {
-		TreeItem parent= treeItem.getParentItem();
-		if (parent != null) {
-			TreeItem[] items= null;
-			if (parent == fCachedParent)
-				items= fCachedItems;
-			else 
-				items= parent.getItems();
-				
-			if (isLast(treeItem, items)) {
-				boolean ok= true;
-				for (int i= 0; i < items.length; i++) {
-					if (isFailure(items[i])) {
-						ok= false;
-						break;
-					}
-				}
-				if (ok) {
-					parent.setExpanded(false);
-					collapsePassedTests(parent);
-				}
-			}
-		}
-	}
-
-	private boolean isLast(TreeItem treeItem, TreeItem[] items) {
-		return items[items.length-1] == treeItem;
-	}
-
-	private void updateItem(TreeItem treeItem, TestRunInfo testInfo) {
-		treeItem.setData(testInfo);
-		if(testInfo.getStatus() == ITestRunListener.STATUS_OK) {
-			treeItem.setImage(fOkIcon);	
-			return;
-		}		
-		if (testInfo.getStatus() == ITestRunListener.STATUS_FAILURE) 
-			treeItem.setImage(fFailureIcon);
-		else if (testInfo.getStatus() == ITestRunListener.STATUS_ERROR)
-			treeItem.setImage(fErrorIcon);
-		propagateStatus(treeItem, testInfo.getStatus());	
-	}
-
-	private void propagateStatus(TreeItem item, int status) {
-		TreeItem parent= item.getParentItem();
-		TestRunInfo testRunInfo= getTestRunInfo(item);
-		
-		if (parent == null)
-			return;
-		TestRunInfo parentInfo= getTestRunInfo(parent);
-		int parentStatus= parentInfo.getStatus();
-		
-		if (status == ITestRunListener.STATUS_FAILURE) {
-			if (parentStatus == ITestRunListener.STATUS_ERROR || parentStatus == ITestRunListener.STATUS_FAILURE) 
-				return;
-			parentInfo.setStatus(ITestRunListener.STATUS_FAILURE);
-			testRunInfo.setStatus(ITestRunListener.STATUS_FAILURE);
-		} else {
-			if (parentStatus == ITestRunListener.STATUS_ERROR) 
-				return;
-			parentInfo.setStatus(ITestRunListener.STATUS_ERROR);
-			testRunInfo.setStatus(ITestRunListener.STATUS_ERROR);
-		}
-		propagateStatus(parent, status);
-	}
-	
-	private TestRunInfo getTestRunInfo(TreeItem item) {
-		return (TestRunInfo)item.getData();
-	}
-
-	public void activate() {
-		fMoveSelection= false;
-		testSelected();
-	}
-	
-	public void setFocus() {
-		fTree.setFocus();
-	}
-
-	public void aboutToStart() {
-		fTree.removeAll();
-		fSuiteInfos.removeAllElements();
-		fTreeItemMap= new HashMap();
-		fCachedParent= null;
-		fCachedItems= null;
-		fMoveSelection= false;
-		fExecutionPath= new ArrayList();
-	}
-	
-	private void testSelected() {
-		fTestRunnerPart.handleTestSelected(getSelectedTestId());
-	}
-	
-	private void addListeners() {
-		fTree.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				activate();
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				activate();
-			}
-		});
-		
-		fTree.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				disposeIcons();
-			}
-		});
-
-		fTree.addMouseListener(new MouseAdapter() {
-			public void mouseDoubleClick(MouseEvent e) {
-				handleDoubleClick(e);
-			}
-		});
-	}
-	
-	void handleDoubleClick(MouseEvent e) {
-		TestRunInfo testInfo= getTestInfo();
-		
-		if (testInfo == null)
-			return;
-			
-		String testLabel= testInfo.getTestName();
-		OpenTestAction action= null;
-		
-		if (isSuiteSelected()) 	
-			action= new OpenTestAction(fTestRunnerPart, testLabel);
-		else 
-			action= new OpenTestAction(fTestRunnerPart, getClassName(), getTestMethod());
-
-		if (action != null && action.isEnabled())
-			action.run();													
-	}
-
-	public void menuAboutToShow(IMenuManager manager) {
-		if (fTree.getSelectionCount() > 0) {
-			TreeItem treeItem= fTree.getSelection()[0];
-			TestRunInfo testInfo= (TestRunInfo) treeItem.getData();
-			String testLabel= testInfo.getTestName();
-			if (isSuiteSelected()) {	
-				manager.add(new OpenTestAction(fTestRunnerPart, testLabel));
-				manager.add(new Separator());
-				if (testClassExists(getClassName()) && !fTestRunnerPart.lastLaunchIsKeptAlive()) {
-					manager.add(new RerunAction(fTestRunnerPart, getSelectedTestId(), getClassName(), null, ILaunchManager.RUN_MODE));
-					manager.add(new RerunAction(fTestRunnerPart, getSelectedTestId(), getClassName(), null, ILaunchManager.DEBUG_MODE));
-				}
-			} else {
-				manager.add(new OpenTestAction(fTestRunnerPart, getClassName(), getTestMethod()));
-				manager.add(new Separator());
-				if (fTestRunnerPart.lastLaunchIsKeptAlive()) {
-					manager.add(new RerunAction(fTestRunnerPart, getSelectedTestId(), getClassName(), getTestMethod(), ILaunchManager.RUN_MODE));
-					
-				} else {
-					manager.add(new RerunAction(fTestRunnerPart, getSelectedTestId(), getClassName(), getTestMethod(), ILaunchManager.RUN_MODE));
-					manager.add(new RerunAction(fTestRunnerPart, getSelectedTestId(), getClassName(), getTestMethod(), ILaunchManager.DEBUG_MODE));
-				} 
-			}
-			manager.add(new Separator());
-			manager.add(new ExpandAllAction());
-		}
-	}	
-	
-	private boolean testClassExists(String className) {
-		IJavaProject project= fTestRunnerPart.getLaunchedProject();
-		try {
-			IType type= project.findType(className);
-			return type != null;
-		} catch (JavaModelException e) {
-			// fall through
-		}
-		return false;
-	}
-
-	public void newTreeEntry(String treeEntry) {
-		// format: testId","testName","isSuite","testcount
-		int index0= treeEntry.indexOf(',');
-		StringBuffer testStringBuffer= new StringBuffer(100);
-		int index1= scanTestName(treeEntry, index0+1, testStringBuffer);
-		int index2= treeEntry.indexOf(',', index1+1);
-		String testString= testStringBuffer.toString().trim();
-		String id= treeEntry.substring(0, index0);
-		TestRunInfo testInfo= new TestRunInfo(id, testString);
-		
-		String isSuite= treeEntry.substring(index1+1, index2);
-		int testCount= Integer.parseInt(treeEntry.substring(index2+1));
-		TreeItem treeItem;
-	
-		while((fSuiteInfos.size() > 0) && (((SuiteInfo) fSuiteInfos.lastElement()).fTestCount == 0))	{
-			fSuiteInfos.removeElementAt(fSuiteInfos.size()-1);
-		}
-	
-		if(fSuiteInfos.size() == 0){
-			treeItem= new TreeItem(fTree, SWT.NONE);
-			treeItem.setImage(fSuiteIcon);
-			fSuiteInfos.addElement(new SuiteInfo(treeItem, testCount));
-		} else if(isSuite.equals("true")) { //$NON-NLS-1$
-			treeItem= new TreeItem(((SuiteInfo) fSuiteInfos.lastElement()).fTreeItem, SWT.NONE);
-			treeItem.setImage(fSuiteIcon);
-			((SuiteInfo)fSuiteInfos.lastElement()).fTestCount -= 1;
-			fSuiteInfos.addElement(new SuiteInfo(treeItem, testCount));
-		} else {
-			treeItem= new TreeItem(((SuiteInfo) fSuiteInfos.lastElement()).fTreeItem, SWT.NONE);
-			treeItem.setImage(fTestIcon);
-			((SuiteInfo)fSuiteInfos.lastElement()).fTestCount -= 1;
-			mapTest(testInfo, treeItem);
-		}
-		treeItem.setText(testInfo.getTestMethodName());
-		treeItem.setData(testInfo);
-	}
-	
-	private int scanTestName(String s, int start, StringBuffer testName) {
-		boolean inQuote= false;
-		int i= start;
-		for (; i < s.length(); i++) {
-			char c= s.charAt(i);
-			if (c == '\\' && !inQuote) {
-				inQuote= true;
-				continue;
-			} else if (inQuote) {
-				inQuote= false;
-				testName.append(c);
-			} else if (c == ',')
-				break;
-			else
-				testName.append(c);
-		}
-		return i;
-	}
-
-
-	private void mapTest(TestRunInfo info, TreeItem item) {
-		fTreeItemMap.put(info.getTestId(), item);
-	}
-	
-	private TreeItem findTreeItem(String testId) {
-		Object o= fTreeItemMap.get(testId);
-		if (o instanceof TreeItem) 
-			return (TreeItem)o;
-		return null;
-	}
-	
-	/*
-	 * @see ITestRunView#testStatusChanged(TestRunInfo, int)
-	 */
-	public void testStatusChanged(TestRunInfo newInfo) {
-		Object o= fTreeItemMap.get(newInfo.getTestId());
-		if (o instanceof TreeItem) {
-			updateItem((TreeItem)o, newInfo);
-			return;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.junit.ui.ITestRunView#selectNext()
-	 */
-	public void selectNext() {
-		TreeItem selection= getInitialSearchSelection();
-		if (!moveSelection(selection))
-			return;
-			
-		TreeItem failure= findFailure(selection, true, !isLeafFailure(selection));
-		if (failure != null)
-			selectTest(failure);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.junit.ui.ITestRunView#selectPrevious()
-	 */
-	public void selectPrevious() {
-		TreeItem selection= getInitialSearchSelection();		
-		if (!moveSelection(selection))
-			return;
-		
-		TreeItem failure= findFailure(selection, false, !isLeafFailure(selection));
-		if (failure != null)
-			selectTest(failure);
-	}
-
-	private boolean moveSelection(TreeItem selection) {
-		if (!fMoveSelection) {
-			fMoveSelection= true;
-			if (isLeafFailure(selection)) {
-				selectTest(selection);
-				return false;
-			}
-		}
-		return true;
-	}
-
-	private TreeItem getInitialSearchSelection() {
-		TreeItem[] treeItems= fTree.getSelection();	
-		TreeItem selection= null;
-		
-		if (treeItems.length == 0)	
-			selection= fTree.getItems()[0];
-		else
-			selection= treeItems[0];
-		return selection;
-	}
-
-	private boolean isFailure(TreeItem selection) {
-		return !(getTestRunInfo(selection).getStatus() == ITestRunListener.STATUS_OK);
-	}
-
-	private boolean isLeafFailure(TreeItem selection) {
-		boolean isLeaf= selection.getItemCount() == 0;
-		return isLeaf && isFailure(selection);
-	}
-
-	private void selectTest(TreeItem selection) {
-		fTestRunnerPart.showTest(getTestRunInfo(selection));
-	}
-
-	private TreeItem findFailure(TreeItem start, boolean next, boolean includeNode) {
-		TreeItem[] sib= findSiblings(start, next, includeNode);
-		if (next) {
-			for (int i= 0; i < sib.length; i++) {
-				TreeItem failure= findFailureInTree(sib[i]);
-				if (failure != null)
-					return failure;
-			}
-		} else {
-			for (int i= sib.length-1; i >= 0; i--) {
-				TreeItem failure= findFailureInTree(sib[i]);
-				if (failure != null)
-					return failure;
-			}
-		}
-		TreeItem parent= start.getParentItem();
-		if (parent == null)
-			return null;
-		return findFailure(parent, next, false);
-	}
-
-	private TreeItem[] findSiblings(TreeItem item, boolean next, boolean includeNode) {
-		TreeItem parent= item.getParentItem();
-		TreeItem[] children= null;
-		if (parent == null) 
-			children= item.getParent().getItems();
-		else	
-			children= parent.getItems();
-		
-		for (int i= 0; i < children.length; i++) {
-			TreeItem item2= children[i];
-			if (item2 == item) {
-				TreeItem[] result= null;
-				if (next) {
-					if (!includeNode) {
-						result= new TreeItem[children.length-i-1];
-						System.arraycopy(children, i+1, result, 0, children.length-i-1);
-					} else {
-						result= new TreeItem[children.length-i];
-						System.arraycopy(children, i, result, 0, children.length-i);
-						
-					}
-				} else {
-					if (!includeNode) {
-						result= new TreeItem[i];
-						System.arraycopy(children, 0, result, 0, i);
-					} else {
-						result= new TreeItem[i+1];
-						System.arraycopy(children, 0, result, 0, i+1);
-					}
-				}
-				return result;
-			}	
-		}
-		return new TreeItem[0];
-	}
-
-	private TreeItem findFailureInTree(TreeItem item) {
-		if (item.getItemCount() == 0) {
-			if (isFailure(item))
-				return item;			
-		}
-		TreeItem[] children= item.getItems();
-		for (int i= 0; i < children.length; i++) {
-			TreeItem item2= findFailureInTree(children[i]);
-			if (item2 != null)
-				return item2;
-		}
-		return null;
-	}
-	
-	protected void expandAll() {
-		TreeItem[] treeItems= fTree.getSelection();
-		fTree.setRedraw(false);
-		for (int i= 0; i < treeItems.length; i++) {
-			expandAll(treeItems[i]);
-		}
-		fTree.setRedraw(true);
-	}
-	
-	private void expandAll(TreeItem item) {
-		item.setExpanded(true);
-		TreeItem[] items= item.getItems();
-		for (int i= 0; i < items.length; i++) {
-			expandAll(items[i]);
-		}
-	}
-
-	public void aboutToEnd() {
-		for (int i= 0; i < fExecutionPath.size(); i++) {
-			refreshItem((TreeItem) fExecutionPath.get(i), false);
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/IJUnitHelpContextIds.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/IJUnitHelpContextIds.java
deleted file mode 100644
index 8b69397..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/IJUnitHelpContextIds.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.junit.ui;
-
-/**
- * Help context ids for the JUnit UI.
- */
-public interface IJUnitHelpContextIds {
-	public static final String PREFIX= JUnitPlugin.PLUGIN_ID + '.';
-
-	// Actions
-	public static final String COPYTRACE_ACTION= PREFIX + "copy_trace_action_context"; //$NON-NLS-1$
-	public static final String COPYFAILURELIST_ACTION= PREFIX + "copy_failure_list_action_context"; //$NON-NLS-1$
-	public static final String ENABLEFILTER_ACTION= PREFIX + "enable_filter_action_context"; //$NON-NLS-1$
-	public static final String OPENEDITORATLINE_ACTION= PREFIX + "open_editor_atline_action_context"; //$NON-NLS-1$
-	public static final String OPENTEST_ACTION= PREFIX + "open_test_action_context"; //$NON-NLS-1$
-	public static final String RERUN_ACTION= PREFIX + "rerun_test_action_context"; //$NON-NLS-1$
-	public static final String GOTO_REFERENCED_TEST_ACTION_CONTEXT= PREFIX + "goto_referenced_test_action_context"; //$NON-NLS-1$
-	public static final String OUTPUT_SCROLL_LOCK_ACTION= PREFIX + "scroll_lock"; //$NON-NLS-1$
-	
-	// view parts
-	public static final String RESULTS_VIEW= PREFIX + "results_view_context"; //$NON-NLS-1$
-	public static final String RESULTS_VIEW_TOGGLE_ORIENTATION_ACTION= PREFIX + "results_view_toggle_call_mode_action_context"; //$NON-NLS-1$
-	
-	// Preference/Property pages
-	public static final String JUNIT_PREFERENCE_PAGE= PREFIX + "junit_preference_page_context"; //$NON-NLS-1$
-
-	// Wizard pages
-	public static final String NEW_TESTCASE_WIZARD_PAGE= PREFIX + "new_testcase_wizard_page_context"; //$NON-NLS-1$
-	public static final String NEW_TESTCASE_WIZARD_PAGE2= PREFIX + "new_testcase_wizard_page2_context"; //$NON-NLS-1$
-	public static final String NEW_TESTSUITE_WIZARD_PAGE= PREFIX + "new_testsuite_wizard_page2_context"; //$NON-NLS-1$
-	
-	// Dialogs
-	public static final String TEST_SELECTION_DIALOG= PREFIX + "test_selection_context"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/IJUnitPreferencesConstants.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/IJUnitPreferencesConstants.java
deleted file mode 100644
index 94a28a6..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/IJUnitPreferencesConstants.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.junit.ui;
-
-/**
- * Defines constants which are used to refer to values in the plugin's preference store.
- */
-public interface IJUnitPreferencesConstants {
-	/**
-	 * Boolean preference controlling whether the failure stack should be
-	 * filtered.
-	 */	
-	public static String DO_FILTER_STACK= JUnitPlugin.PLUGIN_ID + ".do_filter_stack"; //$NON-NLS-1$
-
-	/**
-	 * Boolean preference controlling whether the JUnit view should be shown on
-	 * errors only.
-	 */	
-	public static String SHOW_ON_ERROR_ONLY= JUnitPlugin.PLUGIN_ID + ".show_on_error"; //$NON-NLS-1$
-	
-	/**
-	 * List of active stack filters. A String containing a comma separated list
-	 * of fully qualified type names/patterns.
-	 */			
-	public static final String PREF_ACTIVE_FILTERS_LIST = JUnitPlugin.PLUGIN_ID + ".active_filters"; //$NON-NLS-1$
-	
-	/**
-	 * List of inactive stack filters. A String containing a comma separated
-	 * list of fully qualified type names/patterns.
-	 */				
-	public static final String PREF_INACTIVE_FILTERS_LIST = JUnitPlugin.PLUGIN_ID + ".inactive_filters"; //$NON-NLS-1$	
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunListener2.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunListener2.java
deleted file mode 100644
index 5067556..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunListener2.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.junit.ui;
-
-import org.eclipse.jdt.junit.ITestRunListener;
-
-/**
- * Extends ITestRunListener with a call back to trace the test contents
- */
-public interface ITestRunListener2 extends ITestRunListener {
-
-	/**
-	 * Information about a member of the test suite that is about to be run.
-	 * The format of the string is: 
-	 * <pre>
-	 * "testId","testName","isSuite","testcount"
-	 * 
-	 * testId: a unique id for the test
-	 * testName: the name of the test
-	 * isSuite: true or false depending on whether the test is a suite
-	 * testCount: an integer indicating the number of tests 
-	 * 
-	 * Example: "324968,testPass(junit.tests.MyTest),false,1"
-	 * </pre>
-	 * 
-	 * @param entry
-	 */ 
-	public void testTreeEntry(String description);
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunListener3.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunListener3.java
deleted file mode 100644
index 1f20b9c..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunListener3.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.junit.ui;
-
-
-/**
- * Extends ITestRunListener2 with a call back to trace the test contents
- */
-public interface ITestRunListener3 extends ITestRunListener2 {
-
-    public void testFailed(int status, String testId, String testName, String trace, String expected, String actual);
-
-	public void testReran(String testId, String className, String testName, int statusCode, String trace, String expectedResult, String actualResult);
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunView.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunView.java
deleted file mode 100644
index f49398d..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ITestRunView.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.junit.ui;
-
-
-/**
- * A TestRunView is shown as a page in a tabbed folder.
- * It contributes the page contents and can return
- * the currently selected test.
- */
-interface ITestRunView {
-	/**
-	 * Returns the name of the currently selected Test in the View
-	 */
-	public String getSelectedTestId();
-
-	/**
-	 * Activates the TestRunView
-	 */
-	public void activate();
-	
-	/**
-	 * Sets the focus in the TestRunView
-	 */
-	public void setFocus();
-	
-	/**
-	 * Informs that the suite is about to start 
-	 */
-	public void aboutToStart();
-
-	/**
-	 * Informs that the suite is about to start 
-	 */
-	public void aboutToEnd();
-	
-	/**
-	 * Returns the name of the RunView
-	 */
-	public String getName();
-	
-	/**
-	 * Sets the current Test in the View
-	 */
-	public void setSelectedTest(String testId);
-	
-	/**
-	 * A test has started
-	 */
-	public void startTest(String testId);
-
-	/**
-	 * A test has ended
-	 */
-	public void endTest(String testId);
-	
-	/**
-	 * The status of a test has changed
-	 */
-	public void testStatusChanged(TestRunInfo newInfo);
-	/**
-	 * A new tree entry got posted.
-	 */
-	public void newTreeEntry(String treeEntry);	
-	
-	/**
-	 * Select next test failure.
-	 */
-	public void selectNext();	
-	
-	/**
-	 * Select previous test failure.
-	 */
-	public void selectPrevious();	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitAddLibraryProposal.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitAddLibraryProposal.java
deleted file mode 100644
index 88c9724..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitAddLibraryProposal.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Created on Jul 16, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code Template
- */
-package org.eclipse.jdt.internal.junit.ui;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.junit.wizards.NewTestCaseCreationWizardPage;
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * @author egamma
- */
-final class JUnitAddLibraryProposal implements IJavaCompletionProposal {
-	private final IInvocationContext fContext;
-
-	public JUnitAddLibraryProposal(IInvocationContext context) {
-		fContext= context;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IJavaCompletionProposal#getRelevance()
-	 */
-	public int getRelevance() {
-		return 0;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
-	 */
-	public void apply(IDocument document) {   
-		IJavaProject project= fContext.getCompilationUnit().getJavaProject();
-		try {
-			NewTestCaseCreationWizardPage.addJUnitToBuildPath(project);
-			// force a reconcile
-			int offset= fContext.getSelectionOffset();
-			int length= fContext.getSelectionLength();
-			String s= document.get(offset, length);
-			document.replace(offset, length, s);
-		} catch (JavaModelException e) {
-			ErrorDialog.openError(JUnitPlugin.getActiveWorkbenchShell(), JUnitMessages.getString("JUnitAddLibraryProposal.title"), JUnitMessages.getString("JUnitAddLibraryProposal.cannotAdd"), e.getStatus());  //$NON-NLS-1$ //$NON-NLS-2$
-
-		} catch (BadLocationException e) {
-			//ignore
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		return new Point(fContext.getSelectionOffset(), fContext.getSelectionLength());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return JUnitMessages.getString("JUnitAddLibraryProposal.info"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		return JUnitMessages.getString("JUnitAddLibraryProposal.label"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitHomeInitializer.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitHomeInitializer.java
deleted file mode 100644
index 34f659a..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitHomeInitializer.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jdt.core.ClasspathVariableInitializer;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-
-public class JUnitHomeInitializer extends ClasspathVariableInitializer {	
-	/**
-	 * @see ClasspathVariableInitializer#initialize(String)
-	 */
-	public void initialize(String variable) {
-		Plugin plugin= Platform.getPlugin("org.junit"); //$NON-NLS-1$
-		
-		if (plugin == null) {
-			JavaCore.removeClasspathVariable(JUnitPlugin.JUNIT_HOME, null);
-		}
-		URL installLocation= plugin.getDescriptor().getInstallURL();
-		URL local= null;
-		try {
-			try {
-				local= Platform.asLocalURL(installLocation);
-			} catch (IOException e) {
-				JavaCore.removeClasspathVariable(JUnitPlugin.JUNIT_HOME, null);
-			}
-			JavaCore.setClasspathVariable(JUnitPlugin.JUNIT_HOME, new Path(local.getFile()), null);
-		} catch (JavaModelException e1) {
-			JavaCore.removeClasspathVariable(JUnitPlugin.JUNIT_HOME, null);
-		}
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitMessages.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitMessages.java
deleted file mode 100644
index f7bb5dd..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitMessages.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.junit.ui;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class JUnitMessages {
-
-	private static final String BUNDLE_NAME= "org.eclipse.jdt.internal.junit.ui.JUnitMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE= ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private JUnitMessages() {
-	}
-
-	/**
-	 * 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);
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitMessages.properties b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitMessages.properties
deleted file mode 100644
index dbe4bad..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitMessages.properties
+++ /dev/null
@@ -1,193 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-CopyTrace.action.label=Copy Trace
-CopyTraceAction.problem=Problem Copying to Clipboard
-CopyTraceAction.clipboard_busy=There was a problem when accessing the system clipboard. Retry?
-
-CopyFailureList.action.label=Copy Failure List
-CopyFailureList.problem=Problem Copying Failure List to Clipboard
-CopyFailureList.clipboard_busy=There was a problem when accessing the system clipboard. Retry?
-
-CounterPanel.label.runs=Runs: 
-CounterPanel.label.errors=Errors: 
-CounterPanel.label.failures=Failures: 
-CounterPanel.runcount= {0}/{1}
-
-EnableStackFilterAction.action.label=Filter
-EnableStackFilterAction.action.description=Filter the stack trace
-EnableStackFilterAction.action.tooltip=Filter Stack Trace
-
-ScrollLockAction.action.label=Scroll Lock
-ScrollLockAction.action.description=Scroll lock
-ScrollLockAction.action.tooltip=Scroll Lock
-
-FailureRunView.tab.tooltip=Failures and Errors
-FailureRunView.tab.title=Failures
-FailureRunView.labelfmt= {0} - {1}
-
-FilterPatternsDialog.message.notempty=Filter must not be empty
-
-HierarchyRunView.tab.tooltip=Test Hierarchy
-HierarchyRunView.tab.title=Hierarchy
-
-JUnitPlugin.error.cannotshow=Could not show JUnit Result View
-JUnitPlugin.searching=Searching
-
-JUnitPreferencePage.description=JUnit settings:
-JUnitPreferencePage.addfilterbutton.label=Add &Filter
-JUnitPreferencePage.addfilterbutton.tooltip=Key in the Name of a New Stack Filter
-JUnitPreferencePage.addtypebutton.label=Add &Class...
-JUnitPreferencePage.addtypebutton.tooltip=Choose a Java Type and Add It to Stack Filters
-JUnitPreferencePage.addpackagebutton.label=Add &Packages...
-JUnitPreferencePage.addpackagebutton.tooltip=Choose Package(s) to Add to Stack Filters
-JUnitPreferencePage.removefilterbutton.label=&Remove
-JUnitPreferencePage.removefilterbutton.tooltip=Remove All Selected Stack Filters
-JUnitPreferencePage.enableallbutton.label=&Enable All
-JUnitPreferencePage.enableallbutton.tooltip=Enables All Stack Filters
-JUnitPreferencePage.disableallbutton.label=Disa&ble All
-JUnitPreferencePage.disableallbutton.tooltip=Disables All Stack Filters
-JUnitPreferencePage.filter.label=&Stack trace filter patterns (changes only apply to new test runs):
-JUnitPreferencePage.adddialog.title=Add Stack Filter Pattern
-JUnitPreferencePage.addialog.prompt=Enter Filter Pattern:
-JUnitPreferencePage.showcheck.label=Show the JUnit results &view only when an error or failure occurs
-JUnitPreferencePage.invalidstepfilterreturnescape=Invalid stack filter. Press Return to continue editing or Escape to cancel.  
-JUnitPreferencePage.addtypedialog.title=Add Class to Stack Filters
-JUnitPreferencePage.addtypedialog.message=&Select a class to filter in the failure stack trace.
-JUnitPreferencePage.addtypedialog.error.message=Could not open type selection dialog for stack filters.
-JUnitPreferencePage.addpackagedialog.title=Add Packages to Stack Filters
-JUnitPreferencePage.addpackagedialog.message=&Select a package to filter in the failure stack trace.
-JUnitPreferencePage.addpackagedialog.error.message=Could not open package selection dialog for stack filters.
-
-OpenEditorAction.action.label=&Go to File
-OpenEditorAction.error.cannotopen.title=Cannot Open Editor
-OpenEditorAction.error.cannotopen.message=Test class not found in project
-OpenEditorAction.error.dialog.title=Error
-OpenEditorAction.error.dialog.message=Could not open editor
-OpenEditorAction.message.cannotopen=Could not open editor
-
-OpenTestAction.error.title=Go To Test
-OpenTestAction.error.methodNoFound=Method ''{0}'' not found. Opening the test class.
-
-
-TestRunnerViewPart.stopaction.text=Stop JUnit Test
-TestRunnerViewPart.stopaction.tooltip=Stop JUnit Test Run
-TestRunnerViewPart.rerunaction.label=Rerun last Test
-TestRunnerViewPart.rerunaction.tooltip=Rerun last Test
-TestRunnerViewPart.error.cannotrerun=Could not rerun test
-TestRunnerViewPart.message.terminated=Terminated
-TestRunnerViewPart.message.launching=Launching TestRunner
-TestRunnerViewPart.cannotrerun.title=Rerun Test
-TestRunnerViewPart.cannotrerurn.message=Can only rerun tests when they are launched under the debugger\nand when the \'keep JUnit running\' is set in the launch configuration.
-TestRunnerViewPart.message.cannotshow=Could not show JUnit Result View
-TestRunnerViewPart.label.failure=Failure Trace
-TestRunnerViewPart.message.finish= JUnit test run finished: {0} seconds (Errors: {1}, Failures: {2})
-TestRunnerViewPart.message.stopped= JUnit test run stopped after: {0} seconds
-TestRunnerViewPart.message.started= JUnit test run started: {0} - {1}
-TestRunnerViewPart.message.failure= {0}({1}) had a failure
-TestRunnerViewPart.message.error= {0}({1}) had an error
-TestRunnerViewPart.message.success= {0}({1}) was successful
-TestRunnerViewPart.title= JUnit ({0})
-TestRunnerViewPart.title_no_type=JUnit
-TestRunnerViewPart.toggle.vertical.label=&Vertical View Orientation
-TestRunnerViewPart.toggle.horizontal.label=&Horizontal View Orientation
-
-JUnitBaseLaunchConfiguration.error.invalidproject=Invalid project specified
-JUnitBaseLaunchConfiguration.error.novmrunner=Internal error: JRE {0} does not specify a VM Runner
-JUnitBaseLaunchConfiguration.error.notests=No tests found
-
-JUnitMainTab.label.oneTest=&Run a single test
-JUnitMainTab.label.project=&Project:
-JUnitMainTab.label.browse=&Browse...
-JUnitMainTab.label.test=T&est class:
-JUnitMainTab.label.search=&Search...
-JUnitMainTab.label.containerTest=Run &all tests in the selected project, package or source folder:
-JUnitMainTab.label.keeprunning=&Keep JUnit running after a test run when debugging
-JUnitMainTab.testdialog.title=Test Selection
-JUnitMainTab.testdialog.message=Choose a test case or test suite:
-JUnitMainTab.projectdialog.title=Project Selection
-JUnitMainTab.projectdialog.message=Choose a project to constrain the search for main types:
-JUnitMainTab.tab.label=Test
-JUnitMainTab.label.defaultpackage=(default package)
-JUnitMainTab.label.method=Test method: 
-JUnitMainTab.folderdialog.title=Folder Selection
-JUnitMainTab.folderdialog.message=Choose a Project, Source Folder or Package:
-JUnitMainTab.error.projectnotdefined=Project not specified
-JUnitMainTab.error.projectnotexists=Project does not exist
-JUnitMainTab.error.notJavaProject=Specified project is not a Java project
-JUnitMainTab.error.testnotdefined=Test not specified
-JUnitMainTab.error.testnotexists=Test class does not exist
-JUnitMainTab.error.invalidTest=Specified class is not a valid test class
-JUnitMainTab.error.noContainer=No project, source folder or package is specified 
-
-TestSearchEngine.message.searching=Searching suites
-LaunchTestAction.dialog.title=JUnit Launch
-LaunchTestAction.message.notests=No JUnit tests found.
-LaunchTestAction.dialog.title2=Test Selection
-LaunchTestAction.message.selectTestToRun=Select Test to debug
-LaunchTestAction.message.selectTestToDebug=Select Test to run
-LaunchTestAction.message.launchFailed=JUnit Launch Failed
-LaunchTestAction.message.selectConfiguration=Select a Test Configuration
-LaunchTestAction.message.selectDebugConfiguration=Select JUnit configuration to debug
-LaunchTestAction.message.selectRunConfiguration=Select JUnit configuration to run
-
-ShowNextFailureAction.label=Next Failure
-ShowNextFailureAction.tooltip=Next Failed Test
-ShowPreviousFailureAction.label=Previous Failure
-ShowPreviousFailureAction.tooltip=Previous Failed Test
-
-GotoReferencedTestAction.dialog.message=Select a method, type, or compilation unit to open tests that refer to them.
-GotoReferencedTestAction.dialog.title=Go to Test
-GotoReferencedTestAction.dialog.error.nomethod=Selection is not inside of a type or method.
-GotoReferencedTestAction.dialog.error=Test cannot be found
-GotoReferencedTestAction.selectdialog.title=Select Test
-GotoReferencedTestAction.dialog.select_message=Select a test that refers to ''{0}''.
-
-TestMethodSelectionDialog.error.title=Select Test
-TestMethodSelectionDialog.no_tests.title=Go to Test
-TestMethodSelectionDialog.error.notfound.title=Find Test
-TestMethodSelectionDialog.error.notfound.message=Could not find test
-TestMethodSelectionDialog.select_dialog.title=Select Test
-TestMethodSelectionDialog.dialog.title=Go to Referring Tests
-TestMethodSelectionDialog.notfound_message=No tests found that reference ''{0}''.
-TestMethodSelectionDialog.test_not_found=Cannot find ''{0}'' - make sure that JUnit is on the project's classpath.
-TestMethodSelectionDialog.testproject=Multiple projects contain ''{0}''. Select one project to be used when searching for tests.
-
-Resources.outOfSyncResources= Some resources are out of sync
-Resources.outOfSync= Resource ''{0}'' is out of sync with file system.
-Resources.modifiedResources= There are modified resources
-Resources.fileModified= File ''{0}'' has been modified since the beginning of the operation
-
-ExpandAllAction.text=Expand All
-ExpandAllAction.tooltip=Expand All Nodes
-
-JUnitAddLibraryProposal.info=Add the JUnit library to the project\'s build class path
-JUnitAddLibraryProposal.label=Add JUnit libraries
-JUnitAddLibraryProposal.title=Error
-JUnitAddLibraryProposal.cannotAdd=Cannot add the JUnit library to the build path.
-
-CompareResultsAction.label=Compare Result
-CompareResultsAction.description=Compare the actual and expected test result
-CompareResultsAction.tooltip=Compare Actual With Expected Test Result
-
-CompareResultDialog.title=Result Comparison
-CompareResultDialog.labelOK=OK
-CompareResultDialog.expectedLabel=Expected
-CompareResultDialog.actualLabel=Actual
-
-TypeRenameParticipant.name=JUnit Launch configuration participant
-TypeRenameParticipant.change.name=JUnit Launch configuration update
-
-RerunAction.label.run=&Run
-RerunAction.label.debug=&Debug
-TestRunnerViewPart.terminate.title=Run Last Test
-TestRunnerViewPart.terminate.message=Terminate currently running tests?
-
-
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitPlugin.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitPlugin.java
deleted file mode 100644
index 9d90c07..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitPlugin.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *   Julien Ruaux: jruaux@octo.com
- * 	 Vincent Massol: vmassol@octo.com
- ******************************************************************************/
-
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.AbstractSet;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.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.IPluginDescriptor;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration;
-import org.eclipse.jdt.junit.ITestRunListener;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The plug-in runtime class for the JUnit plug-in.
- */
-public class JUnitPlugin extends AbstractUIPlugin implements ILaunchListener {
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static JUnitPlugin fgPlugin= null;
-
-	public static final String PLUGIN_ID= "org.eclipse.jdt.junit"; //$NON-NLS-1$
-	public static final String ID_EXTENSION_POINT_TESTRUN_LISTENERS= PLUGIN_ID + "." + "testRunListeners"; //$NON-NLS-1$ //$NON-NLS-2$
-
-	public final static String TEST_SUPERCLASS_NAME= "junit.framework.TestCase"; //$NON-NLS-1$
-	public final static String TEST_INTERFACE_NAME= "junit.framework.Test"; //$NON-NLS-1$
-	
-	/**
-	 * The class path variable referring to the junit home location
-	 */
-	public final static String JUNIT_HOME= "JUNIT_HOME"; //$NON-NLS-1$
-
-	private static URL fgIconBaseURL;
-
-	/**
-	 * Use to track new launches. We need to do this
-	 * so that we only attach a TestRunner once to a launch.
-	 * Once a test runner is connected it is removed from the set.
-	 */
-	private AbstractSet fTrackedLaunches= new HashSet(20);
-
-	/**
-	 * List storing the registered test run listeners
-	 */
-	private List fTestRunListeners;
-
-	public JUnitPlugin(IPluginDescriptor desc) {
-		super(desc);
-		fgPlugin= this;
-		String pathSuffix= "icons/full/"; //$NON-NLS-1$
-		try {
-			fgIconBaseURL= new URL(getDescriptor().getInstallURL(), pathSuffix);
-		} catch (MalformedURLException e) {
-			// do nothing
-		}
-	}
-
-	public static JUnitPlugin getDefault() {
-		return fgPlugin;
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow workBenchWindow= getActiveWorkbenchWindow();
-		if (workBenchWindow == null)
-			return null;
-		return workBenchWindow.getShell();
-	}
-
-	/**
-	 * Returns the active workbench window
-	 * 
-	 * @return the active workbench window
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		if (fgPlugin == null)
-			return null;
-		IWorkbench workBench= fgPlugin.getWorkbench();
-		if (workBench == null)
-			return null;
-		return workBench.getActiveWorkbenchWindow();
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow activeWorkbenchWindow= getActiveWorkbenchWindow();
-		if (activeWorkbenchWindow == null)
-			return null;
-		return activeWorkbenchWindow.getActivePage();
-	}
-
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	/*
-	 * @see AbstractUIPlugin#initializeDefaultPreferences
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		super.initializeDefaultPreferences(store);
-		JUnitPreferencePage.initializeDefaults(store);
-	}
-
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, "Error", e)); //$NON-NLS-1$
-	}
-
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-
-	public static URL makeIconFileURL(String name) throws MalformedURLException {
-		if (JUnitPlugin.fgIconBaseURL == null)
-			throw new MalformedURLException();
-		return new URL(JUnitPlugin.fgIconBaseURL, name);
-	}
-
-	static ImageDescriptor getImageDescriptor(String relativePath) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(relativePath));
-		} catch (MalformedURLException e) {
-			// should not happen
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-
-	/*
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		fTrackedLaunches.remove(launch);
-		TestRunnerViewPart testRunnerViewPart= findTestRunnerViewPartInActivePage();
-		if (testRunnerViewPart != null && testRunnerViewPart.isCreated() && launch.equals(testRunnerViewPart.getLastLaunch()))
-			testRunnerViewPart.reset();
-	}
-
-	/*
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		fTrackedLaunches.add(launch);
-	}
-
-	public void connectTestRunner(ILaunch launch, IType launchedType, int port) {
-		TestRunnerViewPart testRunnerViewPart= showTestRunnerViewPartInActivePage(findTestRunnerViewPartInActivePage());
-		if (testRunnerViewPart != null)
-			testRunnerViewPart.startTestRunListening(launchedType, port, launch);
-	}
-
-	private TestRunnerViewPart showTestRunnerViewPartInActivePage(TestRunnerViewPart testRunner) {
-		IWorkbenchPart activePart= null;
-		IWorkbenchPage page= null;
-		try {
-			// TODO: have to force the creation of view part contents 
-			// otherwise the UI will not be updated
-			if (testRunner != null && testRunner.isCreated())
-				return testRunner;
-			page= getActivePage();
-			if (page == null)
-				return null;
-			activePart= page.getActivePart();
-			//	show the result view if it isn't shown yet
-			return (TestRunnerViewPart) page.showView(TestRunnerViewPart.NAME);
-		} catch (PartInitException pie) {
-			log(pie);
-			return null;
-		} finally{
-			//restore focus stolen by the creation of the result view
-			if (page != null && activePart != null)
-				page.activate(activePart);
-		}
-	}
-
-	private TestRunnerViewPart findTestRunnerViewPartInActivePage() {
-		IWorkbenchPage page= getActivePage();
-		if (page == null)
-			return null;
-		return (TestRunnerViewPart) page.findView(TestRunnerViewPart.NAME);
-	}
-
-	/*
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(final ILaunch launch) {
-		if (!fTrackedLaunches.contains(launch))
-			return;
-
-		ILaunchConfiguration config= launch.getLaunchConfiguration();
-		IType launchedType= null;
-		int port= -1;
-		if (config != null) {
-			// test whether the launch defines the JUnit attributes
-			String portStr= launch.getAttribute(JUnitBaseLaunchConfiguration.PORT_ATTR);
-			String typeStr= launch.getAttribute(JUnitBaseLaunchConfiguration.TESTTYPE_ATTR);
-			if (portStr != null && typeStr != null) {
-				port= Integer.parseInt(portStr);
-				IJavaElement element= JavaCore.create(typeStr);
-				if (element instanceof IType)
-					launchedType= (IType) element;
-			}
-		}
-		if (launchedType != null) {
-			fTrackedLaunches.remove(launch);
-			final int finalPort= port;
-			final IType finalType= launchedType;
-			getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					connectTestRunner(launch, finalType, finalPort);
-				}
-			});
-		}
-	}
-
-	/*
-	 * @see Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		super.startup();
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchListener(this);
-	}
-
-	/*
-	 * @see Plugin#shutdown()
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.removeLaunchListener(this);
-	}
-
-	public static Display getDisplay() {
-		Shell shell= getActiveWorkbenchShell();
-		if (shell != null) {
-			return shell.getDisplay();
-		}
-		Display display= Display.getCurrent();
-		if (display == null) {
-			display= Display.getDefault();
-		}
-		return display;
-	}
-	/**
-	 * 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 pm) {
-				try {
-					Set packageNameSet= new HashSet();
-					pm.beginTask(JUnitMessages.getString("JUnitPlugin.searching"), 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);
-						}
-						pm.worked(1);
-					}
-					pm.done();
-				} catch (JavaModelException jme) {
-					exception[0]= jme;
-				}
-			}
-		};
-		try {
-			monitor.run(false, false, r);
-		} catch (InvocationTargetException e) {
-			JUnitPlugin.log(e);
-		} catch (InterruptedException e) {
-			JUnitPlugin.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;
-	}
-
-	/**
-	 * Initializes TestRun Listener extensions
-	 */
-	private void loadTestRunListeners() {
-		fTestRunListeners= new ArrayList();
-		IExtensionPoint extensionPoint= Platform.getPluginRegistry().getExtensionPoint(ID_EXTENSION_POINT_TESTRUN_LISTENERS);
-		if (extensionPoint == null) {
-			return;
-		}
-		IConfigurationElement[] configs= extensionPoint.getConfigurationElements();
-		MultiStatus status= new MultiStatus(PLUGIN_ID, IStatus.OK, "Could not load some testRunner extension points", null); //$NON-NLS-1$ 	
-
-		for (int i= 0; i < configs.length; i++) {
-			try {
-				ITestRunListener testRunListener= (ITestRunListener) configs[i].createExecutableExtension("class"); //$NON-NLS-1$
-				fTestRunListeners.add(testRunListener);
-			} catch (CoreException e) {
-				status.add(e.getStatus());
-			}
-		}
-		if (!status.isOK()) {
-			JUnitPlugin.log(status);
-		}
-	}
-
-	/**
-	 * Returns an array of all TestRun listeners
-	 */
-	public List getTestRunListeners() {
-		if (fTestRunListeners == null) {
-			loadTestRunListeners();
-		}
-		return fTestRunListeners;
-	}
-
-	/**
-	 * Adds a TestRun listener to the collection of listeners
-	 */
-	public void addTestRunListener(ITestRunListener newListener) {
-		if (fTestRunListeners == null) 
-			loadTestRunListeners();
-		for (Iterator iter= fTestRunListeners.iterator(); iter.hasNext();) {
-			Object o= iter.next();
-			if (o == newListener)
-				return;
-		}
-		fTestRunListeners.add(newListener);
-	}
-
-	/**
-	 * Removes a TestRun listener to the collection of listeners
-	 */
-	public void removeTestRunListener(ITestRunListener newListener) {
-		if (fTestRunListeners != null) 
-			fTestRunListeners.remove(newListener);
-	}
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitPreferencePage.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitPreferencePage.java
deleted file mode 100644
index 8741808..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitPreferencePage.java
+++ /dev/null
@@ -1,852 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids: sdavids@gmx.de
- ******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-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.internal.junit.util.ExceptionHandler;
-import org.eclipse.jdt.internal.junit.util.SWTUtil;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.ISharedImages;
-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.IPreferenceStore;
-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.ContentViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-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.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.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;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * Preference page for JUnit settings. Supports to define the failure
- * stack filter patterns.
- */
-public class JUnitPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private static final String DEFAULT_NEW_FILTER_TEXT= ""; //$NON-NLS-1$
-	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);
-	
-	private static String[] fgDefaultFilterPatterns= new String[] { "org.eclipse.jdt.internal.junit.runner.*", //$NON-NLS-1$
-		"org.eclipse.jdt.internal.junit.ui.*", //$NON-NLS-1$
-		"junit.framework.TestCase", //$NON-NLS-1$
-		"junit.framework.TestResult", //$NON-NLS-1$
-		"junit.framework.TestSuite", //$NON-NLS-1$
-		"junit.framework.Assert", //$NON-NLS-1$
-		"java.lang.reflect.Method.invoke" //$NON-NLS-1$
-	};
-
-	// Step filter widgets
-	private CheckboxTableViewer fFilterViewer;
-	private Table fFilterTable;
-
-	private Button fShowOnErrorCheck;
-	private Button fAddPackageButton;
-	private Button fAddTypeButton;
-	private Button fRemoveFilterButton;
-	private Button fAddFilterButton;
-
-	private Button fEnableAllButton;
-	private Button fDisableAllButton;
-
-	private Text fEditorText;
-	private String fInvalidEditorText= null;
-	private TableEditor fTableEditor;
-	private TableItem fNewTableItem;
-	private Filter fNewStackFilter;
-	private Label fTableLabel;
-
-	private StackFilterContentProvider fStackFilterContentProvider;
-
-	/**
-	 * Model object that represents a single entry in the filter table.
-	 */
-	private 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))
-				return false;
-
-			Filter other= (Filter) o;
-			return (getName().equals(other.getName()));
-		}
-
-		public int hashCode() {
-			return fName.hashCode();
-		}
-	}
-
-	/**
-	 * Sorter for the filter table; sorts alphabetically ascending.
-	 */
-	private 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);
-		}
-	}
-
-	/**
-	 * Label provider for Filter model objects
-	 */
-	private class FilterLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-		public String getColumnText(Object object, int column) {
-			return (column == 0) ? ((Filter) object).getName() : ""; //$NON-NLS-1$
-		}
-
-		public String getText(Object element) {
-			return ((Filter) element).getName();
-		}
-
-		public Image getColumnImage(Object object, int column) {
-			String name= ((Filter) object).getName();
-			if (name.endsWith(".*") || name.equals(JUnitMessages.getString("JUnitMainTab.label.defaultpackage"))) { //$NON-NLS-1$ //$NON-NLS-2$
-				//package
-				return IMG_PKG;
-			} else if ("".equals(name)) { //$NON-NLS-1$
-				//needed for the in-place editor
-				return null;
-			} else if ((Character.isUpperCase(name.charAt(0))) && (name.indexOf('.') < 0)) {
-				//class in default package
-				return IMG_CUNIT;
-			} else {
-				//fully-qualified class or other filter
-				final int lastDotIndex= name.lastIndexOf('.');
-				if ((-1 != lastDotIndex) && ((name.length() - 1) != lastDotIndex) && Character.isUpperCase(name.charAt(lastDotIndex + 1)))
-					return IMG_CUNIT;
-			}
-			//other filter
-			return null;
-		}
-	}
-
-	/**
-	 * Content provider for the filter table.  Content consists of instances of
-	 * Filter.
-	 */
-	private class StackFilterContentProvider implements IStructuredContentProvider {
-
-		private List fFilters;
-
-		public StackFilterContentProvider() {
-			List active= createActiveStackFiltersList();
-			List inactive= createInactiveStackFiltersList();
-			populateFilters(active, inactive);
-		}
-
-		public void setDefaults() {
-			fFilterViewer.remove(fFilters.toArray());
-			List active= createDefaultStackFiltersList();
-			List inactive= new ArrayList();
-			populateFilters(active, inactive);
-		}
-
-		protected void populateFilters(List activeList, List inactiveList) {
-			fFilters= new ArrayList(activeList.size() + inactiveList.size());
-			populateList(activeList, true);
-			if (inactiveList.size() != 0)
-				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);
-				fFilterViewer.add(filter);
-				fFilterViewer.setChecked(filter, checked);
-			}
-			updateActions();
-			return filter;
-		}
-
-		public void saveFilters() {
-			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= JUnitPreferencePage.serializeList((String[]) active.toArray(new String[active.size()]));
-			getPreferenceStore().setValue(IJUnitPreferencesConstants.PREF_ACTIVE_FILTERS_LIST, pref);
-			pref= JUnitPreferencePage.serializeList((String[]) inactive.toArray(new String[inactive.size()]));
-			getPreferenceStore().setValue(IJUnitPreferencesConstants.PREF_INACTIVE_FILTERS_LIST, pref);
-		}
-
-		public void removeFilters(Object[] filters) {
-			for (int i= (filters.length - 1); i >= 0; --i) {
-				Filter filter= (Filter) filters[i];
-				fFilters.remove(filter);
-			}
-			fFilterViewer.remove(filters);
-			updateActions();
-		}
-
-		public void toggleFilter(Filter filter) {
-			boolean newState= !filter.isChecked();
-			filter.setChecked(newState);
-			fFilterViewer.setChecked(filter, newState);
-		}
-
-		public Object[] getElements(Object inputElement) {
-			return fFilters.toArray();
-		}
-		
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-		public void dispose() {}
-
-	}
-		
-	public JUnitPreferencePage() {
-		super();
-		setDescription(JUnitMessages.getString("JUnitPreferencePage.description")); //$NON-NLS-1$
-		setPreferenceStore(JUnitPlugin.getDefault().getPreferenceStore());
-	}
-
-	protected Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(parent, IJUnitHelpContextIds.JUNIT_PREFERENCE_PAGE);
-
-		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);
-
-		createStackFilterPreferences(composite);
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-
-	/**
-	 * Create a group to contain the step filter related widgetry
-	 */
-	private void createStackFilterPreferences(Composite composite) {
-		Composite container= new Composite(composite, 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);
-
-		createShowCheck(container);
-		createFilterTable(container);
-		createStepFilterButtons(container);
-	}
-
-	private void createShowCheck(Composite composite) {
-		GridData data;
-		fShowOnErrorCheck= new Button(composite, SWT.CHECK);
-		fShowOnErrorCheck.setText(JUnitMessages.getString("JUnitPreferencePage.showcheck.label")); //$NON-NLS-1$
-		data= new GridData();
-		data.horizontalAlignment= GridData.FILL;
-		data.horizontalSpan= 2;
-		fShowOnErrorCheck.setLayoutData(data);
-		fShowOnErrorCheck.setSelection(getShowOnErrorOnly());
-	}
-
-	private void createFilterTable(Composite container) {
-		fTableLabel= new Label(container, SWT.NONE);
-		fTableLabel.setText(JUnitMessages.getString("JUnitPreferencePage.filter.label")); //$NON-NLS-1$
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan= 2;
-		fTableLabel.setLayoutData(gd);
-
-		fFilterTable= new Table(container, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		fFilterTable.setLayoutData(gd);
-
-		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());
-		fStackFilterContentProvider= new StackFilterContentProvider();
-		fFilterViewer.setContentProvider(fStackFilterContentProvider);
-		// 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();
-				fStackFilterContentProvider.toggleFilter(filter);
-			}
-		});
-		fFilterViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection= event.getSelection();
-				fRemoveFilterButton.setEnabled(!selection.isEmpty());
-			}
-		});
-	}
-
-	private void createStepFilterButtons(Composite 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);
-
-		fAddFilterButton= new Button(buttonContainer, SWT.PUSH);
-		fAddFilterButton.setText(JUnitMessages.getString("JUnitPreferencePage.addfilterbutton.label")); //$NON-NLS-1$
-		fAddFilterButton.setToolTipText(JUnitMessages.getString("JUnitPreferencePage.addfilterbutton.tooltip")); //$NON-NLS-1$
-		gd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		fAddFilterButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fAddFilterButton);
-		fAddFilterButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				editFilter();
-			}
-		});
-
-		fAddTypeButton= new Button(buttonContainer, SWT.PUSH);
-		fAddTypeButton.setText(JUnitMessages.getString("JUnitPreferencePage.addtypebutton.label")); //$NON-NLS-1$
-		fAddTypeButton.setToolTipText(JUnitMessages.getString("JUnitPreferencePage.addtypebutton.tooltip")); //$NON-NLS-1$
-		gd= getButtonGridData(fAddTypeButton);
-		fAddTypeButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fAddTypeButton);
-		fAddTypeButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				addType();
-			}
-		});
-
-		fAddPackageButton= new Button(buttonContainer, SWT.PUSH);
-		fAddPackageButton.setText(JUnitMessages.getString("JUnitPreferencePage.addpackagebutton.label")); //$NON-NLS-1$
-		fAddPackageButton.setToolTipText(JUnitMessages.getString("JUnitPreferencePage.addpackagebutton.tooltip")); //$NON-NLS-1$
-		gd= getButtonGridData(fAddPackageButton);
-		fAddPackageButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fAddPackageButton);
-		fAddPackageButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				addPackage();
-			}
-		});
-
-		fRemoveFilterButton= new Button(buttonContainer, SWT.PUSH);
-		fRemoveFilterButton.setText(JUnitMessages.getString("JUnitPreferencePage.removefilterbutton.label")); //$NON-NLS-1$
-		fRemoveFilterButton.setToolTipText(JUnitMessages.getString("JUnitPreferencePage.removefilterbutton.tooltip")); //$NON-NLS-1$
-		gd= getButtonGridData(fRemoveFilterButton);
-		fRemoveFilterButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fRemoveFilterButton);
-		fRemoveFilterButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				removeFilters();
-			}
-		});
-		fRemoveFilterButton.setEnabled(false);
-
-		fEnableAllButton= new Button(buttonContainer, SWT.PUSH);
-		fEnableAllButton.setText(JUnitMessages.getString("JUnitPreferencePage.enableallbutton.label")); //$NON-NLS-1$
-		fEnableAllButton.setToolTipText(JUnitMessages.getString("JUnitPreferencePage.enableallbutton.tooltip")); //$NON-NLS-1$
-		gd= getButtonGridData(fEnableAllButton);
-		fEnableAllButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fEnableAllButton);
-		fEnableAllButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				checkAllFilters(true);
-			}
-		});
-
-		fDisableAllButton= new Button(buttonContainer, SWT.PUSH);
-		fDisableAllButton.setText(JUnitMessages.getString("JUnitPreferencePage.disableallbutton.label")); //$NON-NLS-1$
-		fDisableAllButton.setToolTipText(JUnitMessages.getString("JUnitPreferencePage.disableallbutton.tooltip")); //$NON-NLS-1$
-		gd= getButtonGridData(fDisableAllButton);
-		fDisableAllButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(fDisableAllButton);
-		fDisableAllButton.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event e) {
-				checkAllFilters(false);
-			}
-		});
-
-	}
-
-	private GridData getButtonGridData(Button button) {
-		GridData gd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		int widthHint= convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint= Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		gd.heightHint= convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		return gd;
-	}
-
-	public void init(IWorkbench workbench) {}
-	
-	/**
-	 * 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();
-
-		fNewStackFilter= fStackFilterContentProvider.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);
-
-		// set the editor
-		fTableEditor.horizontalAlignment= SWT.LEFT;
-		fTableEditor.grabHorizontal= true;
-		fTableEditor.setEditor(fEditorText, fNewTableItem, 0);
-
-		// get the editor ready to use
-		fEditorText.setText(fNewStackFilter.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(JUnitMessages.getString("JUnitPreferencePage.invalidstepfilterreturnescape")); //$NON-NLS-1$
-			getShell().getDisplay().beep();
-			return;
-			// otherwise, commit the new value if not a duplicate
-		} else {
-			Object[] filters= fStackFilterContentProvider.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);
-			fNewStackFilter.setName(trimmedValue);
-			fFilterViewer.refresh();
-		}
-		cleanupEditor();
-	}
-
-	/**
-	 * Cleanup all widgetry & resources used by the in-place editing
-	 */
-	private void cleanupEditor() {
-		if (fEditorText == null)
-			return;
-
-		fNewStackFilter= null;
-		fNewTableItem= null;
-		fTableEditor.setEditor(null, null, 0);
-		fEditorText.dispose();
-		fEditorText= null;
-	}
-
-	private void removeNewFilter() {
-		fStackFilterContentProvider.removeFilters(new Object[] { fNewStackFilter });
-	}
-
-	/**
-	 * 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)) || (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= JUnitMessages.getString("JUnitPreferencePage.addtypedialog.title"); //$NON-NLS-1$
-			String message= JUnitMessages.getString("JUnitPreferencePage.addtypedialog.error.message"); //$NON-NLS-1$
-			ExceptionHandler.handle(jme, shell, title, message);
-			return;
-		}
-
-		dialog.setTitle(JUnitMessages.getString("JUnitPreferencePage.addtypedialog.title")); //$NON-NLS-1$
-		dialog.setMessage(JUnitMessages.getString("JUnitPreferencePage.addtypedialog.message")); //$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];
-			fStackFilterContentProvider.addFilter(type.getFullyQualifiedName(), true);
-		}
-	}
-
-	private void addPackage() {
-		Shell shell= getShell();
-		ElementListSelectionDialog dialog= null;
-		try {
-			dialog= JUnitPlugin.createAllPackagesDialog(shell, null, true);
-		} catch (JavaModelException jme) {
-			String title= JUnitMessages.getString("JUnitPreferencePage.addpackagedialog.title"); //$NON-NLS-1$
-			String message= JUnitMessages.getString("JUnitPreferencePage.addpackagedialog.error.message"); //$NON-NLS-1$
-			ExceptionHandler.handle(jme, shell, title, message);
-			return;
-		}
-
-		dialog.setTitle(JUnitMessages.getString("JUnitPreferencePage.addpackagedialog.title")); //$NON-NLS-1$
-		dialog.setMessage(JUnitMessages.getString("JUnitPreferencePage.addpackagedialog.message")); //$NON-NLS-1$
-		dialog.setMultipleSelection(true);
-		if (dialog.open() == IDialogConstants.CANCEL_ID)
-			return;
-
-		Object[] packages= dialog.getResult();
-		if (packages == null)
-			return;
-
-		for (int i= 0; i < packages.length; i++) {
-			IJavaElement pkg= (IJavaElement) packages[i];
-
-			String filter= pkg.getElementName();
-			if (filter.length() < 1)
-				filter= JUnitMessages.getString("JUnitMainTab.label.defaultpackage"); //$NON-NLS-1$
-			else
-				filter += ".*"; //$NON-NLS-1$
-
-			fStackFilterContentProvider.addFilter(filter, true);
-		}
-	}
-	private void removeFilters() {
-		IStructuredSelection selection= (IStructuredSelection) fFilterViewer.getSelection();
-		fStackFilterContentProvider.removeFilters(selection.toArray());
-	}
-
-	private void checkAllFilters(boolean check) {
-		Object[] filters= fStackFilterContentProvider.getElements(null);
-		for (int i= (filters.length - 1); i >= 0; --i)
-			 ((Filter) filters[i]).setChecked(check);
-
-		fFilterViewer.setAllChecked(check);
-	}
-	
-	public boolean performOk() {
-		IPreferenceStore store= getPreferenceStore();
-		store.setValue(IJUnitPreferencesConstants.SHOW_ON_ERROR_ONLY, fShowOnErrorCheck.getSelection());
-		fStackFilterContentProvider.saveFilters();
-		return true;
-	}
-
-	protected void performDefaults() {
-		setDefaultValues();
-		super.performDefaults();
-	}
-
-	private void setDefaultValues() {
-		fStackFilterContentProvider.setDefaults();
-	}
-
-	/**
-	 * Returns the default list of active stack filters.
-	 * 
-	 * @return list
-	 */
-	protected List createDefaultStackFiltersList() {
-		return Arrays.asList(fgDefaultFilterPatterns);
-	}
-
-	/**
-	 * Returns a list of active stack filters.
-	 * 
-	 * @return list
-	 */
-	protected List createActiveStackFiltersList() {
-		return Arrays.asList(getFilterPatterns());
-	}
-
-	/**
-	 * Returns a list of active stack filters.
-	 * 
-	 * @return list
-	 */
-	protected List createInactiveStackFiltersList() {
-		String[] strings=
-			JUnitPreferencePage.parseList(getPreferenceStore().getString(IJUnitPreferencesConstants.PREF_INACTIVE_FILTERS_LIST));
-		return Arrays.asList(strings);
-	}
-
-	protected void updateActions() {
-		if (fEnableAllButton == null)
-			return;
-
-		boolean enabled= fFilterViewer.getTable().getItemCount() > 0;
-		fEnableAllButton.setEnabled(enabled);
-		fDisableAllButton.setEnabled(enabled);
-	}
-
-	public static String[] getFilterPatterns() {
-		IPreferenceStore store= JUnitPlugin.getDefault().getPreferenceStore();
-		return JUnitPreferencePage.parseList(store.getString(IJUnitPreferencesConstants.PREF_ACTIVE_FILTERS_LIST));
-	}
-
-	public static boolean getFilterStack() {
-		IPreferenceStore store= JUnitPlugin.getDefault().getPreferenceStore();
-		return store.getBoolean(IJUnitPreferencesConstants.DO_FILTER_STACK);
-	}
-
-	public static void setFilterStack(boolean filter) {
-		IPreferenceStore store= JUnitPlugin.getDefault().getPreferenceStore();
-		store.setValue(IJUnitPreferencesConstants.DO_FILTER_STACK, filter);
-	}
-
-	public static void initializeDefaults(IPreferenceStore store) {
-		store.setDefault(IJUnitPreferencesConstants.DO_FILTER_STACK, true);
-		store.setDefault(IJUnitPreferencesConstants.SHOW_ON_ERROR_ONLY, true);
-
-		String list= store.getString(IJUnitPreferencesConstants.PREF_ACTIVE_FILTERS_LIST);
-
-		if ("".equals(list)) { //$NON-NLS-1$
-			String pref= JUnitPreferencePage.serializeList(fgDefaultFilterPatterns);
-			store.setValue(IJUnitPreferencesConstants.PREF_ACTIVE_FILTERS_LIST, pref);
-		}
-
-		store.setValue(IJUnitPreferencesConstants.PREF_INACTIVE_FILTERS_LIST, ""); //$NON-NLS-1$
-	}
-
-	public static boolean getShowOnErrorOnly() {
-		IPreferenceStore store= JUnitPlugin.getDefault().getPreferenceStore();
-		return store.getBoolean(IJUnitPreferencesConstants.SHOW_ON_ERROR_ONLY);
-	}
-	
-	/**
-	 * Parses the comma separated string into an array of strings
-	 * 
-	 * @return list
-	 */
-	private static String[] parseList(String listString) {
-		List list= new ArrayList(10);
-		StringTokenizer tokenizer= new StringTokenizer(listString, ","); //$NON-NLS-1$
-		while (tokenizer.hasMoreTokens())
-			list.add(tokenizer.nextToken());
-		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
-	 */
-	private 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();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitProgressBar.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitProgressBar.java
deleted file mode 100644
index aedfc3a..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitProgressBar.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A progress bar with a red/green indication for success or failure.
- */
-public class JUnitProgressBar extends Canvas {
-	private static final int DEFAULT_WIDTH = 160;
-	private static final int DEFAULT_HEIGHT = 18;
-
-	private int fCurrentTickCount= 0;
-	private int fMaxTickCount= 0;	
-	private int fColorBarWidth= 0;
-	private Color fOKColor;
-	private Color fFailureColor;
-	private boolean fError;
-	
-	public JUnitProgressBar(Composite parent) {
-		super(parent, SWT.NONE);
-		
-		addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				fColorBarWidth= scale(fCurrentTickCount);
-				redraw();
-			}
-		});	
-		addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				paint(e);
-			}
-		});
-		addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				fFailureColor.dispose();
-				fOKColor.dispose();
-			}
-		});
-		Display display= parent.getDisplay();
-		fFailureColor= new Color(display, 159,63,63);
-		fOKColor= new Color(display, 95,191,95);
-	}
-
-	public void setMaximum(int max) {
-		fMaxTickCount= max;
-	}
-		
-	public void reset() {
-		fError= false;
-		fCurrentTickCount= 0;
-		fColorBarWidth= 0;
-		fMaxTickCount= 0;
-		redraw();
-	}
-	
-	private void paintStep(int startX, int endX) {
-		GC gc = new GC(this);	
-		setStatusColor(gc);
-		Rectangle rect= getClientArea();
-		startX= Math.max(1, startX);
-		gc.fillRectangle(startX, 1, endX-startX, rect.height-2);
-		gc.dispose();		
-	}
-
-	private void setStatusColor(GC gc) {
-		if (fError)
-			gc.setBackground(fFailureColor);
-		else
-			gc.setBackground(fOKColor);
-	}
-
-	private int scale(int value) {
-		if (fMaxTickCount > 0) {
-			Rectangle r= getClientArea();
-			if (r.width != 0)
-				return Math.max(0, value*(r.width-2)/fMaxTickCount);
-		}
-		return value; 
-	}
-	
-	private void drawBevelRect(GC gc, int x, int y, int w, int h, Color topleft, Color bottomright) {
-		gc.setForeground(topleft);
-		gc.drawLine(x, y, x+w-1, y);
-		gc.drawLine(x, y, x, y+h-1);
-		
-		gc.setForeground(bottomright);
-		gc.drawLine(x+w, y, x+w, y+h);
-		gc.drawLine(x, y+h, x+w, y+h);
-	}
-	
-	private void paint(PaintEvent event) {
-		GC gc = event.gc;
-		Display disp= getDisplay();
-			
-		Rectangle rect= getClientArea();
-		gc.fillRectangle(rect);
-		drawBevelRect(gc, rect.x, rect.y, rect.width-1, rect.height-1,
-			disp.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW),
-			disp.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
-		
-		setStatusColor(gc);
-		fColorBarWidth= Math.min(rect.width-2, fColorBarWidth);
-		gc.fillRectangle(1, 1, fColorBarWidth, rect.height-2);
-	}	
-	
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		checkWidget();
-		Point size= new Point(DEFAULT_WIDTH, DEFAULT_HEIGHT);
-		if (wHint != SWT.DEFAULT) size.x= wHint;
-		if (hHint != SWT.DEFAULT) size.y= hHint;
-		return size;
-	}
-	
-	public void step(int failures) {
-		fCurrentTickCount++;
-		int x= fColorBarWidth;
-
-		fColorBarWidth= scale(fCurrentTickCount);
-
-		if (!fError && failures > 0) {
-			fError= true;
-			x= 1;
-		}
-		if (fCurrentTickCount == fMaxTickCount)
-			fColorBarWidth= getClientArea().width-1;
-		paintStep(x, fColorBarWidth);
-	}
-
-	public void refresh(boolean hasErrors) {
-		fError= hasErrors;
-		redraw();
-	}
-	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitQuickFixProcessor.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitQuickFixProcessor.java
deleted file mode 100644
index 476be66..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JUnitQuickFixProcessor.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
- *     Sebastian Davids <sdavids@gmx.de> - bug 48696
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.ui.text.java.IProblemLocation;
-import org.eclipse.jdt.ui.text.java.IQuickFixProcessor;
-
-public class JUnitQuickFixProcessor implements IQuickFixProcessor {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IQuickFixProcessor#hasCorrections(org.eclipse.jdt.core.ICompilationUnit, int)
-	 */
-	public boolean hasCorrections(ICompilationUnit unit, int problemId) {
-		return IProblem.SuperclassNotFound == problemId || IProblem.ImportNotFound == problemId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IQuickFixProcessor#getCorrections(org.eclipse.jdt.ui.text.java.IInvocationContext, org.eclipse.jdt.ui.text.java.IProblemLocation[])
-	 */
-	public IJavaCompletionProposal[] getCorrections(final IInvocationContext context, IProblemLocation[] locations)  {
-		if (isJUnitProblem(context, locations))
-			return new IJavaCompletionProposal[] { new JUnitAddLibraryProposal(context) };
-		return new IJavaCompletionProposal[] {};
-	}
-
-	private boolean isJUnitProblem(IInvocationContext context, IProblemLocation[] locations) {
-		ICompilationUnit unit= context.getCompilationUnit();
-		for (int i= 0; i < locations.length; i++) {
-			IProblemLocation location= locations[i];
-			try {
-				String s= unit.getBuffer().getText(location.getOffset(), location.getLength());
-				if (s.equals("TestCase") //$NON-NLS-1$
-						|| s.equals("junit") //$NON-NLS-1$
-						|| s.equals("TestSuite") //$NON-NLS-1$
-						|| s.equals("Test")) //$NON-NLS-1$
-					return true; //$NON-NLS-1$
-			} catch (JavaModelException e) {
-			    JUnitPlugin.log(e.getStatus());
-			}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JavaTypeExtender.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JavaTypeExtender.java
deleted file mode 100644
index 23ecbf2..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/JavaTypeExtender.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import org.eclipse.core.expressions.PropertyTester;
-
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-
-/**
- * Contributes an "isTest" property for ITypes.
- */
-public class JavaTypeExtender extends PropertyTester  {
-	private static final String IS_TEST= "isTest"; //$NON-NLS-1$
-	/**
-	 * @inheritDoc
-	 */
-	public boolean test(Object receiver, String method, Object[] args, Object expectedValue) {
-		IType type= (IType)receiver;
-		try {
-			if (IS_TEST.equals(method)) 
-				return TestSearchEngine.isTestOrTestSuite(type);
-		} catch (JavaModelException e) {
-			return false;
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenEditorAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenEditorAction.java
deleted file mode 100644
index cce2493..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenEditorAction.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.junit.ui;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Abstract Action for opening a Java editor.
- */
-public abstract class OpenEditorAction extends Action {
-	protected String fClassName;
-	protected TestRunnerViewPart fTestRunner;
-	
-	/**
-	 * Constructor for OpenEditorAction.
-	 */
-	protected OpenEditorAction(TestRunnerViewPart testRunner, String testClassName) {
-		super(JUnitMessages.getString("OpenEditorAction.action.label")); //$NON-NLS-1$
-		fClassName= testClassName;
-		fTestRunner= testRunner;
-	}
-
-	/*
-	 * @see IAction#run()
-	 */
-	public void run() {
-		ITextEditor textEditor= null;
-		try {
-			IJavaElement element= findElement(getLaunchedProject(), fClassName);
-			if (element == null) {
-				MessageDialog.openError(getShell(), 
-					JUnitMessages.getString("OpenEditorAction.error.cannotopen.title"), JUnitMessages.getString("OpenEditorAction.error.cannotopen.message")); //$NON-NLS-1$ //$NON-NLS-2$
-				return;
-			} 
-			textEditor= (ITextEditor)EditorUtility.openInEditor(element, false);			
-		} catch (CoreException e) {
-			ErrorDialog.openError(getShell(), JUnitMessages.getString("OpenEditorAction.error.dialog.title"), JUnitMessages.getString("OpenEditorAction.error.dialog.message"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		}
-		if (textEditor == null) {
-			fTestRunner.postInfo(JUnitMessages.getString("OpenEditorAction.message.cannotopen")); //$NON-NLS-1$
-			return;
-		}
-		reveal(textEditor);
-	}
-	
-	protected Shell getShell() {
-		return fTestRunner.getSite().getShell();
-	}
-
-	protected IJavaProject getLaunchedProject() {
-		return fTestRunner.getLaunchedProject();
-	}
-	
-	protected String getClassName() {
-		return fClassName;
-	}
-
-	protected abstract IJavaElement findElement(IJavaProject project, String className) throws JavaModelException;
-	
-	protected abstract void reveal(ITextEditor editor);
-	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenEditorAtLineAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenEditorAtLineAction.java
deleted file mode 100644
index 69520e0..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenEditorAtLineAction.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
- *     Sebastian Davids: sdavids@gmx.de bug 37333 Failure Trace cannot 
- * 			navigate to non-public class in CU throwing Exception
-
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-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.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchResultCollector;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.ISearchPattern;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-
-/**
- * Open a test in the Java editor and reveal a given line
- */
-public class OpenEditorAtLineAction extends OpenEditorAction {
-
-	//fix for bug 37333
-	private class NonPublicClassInCUCollector implements IJavaSearchResultCollector {
-		private IJavaElement fFound;
-
-		public void accept(IResource resource, int start, int end, IJavaElement enclosingElement, int accuracy) {
-
-			if ((enclosingElement instanceof IType) && (resource.getName().equals(fCUName)))
-				fFound= enclosingElement;
-		}
-
-		public IProgressMonitor getProgressMonitor() {
-			return new NullProgressMonitor();
-		}
-
-		public void aboutToStart() {}
-		public void done() {}
-	}
-		
-	private int fLineNumber;
-	private String fCUName;
-	
-	/**
-	 * Constructor for OpenEditorAtLineAction.
-	 */
-	public OpenEditorAtLineAction(TestRunnerViewPart testRunner, String cuName, String className, int line) {
-		super(testRunner, className);
-		WorkbenchHelp.setHelp(this, IJUnitHelpContextIds.OPENEDITORATLINE_ACTION);
-		fLineNumber= line;
-		fCUName= cuName;
-	}
-		
-	protected void reveal(ITextEditor textEditor) {
-		if (fLineNumber >= 0) {
-			try {
-				IDocument document= textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
-				textEditor.selectAndReveal(document.getLineOffset(fLineNumber-1), document.getLineLength(fLineNumber-1));
-			} catch (BadLocationException x) {
-				// marker refers to invalid text position -> do nothing
-			}
-		}
-	}
-	
-	protected IJavaElement findElement(IJavaProject project, String className) throws JavaModelException {
-		IJavaElement element= project.findType(className);
-		
-		//fix for bug 37333
-		if (element == null) {
-			ISearchPattern pattern=	SearchEngine.createSearchPattern(className, IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, true);
-			IJavaSearchScope scope= SearchEngine.createJavaSearchScope(new IJavaElement[] { project }, false);
-			NonPublicClassInCUCollector collector= new NonPublicClassInCUCollector();
-
-			SearchEngine searchEngine= new SearchEngine();
-			searchEngine.search(JavaPlugin.getWorkspace(), pattern, scope, collector);
-			
-			element= collector.fFound;
-		}
-		
-		return element;
-	}
-
-	public boolean isEnabled() {
-		try {
-			return getLaunchedProject().findType(getClassName()) != null;
-		} catch (JavaModelException e) {
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenTestAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenTestAction.java
deleted file mode 100644
index 9b01e7d..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/OpenTestAction.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.junit.ui;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * Open a class on a Test method.
- */
-public class OpenTestAction extends OpenEditorAction {
-	
-	private String fMethodName;
-	private ISourceRange fRange;
-	
-	/**
-	 * Constructor for OpenTestAction.
-	 */
-	public OpenTestAction(TestRunnerViewPart testRunner, String className, String method) {
-		super(testRunner, className);
-		WorkbenchHelp.setHelp(this, IJUnitHelpContextIds.OPENTEST_ACTION);
-		fMethodName= method;
-	}
-	
-	public OpenTestAction(TestRunnerViewPart testRunner, String className) {
-		this(testRunner, className, null);
-	}
-
-	protected IJavaElement findElement(IJavaProject project, String className) throws JavaModelException {
-		IType type= project.findType(className);
-		if (type == null) 
-			return null;
-		
-		if (fMethodName == null)
-			return type;
-			
-		IMethod method= findMethod(type);
-		if (method == null) {
-			ITypeHierarchy typeHierarchy= type.newSupertypeHierarchy(null);
-			IType[] types= typeHierarchy.getAllSuperclasses(type);
-			for (int i= 0; i < types.length; i++) {
-				method= findMethod(types[i]);
-				if (method != null)
-					break;
-			}
-		}
-		if (method == null) {
-			String title= JUnitMessages.getString("OpenTestAction.error.title"); //$NON-NLS-1$
-			String message= JUnitMessages.getFormattedString("OpenTestAction.error.methodNoFound", fMethodName); //$NON-NLS-1$
-			MessageDialog.openInformation(getShell(), title, message);
-			return type;
-		}
-		fRange= method.getNameRange();
-		return method;
-	}
-	
-	IMethod findMethod(IType type) {
-		IMethod method= type.getMethod(fMethodName, new String[0]);
-		if (method != null && method.exists())
-			return method;
-		return null;
-	}
-	
-	protected void reveal(ITextEditor textEditor) {
-		if (fRange != null)
-			textEditor.selectAndReveal(fRange.getOffset(), fRange.getLength());
-	}
-
-	public boolean isEnabled() {
-		try {
-			return getLaunchedProject().findType(getClassName()) != null;
-		} catch (JavaModelException e) {
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ProgressImages.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ProgressImages.java
deleted file mode 100644
index 44b2496..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ProgressImages.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.internal.junit.ui;
-
-import java.net.MalformedURLException;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Manages a set of images that can show progress in the image itself.
- */
-public class ProgressImages {
-	static final int PROGRESS_STEPS= 9;
-	
-	static final String BASE= "prgss/"; //$NON-NLS-1$
-	static final String FAILURE= "ff"; //$NON-NLS-1$
-	static final String OK= "ss"; //$NON-NLS-1$
-	
-	Image[] fOKImages= new Image[PROGRESS_STEPS];
-	Image[] fFailureImages= new Image[PROGRESS_STEPS];
-	Image fMissingImage= null;
-	
-	void load() {
-		if (isLoaded())
-			return;
-			
-		for (int i= 0; i < PROGRESS_STEPS; i++) {
-			String okname= BASE+OK+Integer.toString(i+1)+".gif"; //$NON-NLS-1$ 
-			fOKImages[i]= createImage(okname);
-			String failurename= BASE+FAILURE+Integer.toString(i+1)+".gif"; //$NON-NLS-1$ 
-			fFailureImages[i]= createImage(failurename);
-		}
-	}
-
-	Image createImage(String name) {
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(JUnitPlugin.makeIconFileURL(name));
-			return id.createImage();
-		} catch (MalformedURLException e) {
-			// fall through
-		}  
-		if (fMissingImage == null) 
-			fMissingImage= ImageDescriptor.getMissingImageDescriptor().createImage();
-		return fMissingImage;
-	}
-	
-	public void dispose() {
-		if (!isLoaded())
-			return; 
-			
-		if (fMissingImage != null)
-			fMissingImage.dispose();	
-				
-		for (int i= 0; i < PROGRESS_STEPS; i++) {
-			fOKImages[i].dispose();
-			fOKImages[i]= null;
-			fFailureImages[i].dispose();
-			fFailureImages[i]= null;
-		}
-	}
-	
-	public Image getImage(int current, int total, int errors, int failures) {
-		if (!isLoaded())
-			load();
-			
-		if (total == 0)
-			return fOKImages[0];
-		int index= ((current*PROGRESS_STEPS)/total)-1;
-		index= Math.min(Math.max(0, index), PROGRESS_STEPS-1);
-
-		if (errors + failures == 0)
-			return fOKImages[index];
-		return fFailureImages[index];
-	}
-	
-	boolean isLoaded() {
-		return fOKImages[0] != null;
-	}	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RemoteTestRunnerClient.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RemoteTestRunnerClient.java
deleted file mode 100644
index f1a7ebf..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RemoteTestRunnerClient.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
- *     Julien Ruaux: jruaux@octo.com 
- * 	   Vincent Massol: vmassol@octo.com 
- ******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketException;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.internal.junit.runner.MessageIds;
-import org.eclipse.jdt.junit.ITestRunListener;
-
-/**
- * The client side of the RemoteTestRunner. Handles the
- * marshaling of the different messages.
- */
-public class RemoteTestRunnerClient {
-	public abstract class ListenerSafeRunnable implements ISafeRunnable {
-		public void handleException(Throwable exception) {
-			JUnitPlugin.log(exception);
-		}
-	}
-	/**
-	 * A simple state machine to process requests from the RemoteTestRunner
-	 */
-	abstract class ProcessingState {
-	    abstract ProcessingState readMessage(String message);
-	}
-	
-	class DefaultProcessingState extends ProcessingState {
-	    ProcessingState readMessage(String message) {
-	        if (message.startsWith(MessageIds.TRACE_START)) {
-	            fFailedTrace= ""; //$NON-NLS-1$
-	            return fTraceState;
-	        }
-	        if (message.startsWith(MessageIds.EXPECTED_START)) {
-	            fExpectedResult= null;
-	            return fExpectedState;
-	        }
-	        if (message.startsWith(MessageIds.ACTUAL_START)) {
-	            fActualResult= null;
-	            return fActualState;
-	        }
-	        if (message.startsWith(MessageIds.RTRACE_START)) {
-	            fFailedRerunTrace= ""; //$NON-NLS-1$
-	            return fRerunState;
-	        }
-	        String arg= message.substring(MessageIds.MSG_HEADER_LENGTH);
-	        if (message.startsWith(MessageIds.TEST_RUN_START)) {
-	            // version < 2 format: count
-	            // version >= 2 format: count+" "+version
-	            int count= 0;
-	            int v= arg.indexOf(' ');
-	            if (v == -1) {
-	                fVersion= "v1"; //$NON-NLS-1$
-	                count= Integer.parseInt(arg);
-	            } else {
-	                fVersion= arg.substring(v+1);
-	                String sc= arg.substring(0, v);
-	                count= Integer.parseInt(sc);
-	            }
-	            notifyTestRunStarted(count);
-	            return this;
-	        }
-	        if (message.startsWith(MessageIds.TEST_START)) {
-	            notifyTestStarted(arg);
-	            return this;
-	        }
-	        if (message.startsWith(MessageIds.TEST_END)) {
-	            notifyTestEnded(arg);
-	            return this;
-	        }
-	        if (message.startsWith(MessageIds.TEST_ERROR)) {
-	            extractFailure(arg, ITestRunListener.STATUS_ERROR);
-	            return this;
-	        }
-	        if (message.startsWith(MessageIds.TEST_FAILED)) {
-	            extractFailure(arg, ITestRunListener.STATUS_FAILURE);
-	            return this;
-	        }
-	        if (message.startsWith(MessageIds.TEST_RUN_END)) {
-	            long elapsedTime = Long.parseLong(arg);
-	            testRunEnded(elapsedTime);
-	            return this;
-	        }
-	        if (message.startsWith(MessageIds.TEST_STOPPED)) {
-	            long elapsedTime = Long.parseLong(arg);
-	            notifyTestRunStopped(elapsedTime);
-	            shutDown();
-	            return this;
-	        }
-	        if (message.startsWith(MessageIds.TEST_TREE)) {
-	            notifyTestTreeEntry(arg);
-	            return this;
-	        }
-	        if (message.startsWith(MessageIds.TEST_RERAN)) {
-	            if (hasTestId())
-	                scanReranMessage(arg);
-	            else 
-	                scanOldReranMessage(arg);
-	            return this;
-	        }	
-	        return this;
-	    }
-	}
-	
-	class TraceProcessingState extends ProcessingState {
-	    ProcessingState readMessage(String message) {
-	        if (message.startsWith(MessageIds.TRACE_END)) {
-	            notifyTestFailed();
-	            fFailedTrace = ""; //$NON-NLS-1$
-	            fExpectedResult= null;
-	            fActualResult = null;
-	            return fDefaultState;
-	        }
-	        fFailedTrace+= message + '\n';
-	        return this;
-	    }
-	}
-	class ExpectedProcessingState extends ProcessingState {
-	    ProcessingState readMessage(String message) {
-	        if (message.startsWith(MessageIds.EXPECTED_END)) 
-	            return fDefaultState;
-	        if (fExpectedResult == null)
-	        	fExpectedResult= message + '\n';
-	        else
-	        	fExpectedResult+= message + '\n';
-	        return this;
-	    }
-	}
-	class ActualProcessingState extends ProcessingState {
-	    ProcessingState readMessage(String message) {
-	        if (message.startsWith(MessageIds.ACTUAL_END)) 
-	            return fDefaultState;
-	        if (fActualResult == null)
-	        	fActualResult= message + '\n';
-	        else 
-				fActualResult+= message + '\n';
-	        return this;
-	    }
-	}
-	class RerunTraceProcessingState extends ProcessingState {
-	    ProcessingState readMessage(String message) {
-	        if (message.startsWith(MessageIds.RTRACE_END)) 
-	            return fDefaultState;
-	        fFailedRerunTrace+= message + '\n';
-	        return this;
-	    }
-	}
-	ProcessingState fDefaultState= new DefaultProcessingState();
-	ProcessingState fTraceState= new TraceProcessingState();
-	ProcessingState fExpectedState= new ExpectedProcessingState();
-	ProcessingState fActualState= new ActualProcessingState();
-	ProcessingState fRerunState= new RerunTraceProcessingState();
-	ProcessingState fCurrentState= fDefaultState;
-	
-	/**
-	 * An array of listeners that are informed about test events.
-	 */
-	private ITestRunListener[] fListeners;
-
-	/**
-	 * The server socket
-	 */
-	private ServerSocket fServerSocket;
-	private Socket fSocket;
-	private int fPort= -1;
-	private PrintWriter fWriter;
-	private BufferedReader fBufferedReader;
-	/**
-	 * The protocol version
-	 */ 
-	private String fVersion;
-	/**
-	 * The failed test that is currently reported from the RemoteTestRunner
-	 */
-	private String fFailedTest;
-	/**
-	 * The Id of the failed test
-	 */
-	private String fFailedTestId;
-	/**
-	 * The failed trace that is currently reported from the RemoteTestRunner
-	 */
-	private String fFailedTrace;
-	/**
-	 * The expected test result
-	 */
-	private String fExpectedResult;
-	/**
-	 * The actual test result
-	 */
-	private String fActualResult;
-	/**
-	 * The failed trace of a reran test
-	 */
-	private String fFailedRerunTrace;
-	/**
-	 * The kind of failure of the test that is currently reported as failed
-	 */
-	private int fFailureKind;
-	
-	private boolean fDebug= false;
-	
-	/**
-	 * Reads the message stream from the RemoteTestRunner
-	 */
-	private class ServerConnection extends Thread {
-		int fPort;
-		
-		public ServerConnection(int port) {
-			super("ServerConnection"); //$NON-NLS-1$
-			fPort= port;
-		}
-		
-		public void run() {
-			try {
-				if (fDebug)
-					System.out.println("Creating server socket "+fPort); //$NON-NLS-1$
-				fServerSocket= new ServerSocket(fPort);
-				fSocket= fServerSocket.accept();	
-				try {
-				    fBufferedReader= new BufferedReader(new InputStreamReader(fSocket.getInputStream(), "UTF-8")); //$NON-NLS-1$
-				} catch (UnsupportedEncodingException e) {
-				    fBufferedReader= new BufferedReader(new InputStreamReader(fSocket.getInputStream()));				    
-				}
-				try {
-				    fWriter= new PrintWriter(new OutputStreamWriter(fSocket.getOutputStream(), "UTF-8"), true); //$NON-NLS-1$
-	            } catch (UnsupportedEncodingException e1) {
-	                fWriter= new PrintWriter(new OutputStreamWriter(fSocket.getOutputStream()), true);
-	            }
-				String message;
-				while(fBufferedReader != null && (message= readMessage(fBufferedReader)) != null)
-					receiveMessage(message);
-			} catch (SocketException e) {
-				notifyTestRunTerminated();
-			} catch (IOException e) {
-				System.out.println(e);
-				// fall through
-			}
-			shutDown();
-		}
-	}
-
-	/**
-	 * Start listening to a test run. Start a server connection that
-	 * the RemoteTestRunner can connect to.
-	 */
-	public synchronized void startListening(
-		ITestRunListener[] listeners,
-		int port) {
-		fListeners = listeners;
-		fPort = port;
-		ServerConnection connection = new ServerConnection(port);
-		connection.start();
-	}
-	
-	/**
-	 * Requests to stop the remote test run.
-	 */
-	public synchronized void stopTest() {
-		if (isRunning()) {
-			fWriter.println(MessageIds.TEST_STOP);
-			fWriter.flush();
-		}
-	}
-
-	private synchronized void shutDown() {
-		if (fDebug) 
-			System.out.println("shutdown "+fPort); //$NON-NLS-1$
-		
-		if (fWriter != null) {
-			fWriter.close();
-			fWriter= null;
-		}
-		try {
-			if (fBufferedReader != null) {
-				fBufferedReader.close();
-				fBufferedReader= null;
-			}
-		} catch(IOException e) {
-		}	
-		try {
-			if (fSocket != null) {
-				fSocket.close();
-				fSocket= null;
-			}
-		} catch(IOException e) {
-		}
-		try{
-			if (fServerSocket != null) {
-				fServerSocket.close();
-				fServerSocket= null;
-			}
-		} catch(IOException e) {
-		}
-	}
-	
-	public boolean isRunning() {
-		return fSocket != null;
-	}
-	
-	private String readMessage(BufferedReader in) throws IOException {
-		return in.readLine();
-	}
-		
-	private void receiveMessage(String message) {
-	    fCurrentState= fCurrentState.readMessage(message);
-	}
-
-	private void scanOldReranMessage(String arg) {
-		// OLD V1 format
-		// format: className" "testName" "status
-		// status: FAILURE, ERROR, OK
-		int c= arg.indexOf(" "); //$NON-NLS-1$
-		int t= arg.indexOf(" ", c+1); //$NON-NLS-1$
-		String className= arg.substring(0, c);
-		String testName= arg.substring(c+1, t);
-		String status= arg.substring(t+1);
-		int statusCode= ITestRunListener.STATUS_OK;
-		if (status.equals("FAILURE")) //$NON-NLS-1$
-			statusCode= ITestRunListener.STATUS_FAILURE;
-		else if (status.equals("ERROR")) //$NON-NLS-1$
-			statusCode= ITestRunListener.STATUS_ERROR;
-				
-		String trace= ""; //$NON-NLS-1$
-		if (statusCode != ITestRunListener.STATUS_OK)
-			trace = fFailedRerunTrace;
-		// assumption a rerun trace was sent before
-		notifyTestReran(className+testName, className, testName, statusCode, trace);
-	}
-
-	private void scanReranMessage(String arg) {
-		// format: testId" "className" "testName" "status
-		// status: FAILURE, ERROR, OK
-		int i= arg.indexOf(' ');
-		int c= arg.indexOf(' ', i+1); //$NON-NLS-1$
-		int t= arg.indexOf(' ', c+1); //$NON-NLS-1$
-		String testId= arg.substring(0, i);
-		String className= arg.substring(i+1, c);
-		String testName= arg.substring(c+1, t);
-		String status= arg.substring(t+1);
-		int statusCode= ITestRunListener.STATUS_OK;
-		if (status.equals("FAILURE")) //$NON-NLS-1$
-			statusCode= ITestRunListener.STATUS_FAILURE;
-		else if (status.equals("ERROR")) //$NON-NLS-1$
-			statusCode= ITestRunListener.STATUS_ERROR;
-			
-		String trace= ""; //$NON-NLS-1$
-		if (statusCode != ITestRunListener.STATUS_OK)
-			trace = fFailedRerunTrace;
-		// assumption a rerun trace was sent before
-		notifyTestReran(testId, className, testName, statusCode, trace);
-	}
-
-	private void extractFailure(String arg, int status) {
-		String s[]= extractTestId(arg);
-		fFailedTestId= s[0];
-		fFailedTest= s[1];
-		fFailureKind= status;
-	}
-
-	/**
-	 * Returns an array with two elements. The first one is the testId, the second one the testName.
-	 */
-	String[] extractTestId(String arg) {
-		String[] result= new String[2];
-		if (!hasTestId()) {
-			result[0]= arg; // use the test name as the test Id
-			result[1]= arg;
-			return result;
-		}
-		int i= arg.indexOf(',');
-		result[0]= arg.substring(0, i);
-		result[1]= arg.substring(i+1, arg.length());
-		return result;
-	}
-	
-	private boolean hasTestId() {
-		if (fVersion == null) // TODO fix me
-			return true;
-		return fVersion.equals("v2"); //$NON-NLS-1$
-	}
-
-	private void notifyTestReran(final String testId, final String className, final String testName, final int statusCode, final String trace) {
-		for (int i= 0; i < fListeners.length; i++) {
-			final ITestRunListener listener= fListeners[i];
-			Platform.run(new ListenerSafeRunnable() { 
-				public void run() {
-				    if (listener instanceof ITestRunListener3 ) 
-				        ((ITestRunListener3)listener).testReran(testId, className, testName, statusCode, trace, fExpectedResult, fActualResult);
-				    else
-						listener.testReran(testId, className, testName, statusCode, trace);
-				}
-			});
-		}
-	}
-
-	private void notifyTestTreeEntry(final String treeEntry) {
-		for (int i= 0; i < fListeners.length; i++) {
-			if (fListeners[i] instanceof ITestRunListener2) {
-				ITestRunListener2 listener= (ITestRunListener2)fListeners[i];
-				if (!hasTestId()) 
-					listener.testTreeEntry(fakeTestId(treeEntry));
-				else
-					listener.testTreeEntry(treeEntry);
-			}
-		}
-	}
-
-	private String fakeTestId(String treeEntry) {
-		// extract the test name and add it as the testId
-		int index0= treeEntry.indexOf(',');
-		String testName= treeEntry.substring(0, index0).trim();
-		return testName+","+treeEntry; //$NON-NLS-1$
-	}
-
-	private void notifyTestRunStopped(final long elapsedTime) {
-		for (int i= 0; i < fListeners.length; i++) {
-			final ITestRunListener listener= fListeners[i];
-			Platform.run(new ListenerSafeRunnable() { 
-				public void run() {
-					listener.testRunStopped(elapsedTime);
-				}
-			});
-		}
-	}
-
-	private void testRunEnded(final long elapsedTime) {
-		for (int i= 0; i < fListeners.length; i++) {
-			final ITestRunListener listener= fListeners[i];
-			Platform.run(new ListenerSafeRunnable() { 
-				public void run() {
-					listener.testRunEnded(elapsedTime);
-				}
-			});
-		}
-	}
-
-	private void notifyTestEnded(final String test) {
-		for (int i= 0; i < fListeners.length; i++) {
-			final ITestRunListener listener= fListeners[i];
-			Platform.run(new ListenerSafeRunnable() { 
-				public void run() {
-					String s[]= extractTestId(test);
-					listener.testEnded(s[0], s[1]);
-				}
-			});
-		}
-	}
-
-	private void notifyTestStarted(final String test) {
-		for (int i= 0; i < fListeners.length; i++) {
-			final ITestRunListener listener= fListeners[i];
-			Platform.run(new ListenerSafeRunnable() { 
-				public void run() {
-					String s[]= extractTestId(test);
-					listener.testStarted(s[0], s[1]);
-				}
-			});
-		}
-	}
-
-	private void notifyTestRunStarted(final int count) {
-		for (int i= 0; i < fListeners.length; i++) {
-			final ITestRunListener listener= fListeners[i];
-			Platform.run(new ListenerSafeRunnable() { 
-				public void run() {
-					listener.testRunStarted(count);
-				}
-			});
-		}
-	}
-
-	private void notifyTestFailed() {
-		for (int i= 0; i < fListeners.length; i++) {
-			final ITestRunListener listener= fListeners[i];
-			Platform.run(new ListenerSafeRunnable() { 
-				public void run() {
-				    if (listener instanceof ITestRunListener3 )
-				        ((ITestRunListener3)listener).testFailed(fFailureKind, fFailedTestId, 
-				                fFailedTest, fFailedTrace, fExpectedResult, fActualResult);
-				    else
-				        listener.testFailed(fFailureKind, fFailedTestId, fFailedTest, fFailedTrace);
-				}
-			});
-		}
-	}
-	
-	private void notifyTestRunTerminated() {
-		for (int i= 0; i < fListeners.length; i++) {
-			final ITestRunListener listener= fListeners[i];
-			Platform.run(new ListenerSafeRunnable() { 
-				public void run() {
-					listener.testRunTerminated();
-				}
-			});
-		}
-	}
-
-	public void rerunTest(String testId, String className, String testName) {
-		if (isRunning()) {
-			fWriter.println(MessageIds.TEST_RERUN+testId+" "+className+" "+testName); //$NON-NLS-1$ //$NON-NLS-2$
-			fWriter.flush();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RerunAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RerunAction.java
deleted file mode 100644
index 04165d8..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RerunAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.Action;
-
-/**
- * Requests to rerun a test.
- */
-public class RerunAction extends Action {
-	private String fTestId;
-	private String fClassName;
-	private String fTestName;
-	private TestRunnerViewPart fTestRunner;
-	private String fLaunchMode;
-	
-	/**
-	 * Constructor for RerunAction.
-	 */
-	public RerunAction(TestRunnerViewPart runner, String testId, String className, String testName, String launchMode) {
-		super(); 
-		if (launchMode.equals(ILaunchManager.RUN_MODE))
-			setText(JUnitMessages.getString("RerunAction.label.run")); //$NON-NLS-1$
-		else if (launchMode.equals(ILaunchManager.DEBUG_MODE))
-			setText(JUnitMessages.getString("RerunAction.label.debug")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IJUnitHelpContextIds.RERUN_ACTION);
-		fTestRunner= runner;
-		fTestId= testId;
-		fClassName= className;
-		fTestName= testName;
-		fLaunchMode= launchMode;
-	}
-
-	/*
-	 * @see IAction#run()
-	 */
-	public void run() {
-		fTestRunner.rerunTest(fTestId, fClassName, fTestName, fLaunchMode);
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ScrollLockAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ScrollLockAction.java
deleted file mode 100644
index b7e307f..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ScrollLockAction.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.junit.ui;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Toggles console auto-scroll
- */
-public class ScrollLockAction extends Action {
-
-	private TestRunnerViewPart fRunnerViewPart;
-
-	public ScrollLockAction(TestRunnerViewPart viewer) {
-		super(JUnitMessages.getString("ScrollLockAction.action.label")); //$NON-NLS-1$
-		fRunnerViewPart= viewer;
-		setToolTipText(JUnitMessages.getString("ScrollLockAction.action.tooltip")); //$NON-NLS-1$
-		setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/lock.gif")); //$NON-NLS-1$
-		setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/lock.gif")); //$NON-NLS-1$
-		setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/lock.gif")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(
-			this,
-			IJUnitHelpContextIds.OUTPUT_SCROLL_LOCK_ACTION);
-		setChecked(false);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		fRunnerViewPart.setAutoScroll(!isChecked());
-	}
-}
-
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ShowNextFailureAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ShowNextFailureAction.java
deleted file mode 100644
index 7ad356a..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ShowNextFailureAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import org.eclipse.jface.action.Action;
-
-class ShowNextFailureAction extends Action {
-	
-	private TestRunnerViewPart fPart;
-
-	public ShowNextFailureAction(TestRunnerViewPart part) {
-		super(JUnitMessages.getString("ShowNextFailureAction.label"));  //$NON-NLS-1$
-		setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/select_next.gif")); //$NON-NLS-1$
-		setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/select_next.gif")); //$NON-NLS-1$
-		setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/select_next.gif")); //$NON-NLS-1$
-		setToolTipText(JUnitMessages.getString("ShowNextFailureAction.tooltip")); //$NON-NLS-1$
-		fPart= part;
-	}
-	
-	public void run() {
-		fPart.selectNextFailure();
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ShowPreviousFailureAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ShowPreviousFailureAction.java
deleted file mode 100644
index 4637bac..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/ShowPreviousFailureAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import org.eclipse.jface.action.Action;
-
-class ShowPreviousFailureAction extends Action {
-	
-	private TestRunnerViewPart fPart;
-
-	public ShowPreviousFailureAction(TestRunnerViewPart part) {
-		super(JUnitMessages.getString("ShowPreviousFailureAction.label"));  //$NON-NLS-1$
-		setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/select_prev.gif")); //$NON-NLS-1$
-		setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/select_prev.gif")); //$NON-NLS-1$
-		setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/select_prev.gif")); //$NON-NLS-1$
-		setToolTipText(JUnitMessages.getString("ShowPreviousFailureAction.tooltip"));  //$NON-NLS-1$
-		fPart= part;
-	}
-	
-	public void run() {
-		fPart.selectPreviousFailure();
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TabFolderLayout.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TabFolderLayout.java
deleted file mode 100644
index 2a5e042..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TabFolderLayout.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.junit.ui;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-
-/**
- * Layout that fixes an SWT limitation on Motif
- * TODO: check whether this is still required
- */
-public class TabFolderLayout extends Layout {
-	
-	protected Point computeSize (Composite composite, int wHint, int hHint, boolean flushCache) {
-		if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-			return new Point(wHint, hHint);
-			
-		Control [] children = composite.getChildren ();
-		int count = children.length;
-		int maxWidth = 0, maxHeight = 0;
-		for (int i=0; i<count; i++) {
-			Control child = children [i];
-			Point pt = child.computeSize (SWT.DEFAULT, SWT.DEFAULT, flushCache);
-			maxWidth = Math.max (maxWidth, pt.x);
-			maxHeight = Math.max (maxHeight, pt.y);
-		}
-		if (wHint != SWT.DEFAULT)
-			maxWidth= wHint;
-		if (hHint != SWT.DEFAULT)
-			maxHeight= hHint;
-		
-		return new Point(maxWidth, maxHeight);	
-		
-	}
-	
-	protected void layout (Composite composite, boolean flushCache) {
-		Rectangle rect = composite.getClientArea();
-	
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			children[i].setBounds(rect);
-		}
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestMethodSelectionDialog.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestMethodSelectionDialog.java
deleted file mode 100644
index 8f37e3d..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestMethodSelectionDialog.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
- 
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-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.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.ui.JavaElementLabelProvider;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A dialog to select a test method.
- */
-public class TestMethodSelectionDialog extends ElementListSelectionDialog {
-
-	private IRunnableContext fRunnableContext;
-	private IJavaElement fElement;
-
-	public static class TestReferenceCollector implements IJavaSearchResultCollector {
-		IProgressMonitor fMonitor;
-		Set fResult= new HashSet(200);
-		
-		public TestReferenceCollector(IProgressMonitor pm) {
-			fMonitor= pm;
-		}
-		
-		public void aboutToStart() {
-		}
-	
-		public void accept(IResource resource, int start, int end, IJavaElement enclosingElement, int accuracy) {
-			if (enclosingElement.getElementName().startsWith("test")) //$NON-NLS-1$
-				fResult.add(enclosingElement);
-		}
-	
-		public void done() {
-		}
-	
-		public IProgressMonitor getProgressMonitor() {
-			return fMonitor;
-		}
-		
-		public Object[] getResult() {
-			return fResult.toArray();
-		}
-	}
-
-	public TestMethodSelectionDialog(Shell shell, IRunnableContext context, IJavaElement element) {
-		super(shell, new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_PARAMETERS | JavaElementLabelProvider.SHOW_POST_QUALIFIED));
-		fRunnableContext= context;
-		fElement= element;
-	}
-	
-	/*
-	 * @see Windows#configureShell
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		WorkbenchHelp.setHelp(newShell, IJUnitHelpContextIds.TEST_SELECTION_DIALOG);
-	}
-
-	/*
-	 * @see Window#open()
-	 */
-	public int open() {
-		Object[] elements;
-		IType testType= findTestType();
-		
-		if (testType == null) 
-			return CANCEL;
-		
-		try {
-			elements= searchTestMethods(fElement, testType, fRunnableContext);
-		} catch (InterruptedException e) {
-			return CANCEL;
-		} catch (InvocationTargetException e) {
-			MessageDialog.openError(getParentShell(), JUnitMessages.getString("TestMethodSelectionDialog.error.title"), e.getTargetException().getMessage()); //$NON-NLS-1$
-			return CANCEL;
-		}
-		
-		if (elements.length == 0) {
-			String msg= JUnitMessages.getFormattedString("TestMethodSelectionDialog.notfound_message", fElement.getElementName()); //$NON-NLS-1$
-			MessageDialog.openInformation(getParentShell(), JUnitMessages.getString("TestMethodSelectionDialog.no_tests.title"), msg); //$NON-NLS-1$
-			return CANCEL;
-		}
-		setElements(elements);
-		return super.open();
-	}
-	
-	private IType findTestType() {
-		String qualifiedName= JUnitPlugin.TEST_INTERFACE_NAME;
-		IJavaProject[] projects;
-		Set result= new HashSet();
-		try {
-			projects= JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()).getJavaProjects();
-			for (int i= 0; i < projects.length; i++) {
-				IJavaProject project= projects[i];
-				IType type= project.findType(qualifiedName);
-				if (type != null) 
-					result.add(type);
-			}
-		} catch (JavaModelException e) {
-			ErrorDialog.openError(getParentShell(), JUnitMessages.getString("TestMethodSelectionDialog.error.notfound.title"), JUnitMessages.getString("TestMethodSelectionDialog.error.notfound.message"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			return null;
-		}
-		if (result.size() == 0) {
-			String msg= JUnitMessages.getFormattedString("TestMethodSelectionDialog.test_not_found", JUnitPlugin.TEST_INTERFACE_NAME); //$NON-NLS-1$
-			MessageDialog.openError(getParentShell(), JUnitMessages.getString("TestMethodSelectionDialog.select_dialog.title"), msg); //$NON-NLS-1$
-			return null;
-		}
-		if (result.size() == 1)
-			return (IType)result.toArray()[0];
-		
-		return selectTestType(result);
-	}
-	
-	private IType selectTestType(Set result) {
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_PARAMETERS | JavaElementLabelProvider.SHOW_ROOT);
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getParentShell(), labelProvider);
-		dialog.setTitle(JUnitMessages.getString("TestMethodSelectionDialog.dialog.title"));  //$NON-NLS-1$
-		String msg= JUnitMessages.getFormattedString("TestMethodSelectionDialog.testproject", "junit.framework.Test"); //$NON-NLS-1$ //$NON-NLS-2$
-		dialog.setMessage(msg);
-		IJavaProject[] projects= new IJavaProject[result.size()];
-		IType[] testTypes= (IType[]) result.toArray(new IType[result.size()]);
-		for (int i= 0; i < projects.length; i++) 
-			projects[i]= testTypes[i].getJavaProject();
-		dialog.setElements(projects);
-		if (dialog.open() == ElementListSelectionDialog.CANCEL)	
-			return null;
-		IJavaProject project= (IJavaProject) dialog.getFirstResult();
-		for (int i= 0; i < testTypes.length; i++) {
-			if (testTypes[i].getJavaProject().equals(project))
-				return testTypes[i];
-		}
-		return null;	
-	}
-	
-	public Object[] searchTestMethods(final IJavaElement element, final IType testType, IRunnableContext context) throws InvocationTargetException, InterruptedException  {
-		final TestReferenceCollector[] col= new TestReferenceCollector[1];
-		
-		IRunnableWithProgress runnable= new IRunnableWithProgress() {
-			public void run(IProgressMonitor pm) throws InvocationTargetException {
-				try {
-					col[0]= doSearchTestMethods(element, testType, pm);
-				} catch (JavaModelException e) {
-					throw new InvocationTargetException(e);
-				}
-			}
-		};
-		context.run(true, true, runnable);
-		return col[0].getResult();
-	}
-
-	private TestReferenceCollector doSearchTestMethods(IJavaElement element, IType testType, IProgressMonitor pm) throws JavaModelException{
-		IJavaSearchScope scope= SearchEngine.createHierarchyScope(testType);
-		TestReferenceCollector collector= new TestReferenceCollector(pm);
-		new SearchEngine().search(ResourcesPlugin.getWorkspace(), element, IJavaSearchConstants.REFERENCES, scope, collector);
-		return collector;
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunInfo.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunInfo.java
deleted file mode 100644
index f05db32..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunInfo.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.junit.ui;
-
-/**
- * Store information about an executed test.
- */
-public class TestRunInfo extends Object {
-	private String fTestId;
-	private String fTestName;
-	private String fTrace;
-	private String fExpected;
-	private String fActual;
-	
-	private int fStatus;
-
-	public TestRunInfo(String testId, String testName){
-		fTestName= testName;
-		fTestId= testId;
-	}	
-	
-	/*
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getTestId().hashCode();
-	}
-
-	/*
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		return getTestId().equals(obj);
-	}
-
-	public String getTestId() {
-		return fTestId;
-	}
-
-	public String getTestName() {
-		return fTestName;
-	}
-
-	public String getClassName() {
-		return extractClassName(getTestName());
-	}
-	
-	public String getTestMethodName() {
-		int index= fTestName.indexOf('(');
-		if (index > 0)
-			return fTestName.substring(0, index);
-		index= fTestName.indexOf('@');
-		if(index > 0)
-			return fTestName.substring(0, index);
-		return fTestName;
-	}
-	
-	private String extractClassName(String testNameString) {
-		if (testNameString == null) 
-			return null;
-		int index= testNameString.indexOf('(');
-		if (index < 0) 
-			return testNameString;
-		testNameString= testNameString.substring(index + 1);
-		return testNameString.substring(0, testNameString.indexOf(')'));
-	}		
-
-	public void setTrace(String trace) {
-		fTrace= trace;
-	}
-
-	public String getTrace() {
-		return fTrace;
-	}
-
-	public void setStatus(int status) {
-		fStatus= status;
-	}
-
-	public int getStatus() {
-		return fStatus;
-	}
-	
-    public String getActual() {
-        return fActual;
-    }
-    
-    public void setActual(String actual) {
-        fActual = actual;
-    }
-    
-    public String getExpected() {
-        return fExpected;
-    }
-    
-    public void setExpected(String expected) {
-        fExpected = expected;
-    }
-    
-    public boolean isComparisonFailure() {
-        return fExpected != null && fActual != null;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java
deleted file mode 100644
index 1985c36..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java
+++ /dev/null
@@ -1,1221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Julien Ruaux: jruaux@octo.com see bug 25324 Ability to know when tests are finished [junit] 
- *     Vincent Massol: vmassol@octo.com 25324 Ability to know when tests are finished [junit]
- *     Sebastian Davids: sdavids@gmx.de 35762 JUnit View wasting a lot of screen space [JUnit]
- ******************************************************************************/
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.net.MalformedURLException;
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.ViewForm;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.ToolBar;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.ui.part.ViewPart;
-
-import org.eclipse.debug.ui.DebugUITools;
-
-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.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.internal.junit.launcher.JUnitBaseLaunchConfiguration;
-import org.eclipse.jdt.junit.ITestRunListener;
-
-/**
- * A ViewPart that shows the results of a test run.
- */
-public class TestRunnerViewPart extends ViewPart implements ITestRunListener3, IPropertyChangeListener {
-
-	public static final String NAME= "org.eclipse.jdt.junit.ResultView"; //$NON-NLS-1$
- 	/**
- 	 * Number of executed tests during a test run
- 	 */
-	protected int fExecutedTests;
-	/**
-	 * Number of errors during this test run
-	 */
-	protected int fErrorCount;
-	/**
-	 * Number of failures during this test run
-	 */
-	protected int fFailureCount;
-	/**
-	 * Number of tests run
-	 */
-	private int fTestCount;
-	/**
-	 * Whether the output scrolls and reveals tests as they are executed.
-	 */
-	private boolean fAutoScroll = true;
-	/**
-	 * The current orientation; either <code>VIEW_ORIENTATION_HORIZONTAL</code>
-	 * or <code>VIEW_ORIENTATION_VERTICAL</code>.
-	 */
-	private int fCurrentOrientation;
-	/**
-	 * Map storing TestInfos for each executed test keyed by
-	 * the test name.
-	 */
-	private Map fTestInfos= new HashMap();
-	/**
-	 * The first failure of a test run. Used to reveal the
-	 * first failed tests at the end of a run.
-	 */
-	private List fFailures= new ArrayList();
-
-	private JUnitProgressBar fProgressBar;
-	private ProgressImages fProgressImages;
-	private Image fViewImage;
-	private CounterPanel fCounterPanel;
-	private boolean fShowOnErrorOnly= false;
-	private Clipboard fClipboard;
-
-	/** 
-	 * The view that shows the stack trace of a failure
-	 */
-	private FailureTraceView fFailureView;
-	/** 
-	 * The collection of ITestRunViews
-	 */
-	private Vector fTestRunViews = new Vector();
-	/**
-	 * The currently active run view
-	 */
-	private ITestRunView fActiveRunView;
-	/**
-	 * Is the UI disposed
-	 */
-	private boolean fIsDisposed= false;
-	/**
-	 * The launched project
-	 */
-	private IJavaProject fTestProject;
-	/**
-	 * The launcher that has started the test
-	 */
-	private String fLaunchMode;
-	private ILaunch fLastLaunch;
-	
-	/**
-	 * Actions
-	 */
-	private Action fRerunLastTestAction;
-	private ScrollLockAction fScrollLockAction;
-	private ToggleOrientationAction[] fToggleOrientationActions;
-	
-	/**
-	 * The client side of the remote test runner
-	 */
-	private RemoteTestRunnerClient fTestRunnerClient;
-
-	final Image fStackViewIcon= TestRunnerViewPart.createImage("cview16/stackframe.gif");//$NON-NLS-1$
-	final Image fTestRunOKIcon= TestRunnerViewPart.createImage("cview16/junitsucc.gif"); //$NON-NLS-1$
-	final Image fTestRunFailIcon= TestRunnerViewPart.createImage("cview16/juniterr.gif"); //$NON-NLS-1$
-	final Image fTestRunOKDirtyIcon= TestRunnerViewPart.createImage("cview16/junitsuccq.gif"); //$NON-NLS-1$
-	final Image fTestRunFailDirtyIcon= TestRunnerViewPart.createImage("cview16/juniterrq.gif"); //$NON-NLS-1$
-	
-	// Persistence tags.
-	static final String TAG_PAGE= "page"; //$NON-NLS-1$
-	static final String TAG_RATIO= "ratio"; //$NON-NLS-1$
-	static final String TAG_TRACEFILTER= "tracefilter"; //$NON-NLS-1$ 
-	static final String TAG_ORIENTATION= "orientation"; //$NON-NLS-1$
-	static final String TAG_SCROLL= "scroll"; //$NON-NLS-1$
-	
-	//orientations
-	static final int VIEW_ORIENTATION_VERTICAL= 0;
-	static final int VIEW_ORIENTATION_HORIZONTAL= 1;
-	
-	private IMemento fMemento;	
-
-	Image fOriginalViewImage;
-	IElementChangedListener fDirtyListener;
-	
-	
-	private CTabFolder fTabFolder;
-	private SashForm fSashForm;
-	
-	private Action fNextAction;
-	private Action fPreviousAction;
-	private Composite fCounterComposite;
-	private Composite fParent;
-	
-	private class StopAction extends Action {
-		public StopAction() {
-			setText(JUnitMessages.getString("TestRunnerViewPart.stopaction.text"));//$NON-NLS-1$
-			setToolTipText(JUnitMessages.getString("TestRunnerViewPart.stopaction.tooltip"));//$NON-NLS-1$
-			setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/stop.gif")); //$NON-NLS-1$
-			setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/stop.gif")); //$NON-NLS-1$
-			setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/stop.gif")); //$NON-NLS-1$
-		}
-
-		public void run() {
-			stopTest();
-		}
-	}
-
-	private class RerunLastAction extends Action {
-		public RerunLastAction() {
-			setText(JUnitMessages.getString("TestRunnerViewPart.rerunaction.label")); //$NON-NLS-1$
-			setToolTipText(JUnitMessages.getString("TestRunnerViewPart.rerunaction.tooltip")); //$NON-NLS-1$
-			setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/relaunch.gif")); //$NON-NLS-1$
-			setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/relaunch.gif")); //$NON-NLS-1$
-			setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/relaunch.gif")); //$NON-NLS-1$
-		}
-		
-		public void run(){
-			rerunTestRun();
-		}
-	}
-	
-	private class ToggleOrientationAction extends Action {
-		private final int fOrientation;
-		
-		public ToggleOrientationAction(TestRunnerViewPart v, int orientation) {
-			super("", AS_RADIO_BUTTON); //$NON-NLS-1$
-			if (orientation == TestRunnerViewPart.VIEW_ORIENTATION_HORIZONTAL) {
-				setText(JUnitMessages.getString("TestRunnerViewPart.toggle.horizontal.label")); //$NON-NLS-1$
-				setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/th_horizontal.gif")); //$NON-NLS-1$
-				setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/th_horizontal.gif")); //$NON-NLS-1$
-				setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/th_horizontal.gif")); //$NON-NLS-1$				
-			} else if (orientation == TestRunnerViewPart.VIEW_ORIENTATION_VERTICAL) {
-				setText(JUnitMessages.getString("TestRunnerViewPart.toggle.vertical.label")); //$NON-NLS-1$
-				setDisabledImageDescriptor(JUnitPlugin.getImageDescriptor("dlcl16/th_vertical.gif")); //$NON-NLS-1$
-				setHoverImageDescriptor(JUnitPlugin.getImageDescriptor("clcl16/th_vertical.gif")); //$NON-NLS-1$
-				setImageDescriptor(JUnitPlugin.getImageDescriptor("elcl16/th_vertical.gif")); //$NON-NLS-1$				
-			}
-			fOrientation= orientation;
-			WorkbenchHelp.setHelp(this, IJUnitHelpContextIds.RESULTS_VIEW_TOGGLE_ORIENTATION_ACTION);
-		}
-		
-		public int getOrientation() {
-			return fOrientation;
-		}
-		
-		public void run() {
-			if (fCurrentOrientation == fOrientation)
-				return;
-			setOrientation(fOrientation);
-		}		
-	}
-	
-	/**
-	 * Listen for for modifications to Java elements
-	 */
-	private class DirtyListener implements IElementChangedListener {
-		public void elementChanged(ElementChangedEvent event) {
-			processDelta(event.getDelta());				
-		}
-		
-		private boolean processDelta(IJavaElementDelta delta) {
-			int kind= delta.getKind();
-			int details= delta.getFlags();
-			int type= delta.getElement().getElementType();
-			
-			switch (type) {
-				// Consider containers for class files.
-				case IJavaElement.JAVA_MODEL:
-				case IJavaElement.JAVA_PROJECT:
-				case IJavaElement.PACKAGE_FRAGMENT_ROOT:
-				case IJavaElement.PACKAGE_FRAGMENT:
-					// If we did some different than changing a child we flush the the undo / redo stack.
-					if (kind != IJavaElementDelta.CHANGED || details != IJavaElementDelta.F_CHILDREN) {
-						codeHasChanged();
-						return false;
-					}
-					break;
-				case IJavaElement.COMPILATION_UNIT:
-					// if we have changed a primary working copy (e.g created, removed, ...)
-					// then we do nothing.
-					if ((details & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) 
-						return true;
-					codeHasChanged();
-					return false;
-					
-				case IJavaElement.CLASS_FILE:
-					// Don't examine children of a class file but keep on examining siblings.
-					return true;
-				default:
-					codeHasChanged();
-					return false;	
-			}
-				
-			IJavaElementDelta[] affectedChildren= delta.getAffectedChildren();
-			if (affectedChildren == null)
-				return true;
-	
-			for (int i= 0; i < affectedChildren.length; i++) {
-				if (!processDelta(affectedChildren[i]))
-					return false;
-			}
-			return true;			
-		}
-	}
-	
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		fMemento= memento;
-	}
-
-	private void restoreLayoutState(IMemento memento) {
-		Integer page= memento.getInteger(TAG_PAGE);
-		if (page != null) {
-			int p= page.intValue();
-			fTabFolder.setSelection(p);
-			fActiveRunView= (ITestRunView)fTestRunViews.get(p);
-		}
-		Integer ratio= memento.getInteger(TAG_RATIO);
-		if (ratio != null) 
-			fSashForm.setWeights(new int[] { ratio.intValue(), 1000 - ratio.intValue()} );
-		Integer orientation= memento.getInteger(TAG_ORIENTATION);
-		if (orientation != null)
-			setOrientation(orientation.intValue());
-		String scrollLock= memento.getString(TAG_SCROLL);
-		if (scrollLock != null)
-			fScrollLockAction.setChecked(scrollLock.equals("true")); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Stops the currently running test and shuts down the RemoteTestRunner
-	 */
-	public void stopTest() {
-		if (fTestRunnerClient != null)
-			fTestRunnerClient.stopTest();
-	}
-
-	/**
-	 * Stops the currently running test and shuts down the RemoteTestRunner
-	 */
-	public void rerunTestRun() {
-		if (lastLaunchIsKeptAlive()) {
-			// prompt for terminating the existing run
-			if (MessageDialog.openQuestion(getSite().getShell(), JUnitMessages.getString("TestRunnerViewPart.terminate.title"), JUnitMessages.getString("TestRunnerViewPart.terminate.message"))) {  //$NON-NLS-1$ //$NON-NLS-2$
-				if (fTestRunnerClient != null)
-					fTestRunnerClient.stopTest();
-			}
-		}
-		if (fLastLaunch != null && fLastLaunch.getLaunchConfiguration() != null) {
-			DebugUITools.launch(fLastLaunch.getLaunchConfiguration(), fLastLaunch.getLaunchMode());
-		}
-	}
-
-	public void setAutoScroll(boolean scroll) {
-		fAutoScroll = scroll;
-	}
-	
-	public boolean isAutoScroll() {
-		return fAutoScroll;
-	}	
-
-	/*
-	 * @see ITestRunListener#testRunStarted(testCount)
-	 */
-	public void testRunStarted(final int testCount){
-		reset(testCount);
-		fShowOnErrorOnly= JUnitPreferencePage.getShowOnErrorOnly();
-		fExecutedTests++;
-	}
-	
-	public void selectNextFailure() {
-		fActiveRunView.selectNext();
-	}
-	
-	public void selectPreviousFailure() {
-		fActiveRunView.selectPrevious();
-	}
-
-	public void showTest(TestRunInfo test) {
-		fActiveRunView.setSelectedTest(test.getTestId());
-		handleTestSelected(test.getTestId());
-		new OpenTestAction(this, test.getClassName(), test.getTestMethodName()).run();
-	}
-
-	
-	public void reset(){
-		reset(0);
-		setViewPartTitle(null);
-		clearStatus();
-		resetViewIcon();
-	}
-
-	/*
-	 * @see ITestRunListener#testRunEnded
-	 */
-	public void testRunEnded(long elapsedTime){
-		fExecutedTests--;
-		String[] keys= {elapsedTimeAsString(elapsedTime), String.valueOf(fErrorCount), String.valueOf(fFailureCount)};
-		String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.finish", keys); //$NON-NLS-1$
-		if (hasErrorsOrFailures())
-			postError(msg);
-		else
-			postInfo(msg);
-			
-		postSyncRunnable(new Runnable() {				
-			public void run() {
-				if(isDisposed()) 
-					return;	
-				if (fFailures.size() > 0) {
-					selectFirstFailure();
-				}
-				updateViewIcon();
-				if (fDirtyListener == null) {
-					fDirtyListener= new DirtyListener();
-					JavaCore.addElementChangedListener(fDirtyListener);
-				}
-				for (Enumeration e= fTestRunViews.elements(); e.hasMoreElements();) {
-					ITestRunView v= (ITestRunView) e.nextElement();
-					v.aboutToEnd();
-				}
-			}
-		});	
-	}
-
-	protected void selectFirstFailure() {
-		TestRunInfo firstFailure= (TestRunInfo)fFailures.get(0);
-		if (firstFailure != null && fAutoScroll) {
-			fActiveRunView.setSelectedTest(firstFailure.getTestId());
-			handleTestSelected(firstFailure.getTestId());
-		}
-	}
-
-	private void updateViewIcon() {
-		if (hasErrorsOrFailures()) 
-			fViewImage= fTestRunFailIcon;
-		else 
-			fViewImage= fTestRunOKIcon;
-		firePropertyChange(IWorkbenchPart.PROP_TITLE);	
-	}
-
-	private boolean hasErrorsOrFailures() {
-		return fErrorCount+fFailureCount > 0;
-	}
-
-	private String elapsedTimeAsString(long runTime) {
-		return NumberFormat.getInstance().format((double)runTime/1000);
-	}
-
-	/*
-	 * @see ITestRunListener#testRunStopped
-	 */
-	public void testRunStopped(final long elapsedTime) {
-		String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.stopped", elapsedTimeAsString(elapsedTime)); //$NON-NLS-1$
-		postInfo(msg);
-		postSyncRunnable(new Runnable() {				
-			public void run() {
-				if(isDisposed()) 
-					return;	
-				resetViewIcon();
-			}
-		});	
-
-	}
-
-	private void resetViewIcon() {
-		fViewImage= fOriginalViewImage;
-		firePropertyChange(IWorkbenchPart.PROP_TITLE);
-	}
-
-	/*
-	 * @see ITestRunListener#testRunTerminated
-	 */
-	public void testRunTerminated() {
-		String msg= JUnitMessages.getString("TestRunnerViewPart.message.terminated"); //$NON-NLS-1$
-		showMessage(msg);
-	}
-
-	private void showMessage(String msg) {
-		showInformation(msg);
-		postError(msg);
-	}
-
-	/*
-	 * @see ITestRunListener#testStarted
-	 */
-	public void testStarted(String testId, String testName) {
-		postStartTest(testId, testName);
-		// reveal the part when the first test starts
-		if (!fShowOnErrorOnly && fExecutedTests == 1) 
-			postShowTestResultsView();
-			
-		TestRunInfo testInfo= getTestInfo(testId);
-		if (testInfo == null) {
-			testInfo= new TestRunInfo(testId, testName);
-			fTestInfos.put(testId, testInfo);
-		}
-		String className= testInfo.getClassName();
-		String method= testInfo.getTestMethodName();		
-		String status= JUnitMessages.getFormattedString("TestRunnerViewPart.message.started", new String[] { className, method }); //$NON-NLS-1$
-		postInfo(status); 
-	}
-	
-	/*
-	 * @see ITestRunListener#testEnded
-	 */
-	public void testEnded(String testId, String testName){
-		postEndTest(testId, testName);
-		fExecutedTests++;
-	}
-
-	/*
-	 * @see ITestRunListener#testFailed
-	 */
-	public void testFailed(int status, String testId, String testName, String trace){
-		testFailed(status, testId, testName, trace, null, null);
-	}
-
-	/*
-	 * @see ITestRunListener#testFailed
-	 */
-	public void testFailed(int status, String testId, String testName, String trace, String expected, String actual) {
-	    TestRunInfo testInfo= getTestInfo(testId);
-	    if (testInfo == null) {
-	        testInfo= new TestRunInfo(testId, testName);
-	        fTestInfos.put(testName, testInfo);
-	    }
-	    testInfo.setTrace(trace);
-	    testInfo.setStatus(status);
-	    if (expected != null) {
-			testInfo.setExpected(expected.substring(0, expected.length()-1));
-		}
-	    if (actual != null)
-	        testInfo.setActual(actual.substring(0, actual.length()-1));
-	    
-	    if (status == ITestRunListener.STATUS_ERROR)
-	        fErrorCount++;
-	    else
-	        fFailureCount++;
-	    fFailures.add(testInfo);
-	    // show the view on the first error only
-	    if (fShowOnErrorOnly && (fErrorCount + fFailureCount == 1)) 
-	        postShowTestResultsView();
-	}
-	
-	/*
-	 * @see ITestRunListener#testReran
-	 */
-	public void testReran(String testId, String className, String testName, int status, String trace) {
-		if (status == ITestRunListener.STATUS_ERROR) {
-			String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.error", new String[]{testName, className}); //$NON-NLS-1$
-			postError(msg); 
-		} else if (status == ITestRunListener.STATUS_FAILURE) {
-			String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.failure", new String[]{testName, className}); //$NON-NLS-1$
-			postError(msg);
-		} else {
-			String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.success", new String[]{testName, className}); //$NON-NLS-1$
-			postInfo(msg);
-		}
-		TestRunInfo info= getTestInfo(testId);
-		updateTest(info, status);
-		if (info.getTrace() == null || !info.getTrace().equals(trace)) {
-			info.setTrace(trace);
-			showFailure(info);
-		}
-	}
-
-	public void testReran(String testId, String className, String testName, int statusCode, String trace, String expectedResult, String actualResult) {
-		testReran(testId, className, testName, statusCode, trace);
-		TestRunInfo info= getTestInfo(testId);
-		info.setActual(actualResult);
-		info.setExpected(expectedResult);
-		fFailureView.updateEnablement(info);
-	}
-	
-	private void updateTest(TestRunInfo info, final int status) {
-		if (status == info.getStatus())
-			return;
-		if (info.getStatus() == ITestRunListener.STATUS_OK) {
-			if (status == ITestRunListener.STATUS_FAILURE) 
-				fFailureCount++;
-			else if (status == ITestRunListener.STATUS_ERROR)
-				fErrorCount++;
-		} else if (info.getStatus() == ITestRunListener.STATUS_ERROR) {
-			if (status == ITestRunListener.STATUS_OK) 
-				fErrorCount--;
-			else if (status == ITestRunListener.STATUS_FAILURE) {
-				fErrorCount--;
-				fFailureCount++;
-			}
-		} else if (info.getStatus() == ITestRunListener.STATUS_FAILURE) {
-			if (status == ITestRunListener.STATUS_OK) 
-				fFailureCount--;
-			else if (status == ITestRunListener.STATUS_ERROR) {
-				fFailureCount--;
-				fErrorCount++;
-			}
-		}			
-		info.setStatus(status);	
-		final TestRunInfo finalInfo= info;
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				refreshCounters();
-				for (Enumeration e= fTestRunViews.elements(); e.hasMoreElements();) {
-					ITestRunView v= (ITestRunView) e.nextElement();
-					v.testStatusChanged(finalInfo);
-				}
-			}
-		});
-		
-	}
-
-	/*
-	 * @see ITestRunListener#testTreeEntry
-	 */
-	public void testTreeEntry(final String treeEntry){
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if(isDisposed()) 
-					return;
-				for (Enumeration e= fTestRunViews.elements(); e.hasMoreElements();) {
-					ITestRunView v= (ITestRunView) e.nextElement();
-					v.newTreeEntry(treeEntry);
-				}
-			}
-		});	
-	}
-
-	public void startTestRunListening(IJavaElement type, int port, ILaunch launch) {
-		fTestProject= type.getJavaProject();
-		fLaunchMode= launch.getLaunchMode();
-		aboutToLaunch();
-		
-		if (fTestRunnerClient != null) {
-			stopTest();
-		}
-		fTestRunnerClient= new RemoteTestRunnerClient();
-		
-		// add the TestRunnerViewPart to the list of registered listeners
-		List listeners= JUnitPlugin.getDefault().getTestRunListeners();	
-		ITestRunListener[] listenerArray= new ITestRunListener[listeners.size()+1];
-		listeners.toArray(listenerArray);
-		System.arraycopy(listenerArray, 0, listenerArray, 1, listenerArray.length-1);
-		listenerArray[0]= this;
-		fTestRunnerClient.startListening(listenerArray, port);
-		
-		fLastLaunch= launch;
-		setViewPartTitle(type);
-		if (type instanceof IType)
-			setTitleToolTip(((IType)type).getFullyQualifiedName());
-		else
-			setTitleToolTip(type.getElementName());
-			
-	}
-
-	private void setViewPartTitle(IJavaElement type) {
-		String title;
-		if (type == null)
-			title= JUnitMessages.getString("TestRunnerViewPart.title_no_type"); //$NON-NLS-1$
-		else	
-			title= JUnitMessages.getFormattedString("TestRunnerViewPart.title", type.getElementName()); //$NON-NLS-1$
-		setTitle(title);
-	}
-
-	private void aboutToLaunch() {
-		String msg= JUnitMessages.getString("TestRunnerViewPart.message.launching"); //$NON-NLS-1$
-		showInformation(msg);
-		postInfo(msg);
-		fViewImage= fOriginalViewImage;
-		firePropertyChange(IWorkbenchPart.PROP_TITLE);
-	}
-
-	public synchronized void dispose(){
-		fIsDisposed= true;
-		stopTest();
-		if (fProgressImages != null)
-			fProgressImages.dispose();
-		JUnitPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		fTestRunOKIcon.dispose();
-		fTestRunFailIcon.dispose();
-		fStackViewIcon.dispose();
-		fTestRunOKDirtyIcon.dispose();
-		fTestRunFailDirtyIcon.dispose();
-		if (fClipboard != null) 
-			fClipboard.dispose();
-	}
-
-	private void start(final int total) {
-		resetProgressBar(total);
-		fCounterPanel.setTotal(total);
-		fCounterPanel.setRunValue(0);	
-	}
-
-	private void resetProgressBar(final int total) {
-		fProgressBar.reset();
-		fProgressBar.setMaximum(total);
-	}
-
-	private void postSyncRunnable(Runnable r) {
-		if (!isDisposed())
-			getDisplay().syncExec(r);
-	}
-
-	private void aboutToStart() {
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if (!isDisposed()) {
-					for (Enumeration e= fTestRunViews.elements(); e.hasMoreElements();) {
-						ITestRunView v= (ITestRunView) e.nextElement();
-						v.aboutToStart();
-					}
-					fNextAction.setEnabled(false);
-					fPreviousAction.setEnabled(false);
-				}
-			}
-		});
-	}
-	
-	private void postEndTest(final String testId, final String testName) {
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if(isDisposed()) 
-					return;
-				handleEndTest();
-				for (Enumeration e= fTestRunViews.elements(); e.hasMoreElements();) {
-					ITestRunView v= (ITestRunView) e.nextElement();
-					v.endTest(testId);
-				}
-				
-				if (fFailureCount + fErrorCount > 0) {
-					fNextAction.setEnabled(true);
-					fPreviousAction.setEnabled(true);
-				}
-			}
-		});	
-	}
-
-	private void postStartTest(final String testId, final String testName) {
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if(isDisposed()) 
-					return;
-				for (Enumeration e= fTestRunViews.elements(); e.hasMoreElements();) {
-					ITestRunView v= (ITestRunView) e.nextElement();
-					v.startTest(testId);
-				}
-			}
-		});	
-	}
-
-	private void handleEndTest() {
-		refreshCounters();
-		fProgressBar.step(fFailureCount+fErrorCount);
-		if (fShowOnErrorOnly) {
-			Image progress= fProgressImages.getImage(fExecutedTests, fTestCount, fErrorCount, fFailureCount);
-			if (progress != fViewImage) {
-				fViewImage= progress;
-				firePropertyChange(IWorkbenchPart.PROP_TITLE);
-			}
-		}
-	}
-
-	private void refreshCounters() {
-		fCounterPanel.setErrorValue(fErrorCount);
-		fCounterPanel.setFailureValue(fFailureCount);
-		fCounterPanel.setRunValue(fExecutedTests);
-		fProgressBar.refresh(fErrorCount+fFailureCount> 0);
-	}
-
-	protected void postShowTestResultsView() {
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if (isDisposed()) 
-					return;
-				showTestResultsView();
-			}
-		});
-	}
-
-	public void showTestResultsView() {
-		IWorkbenchWindow window= getSite().getWorkbenchWindow();
-		IWorkbenchPage page= window.getActivePage();
-		TestRunnerViewPart testRunner= null;
-		
-		if (page != null) {
-			try { // show the result view
-				testRunner= (TestRunnerViewPart)page.findView(TestRunnerViewPart.NAME);
-				if(testRunner == null) {
-					IWorkbenchPart activePart= page.getActivePart();
-					testRunner= (TestRunnerViewPart)page.showView(TestRunnerViewPart.NAME);
-					//restore focus stolen by the creation of the console
-					page.activate(activePart);
-				} else {
-					page.bringToTop(testRunner);
-				}
-			} catch (PartInitException pie) {
-				JUnitPlugin.log(pie);
-			}
-		}
-	}
-
-	protected void postInfo(final String message) {
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if (isDisposed()) 
-					return;
-				getStatusLine().setErrorMessage(null);
-				getStatusLine().setMessage(message);
-			}
-		});
-	}
-
-	protected void postError(final String message) {
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if (isDisposed()) 
-					return;
-				getStatusLine().setMessage(null);
-				getStatusLine().setErrorMessage(message);
-			}
-		});
-	}
-
-	protected void showInformation(final String info){
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if (!isDisposed())
-					fFailureView.setInformation(info);
-			}
-		});
-	}
-
-	private CTabFolder createTestRunViews(Composite parent) {
-		CTabFolder tabFolder= new CTabFolder(parent, SWT.TOP);
-		tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL));
-
-		ITestRunView failureRunView= new FailureRunView(tabFolder, fClipboard, this);		
-		ITestRunView testHierarchyRunView= new HierarchyRunView(tabFolder, this);
-		
-		fTestRunViews.addElement(failureRunView);
-		fTestRunViews.addElement(testHierarchyRunView);
-		
-		tabFolder.setSelection(0);				
-		fActiveRunView= (ITestRunView)fTestRunViews.firstElement();		
-				
-		tabFolder.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				testViewChanged(event);
-			}
-		});
-		return tabFolder;
-	}
-
-	private void testViewChanged(SelectionEvent event) {
-		for (Enumeration e= fTestRunViews.elements(); e.hasMoreElements();) {
-			ITestRunView v= (ITestRunView) e.nextElement();
-			if (((CTabFolder) event.widget).getSelection().getText() == v.getName()){
-				v.setSelectedTest(fActiveRunView.getSelectedTestId());
-				fActiveRunView= v;
-				fActiveRunView.activate();
-			}
-		}
-	}
-
-	private SashForm createSashForm(Composite parent) {
-		fSashForm= new SashForm(parent, SWT.VERTICAL);
-		ViewForm top= new ViewForm(fSashForm, SWT.NONE);
-		fTabFolder= createTestRunViews(top);
-		fTabFolder.setLayoutData(new TabFolderLayout());
-		top.setContent(fTabFolder);
-		
-		ViewForm bottom= new ViewForm(fSashForm, SWT.NONE);
-		CLabel label= new CLabel(bottom, SWT.NONE);
-		label.setText(JUnitMessages.getString("TestRunnerViewPart.label.failure")); //$NON-NLS-1$
-		label.setImage(fStackViewIcon);
-		bottom.setTopLeft(label);
-
-		ToolBar failureToolBar= new ToolBar(bottom, SWT.FLAT | SWT.WRAP);
-		bottom.setTopCenter(failureToolBar);
-		fFailureView= new FailureTraceView(bottom, fClipboard, this, failureToolBar);
-		bottom.setContent(fFailureView.getComposite()); 
-		
-		fSashForm.setWeights(new int[]{50, 50});
-		return fSashForm;
-	}
-
-	private void reset(final int testCount) {
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if (isDisposed()) 
-					return;
-				fCounterPanel.reset();
-				fFailureView.clear();
-				fProgressBar.reset();
-				clearStatus();
-				start(testCount);
-			}
-		});
-		fExecutedTests= 0;
-		fFailureCount= 0;
-		fErrorCount= 0;
-		fTestCount= testCount;
-		aboutToStart();
-		fTestInfos.clear();
-		fFailures= new ArrayList();
-	}
-
-	private void clearStatus() {
-		getStatusLine().setMessage(null);
-		getStatusLine().setErrorMessage(null);
-	}
-
-    public void setFocus() {
-    	if (fActiveRunView != null)
-    		fActiveRunView.setFocus();
-    }
-
-    public void createPartControl(Composite parent) {	
-    	fParent= parent;
-    	addResizeListener(parent);
-		fClipboard= new Clipboard(parent.getDisplay());
-
-		GridLayout gridLayout= new GridLayout();
-		gridLayout.marginWidth= 0;
-		gridLayout.marginHeight= 0;
-		parent.setLayout(gridLayout);
-
-		configureToolBar();
-		
-		fCounterComposite= createProgressCountPanel(parent);
-		fCounterComposite.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
-		SashForm sashForm= createSashForm(parent);
-		sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-		IActionBars actionBars= getViewSite().getActionBars();
-		actionBars.setGlobalActionHandler(
-			ActionFactory.COPY.getId(),
-			new CopyTraceAction(fFailureView, fClipboard));
-		
-		JUnitPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		fOriginalViewImage= getTitleImage();
-		fProgressImages= new ProgressImages();
-		WorkbenchHelp.setHelp(parent, IJUnitHelpContextIds.RESULTS_VIEW);
-		
-		if (fMemento != null) {
-			restoreLayoutState(fMemento);
-		}
-		fMemento= null;
-	}
-
-	private void addResizeListener(Composite parent) {
-		parent.addControlListener(new ControlListener() {
-			public void controlMoved(ControlEvent e) {
-			}
-			public void controlResized(ControlEvent e) {
-				Point size= fParent.getSize();
-				if (size.x != 0 && size.y != 0) {
-					if (size.x > size.y) 
-						setOrientation(VIEW_ORIENTATION_HORIZONTAL);
-					else 
-						setOrientation(VIEW_ORIENTATION_VERTICAL);
-				}
-			}
-		});
-	}
-
-	public void saveState(IMemento memento) {
-		if (fSashForm == null) {
-			// part has not been created
-			if (fMemento != null) //Keep the old state;
-				memento.putMemento(fMemento);
-			return;
-		}
-		
-		int activePage= fTabFolder.getSelectionIndex();
-		memento.putInteger(TAG_PAGE, activePage);
-		memento.putString(TAG_SCROLL, fScrollLockAction.isChecked() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		int weigths[]= fSashForm.getWeights();
-		int ratio= (weigths[0] * 1000) / (weigths[0] + weigths[1]);
-		memento.putInteger(TAG_RATIO, ratio);
-		memento.putInteger(TAG_ORIENTATION, fCurrentOrientation);
-	}
-	
-	private void configureToolBar() {
-		IActionBars actionBars= getViewSite().getActionBars();
-		IToolBarManager toolBar= actionBars.getToolBarManager();
-		IMenuManager viewMenu = actionBars.getMenuManager();
-		fRerunLastTestAction= new RerunLastAction();
-		fScrollLockAction= new ScrollLockAction(this);
-		fToggleOrientationActions =
-			new ToggleOrientationAction[] {
-				new ToggleOrientationAction(this, VIEW_ORIENTATION_VERTICAL),
-				new ToggleOrientationAction(this, VIEW_ORIENTATION_HORIZONTAL)};
-		fNextAction= new ShowNextFailureAction(this);
-		fPreviousAction= new ShowPreviousFailureAction(this);
-		fNextAction.setEnabled(false);
-		fPreviousAction.setEnabled(false);
-		actionBars.setGlobalActionHandler(ActionFactory.NEXT.getId(), fNextAction);
-		actionBars.setGlobalActionHandler(ActionFactory.PREVIOUS.getId(), fPreviousAction);
-		
-		toolBar.add(fNextAction);
-		toolBar.add(fPreviousAction);
-		toolBar.add(new StopAction());
-		toolBar.add(new Separator());
-		toolBar.add(fRerunLastTestAction);
-		toolBar.add(fScrollLockAction);
-
-		for (int i = 0; i < fToggleOrientationActions.length; ++i)
-			viewMenu.add(fToggleOrientationActions[i]);
-		
-		fScrollLockAction.setChecked(!fAutoScroll);
-
-		actionBars.updateActionBars();
-	}
-
-	private IStatusLineManager getStatusLine() {
-		// we want to show messages globally hence we
-		// have to go throgh the active part
-		IViewSite site= getViewSite();
-		IWorkbenchPage page= site.getPage();
-		IWorkbenchPart activePart= page.getActivePart();
-	
-		if (activePart instanceof IViewPart) {
-			IViewPart activeViewPart= (IViewPart)activePart;
-			IViewSite activeViewSite= activeViewPart.getViewSite();
-			return activeViewSite.getActionBars().getStatusLineManager();
-		}
-		
-		if (activePart instanceof IEditorPart) {
-			IEditorPart activeEditorPart= (IEditorPart)activePart;
-			IEditorActionBarContributor contributor= activeEditorPart.getEditorSite().getActionBarContributor();
-			if (contributor instanceof EditorActionBarContributor) 
-				return ((EditorActionBarContributor) contributor).getActionBars().getStatusLineManager();
-		}
-		// no active part
-		return getViewSite().getActionBars().getStatusLineManager();
-	}
-
-	private Composite createProgressCountPanel(Composite parent) {
-		Composite composite= new Composite(parent, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		composite.setLayout(layout);
-		setCounterColumns(layout); 
-		
-		fCounterPanel = new CounterPanel(composite);
-		fCounterPanel.setLayoutData(
-			new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
-		fProgressBar = new JUnitProgressBar(composite);
-		fProgressBar.setLayoutData(
-				new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
-		return composite;
-	}
-
-	public TestRunInfo getTestInfo(String testId) {
-		if (testId == null)
-			return null;
-		return (TestRunInfo) fTestInfos.get(testId);
-	}
-
-	public void handleTestSelected(String testId) {
-		TestRunInfo testInfo= getTestInfo(testId);
-
-		if (testInfo == null) {
-			showFailure(null); //$NON-NLS-1$
-		} else {
-			showFailure(testInfo);
-		}
-	}
-
-	private void showFailure(final TestRunInfo failure) {
-		postSyncRunnable(new Runnable() {
-			public void run() {
-				if (!isDisposed())
-					fFailureView.showFailure(failure);
-			}
-		});		
-	}
-
-	public IJavaProject getLaunchedProject() {
-		return fTestProject;
-	}
-	
-	public ILaunch getLastLaunch() {
-		return fLastLaunch;
-	}
-	
-	protected static Image createImage(String path) {
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(JUnitPlugin.makeIconFileURL(path));
-			return id.createImage();
-		} catch (MalformedURLException e) {
-			// fall through
-		}  
-		return null;
-	}
-
-	private boolean isDisposed() {
-		return fIsDisposed || fCounterPanel.isDisposed();
-	}
-
-	private Display getDisplay() {
-		return getViewSite().getShell().getDisplay();
-	}
-	/**
-	 * @see IWorkbenchPart#getTitleImage()
-	 */
-	public Image getTitleImage() {
-		if (fOriginalViewImage == null)
-			fOriginalViewImage= super.getTitleImage();
-			
-		if (fViewImage == null)
-			return super.getTitleImage();
-		return fViewImage;
-	}
-
-	public void propertyChange(PropertyChangeEvent event) {
-		if (isDisposed())
-			return;
-
-		if (IJUnitPreferencesConstants.SHOW_ON_ERROR_ONLY.equals(event.getProperty())) {
-			if (!JUnitPreferencePage.getShowOnErrorOnly()) {
-				fViewImage= fOriginalViewImage;
-				firePropertyChange(IWorkbenchPart.PROP_TITLE);
-			}
-		}
-	}
-
-	void codeHasChanged() {
-		if (fDirtyListener != null) {
-			JavaCore.removeElementChangedListener(fDirtyListener);
-			fDirtyListener= null;
-		}
-		if (fViewImage == fTestRunOKIcon) 
-			fViewImage= fTestRunOKDirtyIcon;
-		else if (fViewImage == fTestRunFailIcon)
-			fViewImage= fTestRunFailDirtyIcon;
-		
-		Runnable r= new Runnable() {
-			public void run() {
-				if (isDisposed())
-					return;
-				firePropertyChange(IWorkbenchPart.PROP_TITLE);
-			}
-		};
-		if (!isDisposed())
-			getDisplay().asyncExec(r);
-	}
-	
-	boolean isCreated() {
-		return fCounterPanel != null;
-	}
-
-	public void rerunTest(String testId, String className, String testName, String launchMode) {
-		DebugUITools.saveAndBuildBeforeLaunch();
-		if (lastLaunchIsKeptAlive())
-			fTestRunnerClient.rerunTest(testId, className, testName);
-		else if (fLastLaunch != null) {
-			// run the selected test using the previous launch configuration
-			ILaunchConfiguration launchConfiguration= fLastLaunch.getLaunchConfiguration();
-			if (launchConfiguration != null) {
-				try {
-					String name= className;
-					if (testName != null) 
-						name+= "."+testName; //$NON-NLS-1$
-					ILaunchConfigurationWorkingCopy tmp= launchConfiguration.copy("Rerun "+name); //$NON-NLS-1$
-					if (testName != null) {
-						tmp.setAttribute(JUnitBaseLaunchConfiguration.TESTNAME_ATTR, testName);
-						//	String args= "-rerun "+testId;
-						//	tmp.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, args);
-					}
-					tmp.launch(launchMode, null);	
-					return;	
-				} catch (CoreException e) {
-					ErrorDialog.openError(getSite().getShell(), 
-						JUnitMessages.getString("TestRunnerViewPart.error.cannotrerun"), e.getMessage(), e.getStatus() //$NON-NLS-1$
-					);
-				}
-			}
-			MessageDialog.openInformation(getSite().getShell(), 
-				JUnitMessages.getString("TestRunnerViewPart.cannotrerun.title"),  //$NON-NLS-1$
-				JUnitMessages.getString("TestRunnerViewPart.cannotrerurn.message") //$NON-NLS-1$
-			); 
-		}
-	}
-	
-	public boolean lastLaunchIsKeptAlive() {
-		return fTestRunnerClient != null && fTestRunnerClient.isRunning() && ILaunchManager.DEBUG_MODE.equals(fLaunchMode);
-	}
-
-	private void setOrientation(int orientation) {
-		if ((fSashForm == null) || fSashForm.isDisposed())
-			return;
-		boolean horizontal = orientation == VIEW_ORIENTATION_HORIZONTAL;
-		fSashForm.setOrientation(horizontal ? SWT.HORIZONTAL : SWT.VERTICAL);
-		for (int i = 0; i < fToggleOrientationActions.length; ++i)
-			fToggleOrientationActions[i].setChecked(orientation == fToggleOrientationActions[i].getOrientation());
-		fCurrentOrientation = orientation;
-		GridLayout layout= (GridLayout) fCounterComposite.getLayout();
-		setCounterColumns(layout); 
-		fParent.layout();
-	}
-
-	private void setCounterColumns(GridLayout layout) {
-		if (fCurrentOrientation == VIEW_ORIENTATION_HORIZONTAL)
-			layout.numColumns= 2; 
-		else
-			layout.numColumns= 1;
-	}
-
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TypeRenameParticipant.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TypeRenameParticipant.java
deleted file mode 100644
index 15ce1e7..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TypeRenameParticipant.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jdt.internal.junit.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-
-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.jdt.internal.junit.launcher.JUnitLaunchConfiguration;
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-public class TypeRenameParticipant extends RenameParticipant {
-
-	private IType fType;
-	
-	private static class LaunchConfigChange extends Change {
-
-		private IType fType;
-		private ILaunchConfiguration fConfig;
-		private String fNewName;
-
-		public LaunchConfigChange(IType type, ILaunchConfiguration config, String newName) {
-			fType= type;
-			fConfig= config;
-			fNewName= newName;
-		}
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public String getName() {
-			return fConfig.getName();
-		}
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		public void initializeValidationData(IProgressMonitor pm) {
-			// must be implemented to decide correct value of isValid
-		}
-
-		public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-			return new RefactoringStatus();
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.internal.corext.refactoring.base.IChange#perform(org.eclipse.jdt.internal.corext.refactoring.base.ChangeContext, org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public Change perform(IProgressMonitor pm) throws CoreException {
-			pm.beginTask("", 1); //$NON-NLS-1$
-			String current= fConfig.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)null);
-			int index= current.lastIndexOf('.');
-			String newTypeName;
-			if (index == -1) {
-				newTypeName= fNewName;
-			} else {
-				newTypeName= current.substring(0, index + 1) + fNewName;
-			}
-			ILaunchConfigurationWorkingCopy copy= fConfig.getWorkingCopy();
-			copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, newTypeName);
-			if (fConfig.getName().equals(current))
-					copy.rename(fNewName);
-			copy.doSave();
-			pm.worked(1);
-			return new LaunchConfigChange(fType, fConfig, (index == -1) ? current : current.substring(index + 1));
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.internal.corext.refactoring.base.IChange#getModifiedLanguageElement()
-		 */
-		public Object getModifiedElement() {
-			return fConfig;
-		}
-	}
-	
-	protected boolean initialize(Object element) {
-		fType= (IType)element;
-		try {
-			return TestSearchEngine.isTestOrTestSuite(fType);
-		} catch (JavaModelException e) {
-			return false;
-		}
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getName() {
-		return JUnitMessages.getString("TypeRenameParticipant.name"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.corext.refactoring.participants.IRenameParticipant#checkInput(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		return new RefactoringStatus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.corext.refactoring.participants.IRenameParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		if (!getArguments().getUpdateReferences()) 
-			return null;	
-		
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType type= manager.getLaunchConfigurationType(JUnitLaunchConfiguration.ID_JUNIT_APPLICATION);
-		ILaunchConfiguration configs[]= manager.getLaunchConfigurations(type);
-		String typeName= fType.getFullyQualifiedName();
-		List changes= new ArrayList();
-		for (int i= 0; i < configs.length; i++) {
-			String mainType= configs[i].getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)null);
-			if (typeName.equals(mainType)) {
-				changes.add(new LaunchConfigChange(fType, configs[i], getArguments().getNewName()));
-			}
-		}
-		return new CompositeChange(JUnitMessages.getString("TypeRenameParticipant.change.name"), (Change[]) changes.toArray(new Change[changes.size()])); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/CheckedTableSelectionDialog.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/CheckedTableSelectionDialog.java
deleted file mode 100644
index 680d95a..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/CheckedTableSelectionDialog.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.util;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.internal.junit.wizards.WizardMessages;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * A dialog with checked table viewer.
- * 
- * TO DO: this class is duplicated from org.eclipse.jdt.ui
- */
-public class CheckedTableSelectionDialog extends SelectionStatusDialog {
-	
-	private CheckboxTableViewer fViewer;
-	
-	private ILabelProvider fLabelProvider;
-	private IStructuredContentProvider fContentProvider;
-	
-	private ISelectionStatusValidator fValidator= null; 
-	private ViewerSorter fSorter;
-	private String fEmptyListMessage= WizardMessages.getString("CheckedTableSelectionDialog.emptyListMessage"); //$NON-NLS-1$
-	
-	private IStatus fCurrStatus= new JUnitStatus();
-	private List fFilters;
-	private Object fInput;		
-	private boolean fIsEmpty;
-	
-	private int fWidth= 40;
-	private int fHeight= 18;
-	
-	/**
-	 * Constructs an instance of <code>ElementTreeSelectionDialog</code>.
-	 * @param labelProvider   the label provider to render the entries
-	 * @param contentProvider the content provider to evaluate the tree structure
-	 */	
-	public CheckedTableSelectionDialog(Shell parent, ILabelProvider labelProvider,
-		IStructuredContentProvider contentProvider) {
-		super(parent);
-		
-		fLabelProvider= labelProvider;
-		fContentProvider= contentProvider;
-
-		setResult(new ArrayList(0));
-		setStatusLineAboveButtons(true);
-	}
-
-	/**
-	 * Sets the initial selection.
-	 * Convenience method.
-	 * @param selection the initial selection.
-	 */
-	public void setInitialSelection(Object selection) {
-		setInitialSelections(new Object[] {selection});
-	}
-
-	/**
-	 * Sets the message to be displayed if the list is empty.
-	 * @param message the message to be displayed.
-	 */	
-	public void setEmptyListMessage(String message) {
-		fEmptyListMessage= message;
-	}	
-	
-	/**
-	 * Sets the sorter used by the tree viewer.
-	 */
-	public void setSorter(ViewerSorter sorter) {
-		fSorter= sorter;
-	}		
-	
-	/**
-	 * Adds a filter to the tree viewer.
-	 * @param filter a filter.
-	 */
-	public void addFilter(ViewerFilter filter) {
-		if (fFilters == null)
-			fFilters= new ArrayList(4);
-			
-		fFilters.add(filter);
-	}
-	
-	/**
-	 * Sets an optional validator to check if the selection is valid.
-	 * The validator is invoked whenever the selection changes.
-	 * @param validator the validator to validate the selection.
-	 */
-	public void setValidator(ISelectionStatusValidator validator) {
-		fValidator= validator;
-	}			
-	
-	/**
-	 * Sets the tree input.
-	 * @param input the tree input.
-	 */
-	public void setInput(Object input) {
-		fInput= input;
-	}
-
-	/**
-	 * Sets the size of the tree in unit of characters.
-	 * @param width  the width of the tree.
-	 * @param height the height of the tree.
-	 */
-	public void setSize(int width, int height) {
-		fWidth= width;
-		fHeight= height;
-	}
-
-	protected void updateOKStatus() {
-		if (!fIsEmpty) {
-			if (fValidator != null) {
-				fCurrStatus= fValidator.validate(fViewer.getCheckedElements());
-				updateStatus(fCurrStatus);
-			} else if (!fCurrStatus.isOK()) {
-				fCurrStatus= new JUnitStatus();
-			}
-		} else {
-			fCurrStatus= new JUnitStatus(IStatus.ERROR, fEmptyListMessage);
-		}
-		updateStatus(fCurrStatus);
-	}
-	
-	/*
-	 * @see Window#open()
-	 */	 
-	public int open() {
-		fIsEmpty= evaluateIfTableEmpty(fInput);
-		BusyIndicator.showWhile(null, new Runnable() {
-			public void run() {
-				access$superOpen();
-			}
-		});
-		return getReturnCode();
-	}
-
-	private void access$superOpen() {
-		super.open();
-	}	
-	 		
-	/**
-	 * Handles cancel button pressed event.
-	 */	 
-	protected void cancelPressed() {
-		setResult(null);
-		super.cancelPressed();
-	} 
-
-	/*
-	 * @see SelectionStatusDialog#computeResult()
-	 */	 
-	protected void computeResult() {
-		setResult(Arrays.asList(fViewer.getCheckedElements()));
-	} 
-	 
-	/*
-	 * @see Window#create()
-	 */	 
-	public void create() {
-		super.create();
-
-		List initialSelections= getInitialElementSelections();
-		if (initialSelections.size() > 0) {
-			fViewer.setCheckedElements(initialSelections.toArray());			
-		}
-			
-		updateOKStatus();
-	}		
-	
-	/*
-	 * @see Dialog#createDialogArea(Composite)
-	 */	 
-	protected Control createDialogArea(Composite parent) {
-		Composite composite= (Composite) super.createDialogArea(parent);
-		
-		Label messageLabel= createMessageArea(composite);
-		Control treeWidget= createTableViewer(composite);
-		Control buttonComposite= createSelectionButtons(composite);
-
-		GridData data= new GridData(GridData.FILL_BOTH);
-		data.widthHint= convertWidthInCharsToPixels(fWidth);
-		data.heightHint= convertHeightInCharsToPixels(fHeight);
-		treeWidget.setLayoutData(data);
-		
-		if (fIsEmpty) {
-			messageLabel.setEnabled(false);
-			treeWidget.setEnabled(false);
-			buttonComposite.setEnabled(false);
-		}
-		applyDialogFont(composite);
-		return composite;
-	}
-	
-	private Table createTableViewer(Composite parent) {
-		fViewer= CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
-			
-		fViewer.setContentProvider(fContentProvider);
-		fViewer.setLabelProvider(fLabelProvider);
-		fViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				updateOKStatus();
-			}	
-		});
-		
-		fViewer.setSorter(fSorter);
-		if (fFilters != null) {
-			for (int i= 0; i != fFilters.size(); i++)
-				fViewer.addFilter((ViewerFilter) fFilters.get(i));
-		}
-				
-		fViewer.setInput(fInput);
-		return fViewer.getTable();	
-	}
-		
-	/**
-	 * Add the selection and deselection buttons to the dialog.
-	 * @param composite org.eclipse.swt.widgets.Composite
-	 */
-	private Composite createSelectionButtons(Composite composite) {
-		Composite buttonComposite= new Composite(composite, SWT.RIGHT);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		buttonComposite.setLayout(layout);
-		GridData data= new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL);
-		data.grabExcessHorizontalSpace= true;
-		composite.setData(data);
-
-		Button selectButton= createButton(buttonComposite, IDialogConstants.SELECT_ALL_ID, WizardMessages.getString("CheckedTableSelectionDialog.selectAll"), false); //$NON-NLS-1$
-
-		SelectionListener listener= new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fViewer.setCheckedElements(fContentProvider.getElements(fInput));
-				updateOKStatus();
-			}
-		};
-		selectButton.addSelectionListener(listener);
-
-		Button deselectButton= createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID, WizardMessages.getString("CheckedTableSelectionDialog.deselectAll"), false); //$NON-NLS-1$
-
-		listener= new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fViewer.setCheckedElements(new Object[0]);
-				updateOKStatus();
-			}
-		};
-		deselectButton.addSelectionListener(listener);
-		return buttonComposite;
-	}
-	
-	private boolean evaluateIfTableEmpty(Object input) {
-		Object[] elements= fContentProvider.getElements(input);
-		if (elements.length > 0) {
-			if (fFilters != null) {
-				for (int i= 0; i < fFilters.size(); i++) {
-					ViewerFilter curr= (ViewerFilter)fFilters.get(i);
-					elements= curr.filter(fViewer, input, elements);
-				}
-			}
-		}
-		return elements.length == 0;
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/ExceptionHandler.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/ExceptionHandler.java
deleted file mode 100644
index c6e4d03..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/ExceptionHandler.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.internal.junit.util;
-
-import java.io.StringWriter;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.junit.wizards.WizardMessages;
-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.
- * 
- * TO DO: this class is duplicated from org.eclipse.jdt.ui
- */
-public class ExceptionHandler {
-
-	private static ExceptionHandler fgInstance= new ExceptionHandler();
-	
-	/**
-	 * 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>. 
-	 * 
-	 * @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) {
-		JUnitPlugin.log(e);
-		IStatus status= e.getStatus();
-		if (status != null) {
-			ErrorDialog.openError(shell, title, message, status);
-		} else {
-			displayMessageDialog(e, 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 {
-			JUnitPlugin.log(e);
-			if (e.getMessage() != null && e.getMessage().length() > 0) {
-				displayMessageDialog(e, e.getMessage(), shell, title, message);
-			} else {
-				displayMessageDialog(e, target.getMessage(), shell, title, message);
-			}
-		}
-	}
-	
-	private void displayMessageDialog(Throwable t, 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(WizardMessages.getString("ExceptionDialog.seeErrorLogMessage")); //$NON-NLS-1$
-		else
-			msg.write(exceptionMessage);
-		MessageDialog.openError(shell, title, msg.toString());			
-	}	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/IJUnitStatusConstants.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/IJUnitStatusConstants.java
deleted file mode 100644
index 7f3b293..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/IJUnitStatusConstants.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.junit.util;
-
-public interface IJUnitStatusConstants {
-
-	// JUnit UI status constants start at 10000 to make sure that we don't
-	// collide with resource and java model constants.
-	
-	public static final int INTERNAL_ERROR= 10001;
-	
-	/**
-	 * Status constant indicating that an validateEdit call has changed the
-	 * content of a file on disk.
-	 */
-	public static final int VALIDATE_EDIT_CHANGED_CONTENT= 10003;
-	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/JUnitStatus.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/JUnitStatus.java
deleted file mode 100644
index 4cf496b..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/JUnitStatus.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.junit.util;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jface.util.Assert;
-
-/**
- * An implemention of IStatus. 
- * TO DO: Why is it duplicated, it should leverage the Status base class???
- */
-public class JUnitStatus implements IStatus {
-	private String fStatusMessage;
-	private int fSeverity;
-	
-	/**
-	 * Creates a status set to OK (no message)
-	 */
-	public JUnitStatus() {
-		this(OK, null);
-	}
-
-	/**
-	 * Creates a status .
-	 * @param severity The status severity: ERROR, WARNING, INFO and OK.
-	 * @param message The message of the status. Applies only for ERROR,
-	 * WARNING and INFO.
-	 */	
-	public JUnitStatus(int severity, String message) {
-		fStatusMessage= message;
-		fSeverity= severity;
-	}		
-
-	public static IStatus createError(String message) {
-		return new JUnitStatus(IStatus.ERROR, message);
-	}
-	
-	public static IStatus createWarning(String message) {
-		return new JUnitStatus(IStatus.WARNING, message);
-	}
-
-	public static IStatus createInfo(String message) {
-		return new JUnitStatus(IStatus.INFO, message);
-	}
-	
-	/**
-	 *  Returns if the status' severity is OK.
-	 */
-	public boolean isOK() {
-		return fSeverity == IStatus.OK;
-	}
-
-	/**
-	 *  Returns if the status' severity is WARNING.
-	 */	
-	public boolean isWarning() {
-		return fSeverity == IStatus.WARNING;
-	}
-
-	/**
-	 *  Returns if the status' severity is INFO.
-	 */	
-	public boolean isInfo() {
-		return fSeverity == IStatus.INFO;
-	}	
-
-	/**
-	 *  Returns if the status' severity is ERROR.
-	 */	
-	public boolean isError() {
-		return fSeverity == IStatus.ERROR;
-	}
-	
-	/**
-	 * @see IStatus#getMessage
-	 */
-	public String getMessage() {
-		return fStatusMessage;
-	}
-	
-	/**
-	 * Sets the status to ERROR.
-	 * @param The error message (can be empty, but not null)
-	 */	
-	public void setError(String errorMessage) {
-		Assert.isNotNull(errorMessage);
-		fStatusMessage= errorMessage;
-		fSeverity= IStatus.ERROR;
-	}
-
-	/**
-	 * Sets the status to WARNING.
-	 * @param The warning message (can be empty, but not null)
-	 */		
-	public void setWarning(String warningMessage) {
-		Assert.isNotNull(warningMessage);
-		fStatusMessage= warningMessage;
-		fSeverity= IStatus.WARNING;
-	}
-
-	/**
-	 * Sets the status to INFO.
-	 * @param The info message (can be empty, but not null)
-	 */		
-	public void setInfo(String infoMessage) {
-		Assert.isNotNull(infoMessage);
-		fStatusMessage= infoMessage;
-		fSeverity= IStatus.INFO;
-	}	
-
-	/**
-	 * Sets the status to OK.
-	 */		
-	public void setOK() {
-		fStatusMessage= null;
-		fSeverity= IStatus.OK;
-	}
-	
-	/*
-	 * @see IStatus#matches(int)
-	 */
-	public boolean matches(int severityMask) {
-		return (fSeverity & severityMask) != 0;
-	}
-
-	/**
-	 * Returns always <code>false</code>.
-	 * @see IStatus#isMultiStatus()
-	 */
-	public boolean isMultiStatus() {
-		return false;
-	}
-
-	/*
-	 * @see IStatus#getSeverity()
-	 */
-	public int getSeverity() {
-		return fSeverity;
-	}
-
-	/*
-	 * @see IStatus#getPlugin()
-	 */
-	public String getPlugin() {
-		return JUnitPlugin.PLUGIN_ID;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getException()
-	 */
-	public Throwable getException() {
-		return null;
-	}
-
-	/**
-	 * Returns always the error severity.
-	 * @see IStatus#getCode()
-	 */
-	public int getCode() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getChildren()
-	 */
-	public IStatus[] getChildren() {
-		return new IStatus[0];
-	}	
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/JUnitStubUtility.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/JUnitStubUtility.java
deleted file mode 100644
index d7f8f4b..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/JUnitStubUtility.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.internal.junit.util;
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.ICodeFormatter;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-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.core.Signature;
-import org.eclipse.jdt.core.ToolFactory;
-import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings;
-import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
-import org.eclipse.jdt.ui.wizards.NewTypeWizardPage.ImportsManager;
-import org.eclipse.swt.SWT;
-
-/**
- * Utility methods for code generation.
- * TODO: some methods are duplicated from org.eclipse.jdt.ui
- */
-public class JUnitStubUtility {
-
-	public static class GenStubSettings extends CodeGenerationSettings {
-	
-		public boolean fCallSuper;
-		public boolean fMethodOverwrites;
-		public boolean fNoBody;
-		
-		public GenStubSettings(CodeGenerationSettings settings) {
-			this.createComments= settings.createComments;
-		}
-	}
-
-	/**
-	 * Examines a string and returns the first line delimiter found.
-	 */
-	public static String getLineDelimiterUsed(IJavaElement elem) {
-		try {
-			ICompilationUnit cu= (ICompilationUnit) elem.getAncestor(IJavaElement.COMPILATION_UNIT);
-			if (cu != null && cu.exists()) {
-				IBuffer buf= cu.getBuffer();
-				int length= buf.getLength();
-				for (int i= 0; i < length; i++) {
-					char ch= buf.getChar(i);
-					if (ch == SWT.CR) {
-						if (i + 1 < length) {
-							if (buf.getChar(i + 1) == SWT.LF) {
-								return "\r\n"; //$NON-NLS-1$
-							}
-						}
-						return "\r"; //$NON-NLS-1$
-					} else if (ch == SWT.LF) {
-						return "\n"; //$NON-NLS-1$
-					}
-				}
-			}
-			return System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (JavaModelException e) {
-			return System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	public static String codeFormat(String sourceString, int initialIndentationLevel, String lineDelim) {
-		ICodeFormatter formatter= ToolFactory.createDefaultCodeFormatter(null);
-		return formatter.format(sourceString, initialIndentationLevel, null, lineDelim);
-	}
-
-	/**
-	 * Generates a stub. Given a template method, a stub with the same signature
-	 * will be constructed so it can be added to a type.
-	 * @param destTypeName The name of the type to which the method will be added to (Used for the constructor)
-	 * @param method A method template (method belongs to different type than the parent)
-	 * @param options Options as defined abouve (GENSTUB_*)
-	 * @param imports Imports required by the sub are added to the imports structure
-	 * @throws JavaModelException
-	 */
-	public static String genStub(String destTypeName, IMethod method, GenStubSettings settings, ImportsManager imports) throws JavaModelException {
-		IType declaringtype= method.getDeclaringType();	
-		StringBuffer buf= new StringBuffer();
-		String[] paramTypes= method.getParameterTypes();
-		String[] paramNames= method.getParameterNames();
-		String[] excTypes= method.getExceptionTypes();
-		String retTypeSig= method.getReturnType();
-		
-		int lastParam= paramTypes.length -1;		
-		
-		if (settings.createComments) {
-			if (method.isConstructor()) {
-				String desc= "Constructor for " + destTypeName; //$NON-NLS-1$
-				genJavaDocStub(desc, paramNames, Signature.SIG_VOID, excTypes, buf);
-			} else {			
-				// java doc
-				if (settings.fMethodOverwrites) {
-					boolean isDeprecated= Flags.isDeprecated(method.getFlags());
-					genJavaDocSeeTag(declaringtype.getElementName(), method.getElementName(), paramTypes, settings.createNonJavadocComments, isDeprecated, buf);
-				} else {
-					// generate a default java doc comment
-					String desc= "Method " + method.getElementName(); //$NON-NLS-1$
-					genJavaDocStub(desc, paramNames, retTypeSig, excTypes, buf);
-				}
-			}
-		}
-		int flags= method.getFlags();
-		if (Flags.isPublic(flags) || (declaringtype.isInterface() && !settings.fNoBody)) {
-			buf.append("public "); //$NON-NLS-1$
-		} else if (Flags.isProtected(flags)) {
-			buf.append("protected "); //$NON-NLS-1$
-		} else if (Flags.isPrivate(flags)) {
-			buf.append("private "); //$NON-NLS-1$
-		}
-		if (Flags.isSynchronized(flags)) {
-			buf.append("synchronized "); //$NON-NLS-1$
-		}		
-		if (Flags.isVolatile(flags)) {
-			buf.append("volatile "); //$NON-NLS-1$
-		}
-		if (Flags.isStrictfp(flags)) {
-			buf.append("strictfp "); //$NON-NLS-1$
-		}
-		if (Flags.isStatic(flags)) {
-			buf.append("static "); //$NON-NLS-1$
-		}		
-			
-		if (method.isConstructor()) {
-			buf.append(destTypeName);
-		} else {
-			String retTypeFrm= Signature.toString(retTypeSig);
-			if (!isBuiltInType(retTypeSig)) {
-				resolveAndAdd(retTypeSig, declaringtype, imports);
-			}
-			buf.append(Signature.getSimpleName(retTypeFrm));
-			buf.append(' ');
-			buf.append(method.getElementName());
-		}
-		buf.append('(');
-		for (int i= 0; i <= lastParam; i++) {
-			String paramTypeSig= paramTypes[i];
-			String paramTypeFrm= Signature.toString(paramTypeSig);
-			if (!isBuiltInType(paramTypeSig)) {
-				resolveAndAdd(paramTypeSig, declaringtype, imports);
-			}
-			buf.append(Signature.getSimpleName(paramTypeFrm));
-			buf.append(' ');
-			buf.append(paramNames[i]);
-			if (i < lastParam) {
-				buf.append(", "); //$NON-NLS-1$
-			}
-		}
-		buf.append(')');
-		
-		int lastExc= excTypes.length - 1;
-		if (lastExc >= 0) {
-			buf.append(" throws "); //$NON-NLS-1$
-			for (int i= 0; i <= lastExc; i++) {
-				String excTypeSig= excTypes[i];
-				String excTypeFrm= Signature.toString(excTypeSig);
-				resolveAndAdd(excTypeSig, declaringtype, imports);
-				buf.append(Signature.getSimpleName(excTypeFrm));
-				if (i < lastExc) {
-					buf.append(", "); //$NON-NLS-1$
-				}
-			}
-		}
-		if (settings.fNoBody) {
-			buf.append(";\n\n"); //$NON-NLS-1$
-		} else {
-			buf.append(" {\n\t"); //$NON-NLS-1$
-			if (!settings.fCallSuper) {
-				if (retTypeSig != null && !retTypeSig.equals(Signature.SIG_VOID)) {
-					buf.append('\t');
-					if (!isBuiltInType(retTypeSig) || Signature.getArrayCount(retTypeSig) > 0) {
-						buf.append("return null;\n\t"); //$NON-NLS-1$
-					} else if (retTypeSig.equals(Signature.SIG_BOOLEAN)) {
-						buf.append("return false;\n\t"); //$NON-NLS-1$
-					} else {
-						buf.append("return 0;\n\t"); //$NON-NLS-1$
-					}
-				}
-			} else {
-				buf.append('\t');
-				if (!method.isConstructor()) {
-					if (!Signature.SIG_VOID.equals(retTypeSig)) {
-						buf.append("return "); //$NON-NLS-1$
-					}
-					buf.append("super."); //$NON-NLS-1$
-					buf.append(method.getElementName());
-				} else {
-					buf.append("super"); //$NON-NLS-1$
-				}
-				buf.append('(');			
-				for (int i= 0; i <= lastParam; i++) {
-					buf.append(paramNames[i]);
-					if (i < lastParam) {
-						buf.append(", "); //$NON-NLS-1$
-					}
-				}
-				buf.append(");\n\t"); //$NON-NLS-1$
-			}
-			buf.append("}\n\n");			 //$NON-NLS-1$
-		}
-		return buf.toString();
-	}
-
-	/**
-	 * Generates a default JavaDoc comment stub for a method.
-	 */
-	private static void genJavaDocStub(String descr, String[] paramNames, String retTypeSig, String[] excTypeSigs, StringBuffer buf) {
-		buf.append("/**\n"); //$NON-NLS-1$
-		buf.append(" * "); buf.append(descr); buf.append(".\n"); //$NON-NLS-2$ //$NON-NLS-1$
-		for (int i= 0; i < paramNames.length; i++) {
-			buf.append(" * @param "); buf.append(paramNames[i]); buf.append('\n'); //$NON-NLS-1$
-		}
-		if (retTypeSig != null && !retTypeSig.equals(Signature.SIG_VOID)) {
-			String simpleName= Signature.getSimpleName(Signature.toString(retTypeSig));
-			buf.append(" * @return "); buf.append(simpleName); buf.append('\n'); //$NON-NLS-1$
-		}
-		for (int i= 0; i < excTypeSigs.length; i++) {
-			String simpleName= Signature.getSimpleName(Signature.toString(excTypeSigs[i]));
-			buf.append(" * @throws "); buf.append(simpleName); buf.append('\n'); //$NON-NLS-1$
-		}		
-		buf.append(" */\n"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Generates a '@see' tag to the defined method.
-	 */
-	public static void genJavaDocSeeTag(String declaringTypeName, String methodName, String[] paramTypes, boolean nonJavaDocComment, boolean isDeprecated, StringBuffer buf) {
-		// create a @see link
-		buf.append("/*"); //$NON-NLS-1$
-		if (!nonJavaDocComment) {
-			buf.append('*');
-		}
-		buf.append("\n * @see "); //$NON-NLS-1$
-		buf.append(declaringTypeName);
-		buf.append('#'); 
-		buf.append(methodName);
-		buf.append('(');
-		for (int i= 0; i < paramTypes.length; i++) {
-			if (i > 0) {
-				buf.append(", "); //$NON-NLS-1$
-			}
-			buf.append(Signature.getSimpleName(Signature.toString(paramTypes[i])));
-		}
-		buf.append(")\n"); //$NON-NLS-1$
-		if (isDeprecated) {
-			buf.append(" * @deprecated\n"); //$NON-NLS-1$
-		}
-		buf.append(" */\n"); //$NON-NLS-1$
-	}	
-
-	private static boolean isBuiltInType(String typeName) {
-		char first= Signature.getElementType(typeName).charAt(0);
-		return (first != Signature.C_RESOLVED && first != Signature.C_UNRESOLVED);
-	}
-
-	private static void resolveAndAdd(String refTypeSig, IType declaringType, ImportsManager imports) throws JavaModelException {
-		String resolvedTypeName= JavaModelUtil.getResolvedTypeName(refTypeSig, declaringType);
-		if (resolvedTypeName != null) {
-			imports.addImport(resolvedTypeName);		
-		}
-	}
-	
-	public static String getTodoTaskTag(IJavaProject project) {
-		String markers= null;
-		if (project == null) {
-			markers= JavaCore.getOption(JavaCore.COMPILER_TASK_TAGS);
-		} else {
-			markers= project.getOption(JavaCore.COMPILER_TASK_TAGS, true);
-		}
-		
-		if (markers != null && markers.length() > 0) {
-			int idx= markers.indexOf(',');
-			if (idx == -1) {
-				return markers;
-			} else {
-				return markers.substring(0, idx);
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/LayoutUtil.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/LayoutUtil.java
deleted file mode 100644
index ea31e05..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/LayoutUtil.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.util;
-
-import org.eclipse.jdt.internal.junit.wizards.MethodStubsSelectionButtonGroup;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-
-public class LayoutUtil {
-	
-	/**
-	 * Calculates the number of columns needed by field editors
-	 */
-	public static int getNumberOfColumns(MethodStubsSelectionButtonGroup[] editors) {
-		int columnCount= 0;
-		for (int i= 0; i < editors.length; i++) {
-			columnCount= Math.max(editors[i].getNumberOfControls(), columnCount);
-		}
-		return columnCount;
-	}
-	
-	/**
-	 * Creates a composite and fills in the given editors.
-	 * @param labelOnTop Defines if the label of all fields should be on top of the fields
-	 */	
-	public static void doDefaultLayout(Composite parent, MethodStubsSelectionButtonGroup[] editors, boolean labelOnTop) {
-		doDefaultLayout(parent, editors, labelOnTop, 0, 0, 0, 0);
-	}
-
-	/**
-	 * Creates a composite and fills in the given editors.
-	 * @param labelOnTop Defines if the label of all fields should be on top of the fields
-	 * @param minWidth The minimal width of the composite
-	 * @param minHeight The minimal height of the composite 
-	 */
-	public static void doDefaultLayout(Composite parent, MethodStubsSelectionButtonGroup[] editors, boolean labelOnTop, int minWidth, int minHeight) {
-		doDefaultLayout(parent, editors, labelOnTop, minWidth, minHeight, 0, 0);
-	}
-
-	/**
-	 * Creates a composite and fills in the given editors.
-	 * @param labelOnTop Defines if the label of all fields should be on top of the fields
-	 * @param minWidth The minimal width of the composite
-	 * @param minHeight The minimal height of the composite
-	 * @param marginWidth The margin width to be used by the composite
-	 * @param marginHeight The margin height to be used by the composite
-	 */	
-	public static void doDefaultLayout(Composite parent, MethodStubsSelectionButtonGroup[] editors, boolean labelOnTop, int minWidth, int minHeight, int marginWidth, int marginHeight) {
-		int nCulumns= getNumberOfColumns(editors);
-		Control[][] controls= new Control[editors.length][];
-		for (int i= 0; i < editors.length; i++) {
-			controls[i]= editors[i].doFillIntoGrid(parent, nCulumns);
-		}
-		if (labelOnTop) {
-			nCulumns--;
-			modifyLabelSpans(controls, nCulumns);
-		}
-		GridLayout layout= new GridLayout();
-		if (marginWidth != SWT.DEFAULT) {
-			layout.marginWidth= marginWidth;
-		}
-		if (marginHeight != SWT.DEFAULT) {
-			layout.marginHeight= marginHeight;
-		}
-//		layout.minimumWidth= minWidth;
-//		layout.minimumHeight= minHeight;
-		layout.numColumns= nCulumns;		
-		parent.setLayout(layout);
-	}
-	
-	private static void modifyLabelSpans(Control[][] controls, int nCulumns) {
-		for (int i= 0; i < controls.length; i++) {
-			setHorizontalSpan(controls[i][0], nCulumns);
-		}
-	}
-	
-	/**
-	 * Sets the span of a control. Assumes that MGridData is used.
-	 */
-	public static void setHorizontalSpan(Control control, int span) {
-		Object ld= control.getLayoutData();
-		if (ld instanceof GridData) {
-			((GridData)ld).horizontalSpan= span;
-		} else if (span != 1) {
-			GridData gd= new GridData();
-			gd.horizontalSpan= span;
-			control.setLayoutData(gd);
-		}
-	}	
-
-	/**
-	 * Sets the width hint of a control. Assumes that MGridData is used.
-	 */
-	public static void setWidthHint(Control control, int widthHint) {
-		Object ld= control.getLayoutData();
-		if (ld instanceof GridData) {
-			((GridData)ld).widthHint= widthHint;
-		}
-	}
-	
-	/**
-	 * Sets the horizontal indent of a control. Assumes that MGridData is used.
-	 */
-	public static void setHorizontalIndent(Control control, int horizontalIndent) {
-		Object ld= control.getLayoutData();
-		if (ld instanceof GridData) {
-			((GridData)ld).horizontalIndent= horizontalIndent;
-		}
-	}
-
-	/**
-	 * Creates a spacer control with the given span.
-	 * The composite is assumed to have <code>MGridLayout</code> as
-	 * layout.
-	 * @param parent The parent composite
-	 */			
-	public static Control createEmptySpace(Composite parent, int span) {
-		Label label= new Label(parent, SWT.LEFT);
-		GridData gd= new GridData();
-		gd.horizontalAlignment= GridData.BEGINNING;
-		gd.grabExcessHorizontalSpace= false;
-		gd.horizontalSpan= span;
-		gd.horizontalIndent= 0;
-		gd.widthHint= 0;
-		gd.heightHint= 0;
-		label.setLayoutData(gd);
-		return label;
-	}
-	
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/PixelConverter.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/PixelConverter.java
deleted file mode 100644
index 5a9d3b2..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/PixelConverter.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.junit.util;
-
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Control;
-
-import org.eclipse.jface.dialogs.Dialog;
-
-/*
- * class copied from jdt ui
- */
-public class PixelConverter {
-	
-	private FontMetrics fFontMetrics;
-	
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-		gc.setFont(control.getFont());
-		fFontMetrics= gc.getFontMetrics();
-		gc.dispose();
-	}
-	
-	/**
-	 * @see DialogPage#convertHeightInCharsToPixels
-	 */
-	public int convertHeightInCharsToPixels(int chars) {
-		return Dialog.convertHeightInCharsToPixels(fFontMetrics, chars);
-	}
-
-	/**
-	 * @see DialogPage#convertHorizontalDLUsToPixels
-	 */
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		return Dialog.convertHorizontalDLUsToPixels(fFontMetrics, dlus);
-	}
-
-	/**
-	 * @see DialogPage#convertVerticalDLUsToPixels
-	 */
-	public int convertVerticalDLUsToPixels(int dlus) {
-		return Dialog.convertVerticalDLUsToPixels(fFontMetrics, dlus);
-	}
-	
-	/**
-	 * @see DialogPage#convertWidthInCharsToPixels
-	 */
-	public int convertWidthInCharsToPixels(int chars) {
-		return Dialog.convertWidthInCharsToPixels(fFontMetrics, chars);
-	}	
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/Resources.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/Resources.java
deleted file mode 100644
index 6826f49..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/Resources.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.junit.util;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.jdt.internal.junit.ui.JUnitMessages;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-
-
-public class Resources {
-
-	private Resources() {
-	}
-
-	/**
-	 * Checks if the given resource is in sync with the underlying file system.
-	 * 
-	 * @param resource the resource to be checked
-	 * @return IStatus status describing the check's result. If <code>status.
-	 * isOK()</code> returns <code>true</code> then the resource is in sync
-	 */
-	public static IStatus checkInSync(IResource resource) {
-		return checkInSync(new IResource[] {resource});
-	}
-	
-	/**
-	 * Checks if the given resources are in sync with the underlying file
-	 * system.
-	 * 
-	 * @param resources the resources to be checked
-	 * @return IStatus status describing the check's result. If <code>status.
-	 *  isOK() </code> returns <code>true</code> then the resources are in sync
-	 */
-	public static IStatus checkInSync(IResource[] resources) {
-		IStatus result= null;
-		for (int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			if (!resource.isSynchronized(IResource.DEPTH_INFINITE)) {
-				result= addOutOfSync(result, resource);
-			}			
-		}
-		if (result != null)
-			return result;
-		return new Status(IStatus.OK, JUnitPlugin.getPluginId(), IStatus.OK, "", null); //$NON-NLS-1$		
-	}
-
-	/**
-	 * Makes the given resource committable. Committable means that it is
-	 * writeable and that its content hasn't changed by calling
-	 * <code>validateEdit</code> for the given resource on <tt>IWorkspace</tt>.
-	 * 
-	 * @param resource the resource to be checked
-	 * @param context the context passed to <code>validateEdit</code> 
-	 * @return IStatus status describing the method's result. If <code>status.
-	 * isOK()</code> returns <code>true</code> then the resource are committable
-	 * 
-	 * @see org.eclipse.core.resources.IWorkspace#validateEdit(org.eclipse.core.
-	 * resources.IFile[], java.lang.Object)
-	 */
-	public static IStatus makeCommittable(IResource resource, Object context) {
-		return makeCommittable(new IResource[] { resource }, context);
-	}
-	
-	/**
-	 * Makes the given resources committable. Committable means that all
-	 * resources are writeable and that the content of the resources hasn't
-	 * changed by calling <code>validateEdit</code> for a given file on
-	 * <tt>IWorkspace</tt>.
-	 * 
-	 * @param resources the resources to be checked
-	 * @param context the context passed to <code>validateEdit</code> 
-	 * @return IStatus status describing the method's result. If <code>status.
-	 * isOK()</code> returns <code>true</code> then the add resources are
-	 * committable
-	 * 
-	 * @see org.eclipse.core.resources.IWorkspace#validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object)
-	 */
-	public static IStatus makeCommittable(IResource[] resources, Object context) {
-		List readOnlyFiles= new ArrayList();
-		for (int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			if (resource.getType() == IResource.FILE && resource.isReadOnly())	
-				readOnlyFiles.add(resource);
-		}
-		if (readOnlyFiles.size() == 0)
-			return new Status(IStatus.OK, JUnitPlugin.getPluginId(), IStatus.OK, "", null); //$NON-NLS-1$
-			
-		Map oldTimeStamps= createModificationStampMap(readOnlyFiles);
-		IStatus status= ResourcesPlugin.getWorkspace().validateEdit(
-			(IFile[]) readOnlyFiles.toArray(new IFile[readOnlyFiles.size()]), context);
-		if (!status.isOK())
-			return status;
-			
-		IStatus modified= null;
-		Map newTimeStamps= createModificationStampMap(readOnlyFiles);
-		for (Iterator iter= oldTimeStamps.keySet().iterator(); iter.hasNext();) {
-			IFile file= (IFile) iter.next();
-			if (!oldTimeStamps.get(file).equals(newTimeStamps.get(file)))
-				modified= addModified(modified, file);
-		}
-		if (modified != null)	
-			return modified;
-		return new Status(IStatus.OK, JUnitPlugin.getPluginId(), IStatus.OK, "", null); //$NON-NLS-1$
-	}
-
-	private static Map createModificationStampMap(List files){
-		Map map= new HashMap();
-		for (Iterator iter= files.iterator(); iter.hasNext(); ) {
-			IFile file= (IFile)iter.next();
-			map.put(file, new Long(file.getModificationStamp()));
-		}
-		return map;
-	}
-	
-	private static IStatus addModified(IStatus status, IFile file) {
-		IStatus entry= JUnitStatus.createError(JUnitMessages.getFormattedString("Resources.fileModified", file.getFullPath().toString())); //$NON-NLS-1$ 
-		if (status == null) {
-			return entry;
-		} else if (status.isMultiStatus()) {
-			((MultiStatus)status).add(entry);
-			return status;
-		} else {
-			MultiStatus result= new MultiStatus(JUnitPlugin.getPluginId(),
-				IJUnitStatusConstants.VALIDATE_EDIT_CHANGED_CONTENT,
-			JUnitMessages.getString("Resources.modifiedResources"), null); //$NON-NLS-1$ 
-			result.add(status);
-			result.add(entry);
-			return result;
-		}
-	}	
-
-	private static IStatus addOutOfSync(IStatus status, IResource resource) {
-		IStatus entry= new Status(
-			IStatus.ERROR,
-			ResourcesPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-			IResourceStatus.OUT_OF_SYNC_LOCAL,
-		JUnitMessages.getFormattedString("Resources.outOfSync", resource.getFullPath().toString()), //$NON-NLS-1$ 
-			null);
-		if (status == null) {
-			return entry;
-		} else if (status.isMultiStatus()) {
-			((MultiStatus)status).add(entry);
-			return status;
-		} else {
-			MultiStatus result= new MultiStatus(
-				ResourcesPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-				IResourceStatus.OUT_OF_SYNC_LOCAL,
-			JUnitMessages.getString("Resources.outOfSyncResources"), null); //$NON-NLS-1$ 
-			result.add(status);
-			result.add(entry);
-			return result;
-		}
-	}
-
-	public static String[] getLocationOSStrings(IResource[] resources) {
-		List result= new ArrayList(resources.length);
-		for (int i= 0; i < resources.length; i++) {
-			IPath location= resources[i].getLocation();
-			if (location != null)
-				result.add(location.toOSString());
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/SWTUtil.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/SWTUtil.java
deleted file mode 100644
index d63da0b..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/SWTUtil.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.junit.util;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.Assert;
-
-/**
- * Utility class to simplify access to some SWT resources. 
- * (copied from jdt ui)
- */
-public class SWTUtil {
-	private SWTUtil(){}
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated disaply. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display= Display.getCurrent();
-		if (display == null)
-			display= Display.getDefault();
-		return display;		
-	}
-	
-	/**
-	 * Returns the shell for the given widget. If the widget doesn't represent
-	 * a SWT object that manage a shell, <code>null</code> is returned.
-	 * 
-	 * @return the shell for the given widget
-	 */
-	public static Shell getShell(Widget widget) {
-		if (widget instanceof Control)
-			return ((Control)widget).getShell();
-		if (widget instanceof Caret)
-			return ((Caret)widget).getParent().getShell();
-		if (widget instanceof DragSource)
-			return ((DragSource)widget).getControl().getShell();
-		if (widget instanceof DropTarget)
-			return ((DropTarget)widget).getControl().getShell();
-		if (widget instanceof Menu)
-			return ((Menu)widget).getParent().getShell();
-		if (widget instanceof ScrollBar)
-			return ((ScrollBar)widget).getParent().getShell();
-							
-		return null;	
-	}
-
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	public static int getButtonWidthHint(Button button) {
-		button.setFont(JFaceResources.getDialogFont());
-		PixelConverter converter= new PixelConverter(button);
-		int widthHint= converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Returns a height hint for a button control.
-	 */		
-	public static int getButtonHeigthHint(Button button) {
-		button.setFont(JFaceResources.getDialogFont());
-		PixelConverter converter= new PixelConverter(button);
-		return converter.convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-	}	
-
-	
-	/**
-	 * Sets width and height hint for the button control.
-	 * <b>Note:</b> This is a NOP if the button's layout data is not
-	 * an instance of <code>GridData</code>.
-	 * 
-	 * @param button the button for which to set the dimension hint
-	 */		
-	public static void setButtonDimensionHint(Button button) {
-		Assert.isNotNull(button);
-		Object gd= button.getLayoutData();
-		if (gd instanceof GridData) {
-			((GridData)gd).heightHint= getButtonHeigthHint(button);
-			((GridData)gd).widthHint= getButtonWidthHint(button);		 
-		}
-	}		
-	
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java
deleted file mode 100644
index cab1ecb..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.util;
-
-import java.lang.reflect.InvocationTargetException;
-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.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-import org.eclipse.ui.IFileEditorInput;
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-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.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchResultCollector;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.ISearchPattern;
-import org.eclipse.jdt.core.search.SearchEngine;
-
-import org.eclipse.jdt.internal.junit.ui.JUnitMessages;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-
-/**
- * Custom Search engine for suite() methods
- */
-public class TestSearchEngine {
-
-	private class JUnitSearchResultCollector implements IJavaSearchResultCollector {
-		IProgressMonitor fProgressMonitor;
-		List fList;
-		Set fFailed= new HashSet();
-		Set fMatches= new HashSet();
-		
-		public JUnitSearchResultCollector(List list, IProgressMonitor progressMonitor) {
-			fProgressMonitor= progressMonitor;
-			fList= list;
-		}
-		
-		public void accept(IResource resource, int start, int end, IJavaElement enclosingElement, int accuracy) throws JavaModelException{
-			if (!(enclosingElement instanceof IMethod)) 
-				return;
-			
-			IMethod method= (IMethod)enclosingElement;		
-			
-			IType declaringType= method.getDeclaringType();
-			if (fMatches.contains(declaringType) || fFailed.contains(declaringType))
-				return;
-			if (!hasSuiteMethod(declaringType) && !isTestType(declaringType)) {
-				fFailed.add(declaringType);
-				return;
-			}
-			fMatches.add(declaringType);
-		}
-		
-		public IProgressMonitor getProgressMonitor() {
-			return fProgressMonitor;
-		}
-				
-		public void aboutToStart() {
-		}
-		
-		public void done() {
-			fList.addAll(fMatches);
-		}
-	}
-	
-	private List searchMethod(IProgressMonitor pm, final IJavaSearchScope scope) throws JavaModelException {
-		final List typesFound= new ArrayList(200);	
-		searchMethod(typesFound, scope, pm);
-		return typesFound;	
-	}
-
-	private List searchMethod(final List v, IJavaSearchScope scope, final IProgressMonitor progressMonitor) throws JavaModelException {		
-		IJavaSearchResultCollector collector= new JUnitSearchResultCollector(v, progressMonitor);
-		ISearchPattern suitePattern= SearchEngine.createSearchPattern("suite() Test", IJavaSearchConstants.METHOD, IJavaSearchConstants.DECLARATIONS, true); //$NON-NLS-1$
-		ISearchPattern testPattern= SearchEngine.createSearchPattern("test*() void", IJavaSearchConstants.METHOD , IJavaSearchConstants.DECLARATIONS, true); //$NON-NLS-1$
-		SearchEngine engine= new SearchEngine();
-		engine.search(ResourcesPlugin.getWorkspace(), SearchEngine.createOrSearchPattern(suitePattern, testPattern), scope, collector); 
-		return v;
-	}
-	
-	public static IType[] findTests(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 {
-					doFindTests(elements, result, pm);
-				}
-			};
-			context.run(true, true, runnable);			
-		}
-		return (IType[]) result.toArray(new IType[result.size()]) ;
-	}
-
-	public static void doFindTests(Object[] elements, Set result, IProgressMonitor pm) throws InterruptedException {
-		int nElements= elements.length;
-		pm.beginTask(JUnitMessages.getString("TestSearchEngine.message.searching"), nElements);  //$NON-NLS-1$
-		try {
-			for (int i= 0; i < nElements; i++) {
-				try {
-					collectTypes(elements[i], new SubProgressMonitor(pm, 1), result);
-				} catch (JavaModelException e) {
-					JUnitPlugin.log(e.getStatus());
-				}
-				if (pm.isCanceled()) {
-					throw new InterruptedException();
-				}
-			}
-		} finally {
-			pm.done();
-		}
-	}
-
-	private static void collectTypes(Object element, IProgressMonitor pm, Set result) throws JavaModelException/*, InvocationTargetException*/ {
-		element= computeScope(element);
-		while((element instanceof IJavaElement) && !(element instanceof ICompilationUnit) && (element instanceof ISourceReference)) {
-			if(element instanceof IType) {
-				if (hasSuiteMethod((IType)element) || isTestType((IType)element)) {
-					result.add(element);
-					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 (hasSuiteMethod(types[i])  || isTestType(types[i]))
-					result.add(types[i]);
-			}
-		} 
-		else if (element instanceof IJavaElement) {
-			List found= searchSuiteMethods(pm, (IJavaElement)element);
-			result.addAll(found);
-		}
-	}
-
-	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);
-		if (element instanceof IClassFile) {
-			IClassFile cf= (IClassFile)element;
-			element= cf.getType();
-		}
-		return element;
-	}
-	
-	private static List searchSuiteMethods(IProgressMonitor pm, IJavaElement element) throws JavaModelException {	
-		IJavaSearchScope scope= SearchEngine.createJavaSearchScope(new IJavaElement[] { element });
-		TestSearchEngine searchEngine= new TestSearchEngine(); 
-		return searchEngine.searchMethod(pm, scope);
-	}
-		
-	public static boolean hasSuiteMethod(IType type) throws JavaModelException {
-		IMethod method= type.getMethod("suite", new String[0]); //$NON-NLS-1$
-		if (method == null || !method.exists()) 
-			return false;
-		
-		if (!Flags.isStatic(method.getFlags()) ||	
-			!Flags.isPublic(method.getFlags()) ||			
-			!Flags.isPublic(method.getDeclaringType().getFlags())) { 
-			return false;
-		}
-		return true;
-	}
-	
-	private static boolean isTestType(IType type) throws JavaModelException {
-		if (Flags.isAbstract(type.getFlags())) 
-			return false;
-		if (!Flags.isPublic(type.getFlags())) 
-			return false;
-		
-		IType[] interfaces= type.newSupertypeHierarchy(null).getAllSuperInterfaces(type);
-		for (int i= 0; i < interfaces.length; i++)
-			if(interfaces[i].getFullyQualifiedName().equals(JUnitPlugin.TEST_INTERFACE_NAME))
-				return true;
-		return false;
-	}
-
-	public static boolean isTestImplementor(IType type) throws JavaModelException {
-		ITypeHierarchy typeHier= type.newSupertypeHierarchy(null);
-		IType[] superInterfaces= typeHier.getAllInterfaces();
-		for (int i= 0; i < superInterfaces.length; i++) {
-			if (superInterfaces[i].getFullyQualifiedName().equals(JUnitPlugin.TEST_INTERFACE_NAME))
-				return true;
-		}
-		return false;
-	}
-
-	public static boolean isTestOrTestSuite(IType type) throws JavaModelException {
-		return hasSuiteMethod(type) || isTestType(type);
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/JUnitWizard.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/JUnitWizard.java
deleted file mode 100644
index 009120f..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/JUnitWizard.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.junit.util.ExceptionHandler;
-import org.eclipse.jface.dialogs.DialogSettings;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-/**
- * The wizard base class for JUnit creation wizards.
- */
-public abstract class JUnitWizard extends Wizard implements INewWizard {
-
-	private IWorkbench fWorkbench;
-	protected static String DIALOG_SETTINGS_KEY= "JUnitWizards"; //$NON-NLS-1$
-	private IStructuredSelection fSelection;
-
-	public JUnitWizard() {
-		setNeedsProgressMonitor(true);
-		initializeDefaultPageImageDescriptor();
-	}
-	
-	/*
-	 * @see IWizard#performFinish()
-	 */
-	public abstract boolean performFinish();
-
-	/**
-	 * Run a runnable
-	 */	
-	protected boolean finishPage(IRunnableWithProgress runnable) {
-		IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(runnable);
-		try {
-			getContainer().run(false, true, op);
-		} catch (InvocationTargetException e) {
-			Shell shell= getShell();
-			String title= WizardMessages.getString("NewJUnitWizard.op_error.title"); //$NON-NLS-1$
-			String message= WizardMessages.getString("NewJUnitWizard.op_error.message"); //$NON-NLS-1$
-			ExceptionHandler.handle(e, shell, title, message);
-			return false;
-		} catch  (InterruptedException e) {
-			return false;
-		}
-		return true;
-	}
-
-	protected void openResource(final IResource resource) {
-		if (resource.getType() == IResource.FILE) {
-			final IWorkbenchPage activePage= JUnitPlugin.getActivePage();
-			if (activePage != null) {
-				final Display display= getShell().getDisplay();
-				if (display != null) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							try {
-								IDE.openEditor(activePage, (IFile)resource, true);
-							} catch (PartInitException e) {
-								JUnitPlugin.log(e);
-							}
-						}
-					});
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-		fWorkbench= workbench;
-		fSelection= currentSelection;
-	}
-	
-	public IStructuredSelection getSelection() {
-		return fSelection;
-	}
-
-	protected void selectAndReveal(IResource newResource) {
-		BasicNewResourceWizard.selectAndReveal(newResource, fWorkbench.getActiveWorkbenchWindow());
-	} 
-	
-	protected void initDialogSettings() {
-		IDialogSettings pluginSettings= JUnitPlugin.getDefault().getDialogSettings();
-		IDialogSettings wizardSettings= pluginSettings.getSection(DIALOG_SETTINGS_KEY);
-		if (wizardSettings == null) {
-			wizardSettings= new DialogSettings(DIALOG_SETTINGS_KEY);
-			pluginSettings.addSection(wizardSettings);
-		}
-		setDialogSettings(wizardSettings);
-	}
-
-	protected abstract void initializeDefaultPageImageDescriptor();
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/MethodStubsSelectionButtonGroup.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/MethodStubsSelectionButtonGroup.java
deleted file mode 100644
index e87c2a9..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/MethodStubsSelectionButtonGroup.java
+++ /dev/null
@@ -1,481 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.wizards;
-
-import org.eclipse.jdt.internal.junit.util.*;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * A group of controls used in the JUnit TestCase and TestSuite wizards
- * for selecting method stubs to create.
- */
-public class MethodStubsSelectionButtonGroup {
-
-	private Label fLabel;
-	protected String fLabelText;
-	
-	private SelectionButtonGroupListener fGroupListener;
-	
-	private boolean fEnabled;
-
-	private Composite fButtonComposite;
-	
-	private Button[] fButtons;
-	private String[] fButtonNames;
-	private boolean[] fButtonsSelected;
-	private boolean[] fButtonsEnabled;
-	private Combo fMainCombo;
-	private boolean fMainComboEnabled;
-	
-	private int fGroupBorderStyle;
-	private int fGroupNumberOfColumns;
-	private int fButtonsStyle;	
-
-	public interface SelectionButtonGroupListener {
-		/**
-		 * The dialog field has changed.
-		 */
-		void groupChanged(MethodStubsSelectionButtonGroup field);
-	}
-		
-	/**
-	 * Creates a group without border.
-	 */
-	public MethodStubsSelectionButtonGroup(int buttonsStyle, String[] buttonNames, int nColumns) {
-		this(buttonsStyle, buttonNames, nColumns, SWT.NONE);		
-	}	
-	
-	/**
-	 * Creates a group with border (label in border).
-	 * Accepted button styles are: SWT.RADIO, SWT.CHECK, SWT.TOGGLE
-	 * For border styles see <code>Group</code>
-	 */	
-	public MethodStubsSelectionButtonGroup(int buttonsStyle, String[] buttonNames, int nColumns, int borderStyle) {
-		fEnabled= true;
-		fLabel= null;
-		fLabelText= ""; //$NON-NLS-1$
-		
-		Assert.isTrue(buttonsStyle == SWT.RADIO || buttonsStyle == SWT.CHECK || buttonsStyle == SWT.TOGGLE);
-		fButtonNames= buttonNames;
-		
-		int nButtons= buttonNames.length;
-		fButtonsSelected= new boolean[nButtons];
-		fButtonsEnabled= new boolean[nButtons];
-		for (int i= 0; i < nButtons; i++) {
-			fButtonsSelected[i]= false;
-			fButtonsEnabled[i]= true;
-		}
-		fMainComboEnabled= true;
-		if (fButtonsStyle == SWT.RADIO) {
-			fButtonsSelected[0]= true;
-		}
-		
-		fGroupBorderStyle= borderStyle;
-		fGroupNumberOfColumns= (nColumns <= 0) ? nButtons : nColumns;
-		
-		fButtonsStyle= buttonsStyle;
-	}
-	
-	/*
-	 * @see DialogField#doFillIntoGrid
-	 */
-	public Control[] doFillIntoGrid(Composite parent, int nColumns) {
-		assertEnoughColumns(nColumns);
-				
-		if (fGroupBorderStyle == SWT.NONE) {
-			Label label= getLabelControl(parent);
-			label.setLayoutData(gridDataForLabel(1));
-		
-			Composite buttonsgroup= getSelectionButtonsGroup(parent);
-			GridData gd= new GridData();
-			gd.horizontalSpan= nColumns - 1;
-			buttonsgroup.setLayoutData(gd);
-			return new Control[] { label, buttonsgroup };
-		} else {
-			Composite buttonsgroup= getSelectionButtonsGroup(parent);
-			GridData gd= new GridData();
-			gd.horizontalSpan= nColumns;
-			buttonsgroup.setLayoutData(gd);
-			return new Control[] { buttonsgroup };
-		}
-	}	
-
-	/*
-	 * @see DialogField#doFillIntoGrid
-	 */	
-	public int getNumberOfControls() {
-		return (fGroupBorderStyle == SWT.NONE) ? 2 : 1;
-	}
-	
-	private Button createSelectionButton(int index, Composite group, SelectionListener listener) {
-		Button button= new Button(group, fButtonsStyle | SWT.LEFT);
-		button.setFont(group.getFont());			
-		button.setText(fButtonNames[index]);
-		button.setEnabled(isEnabled() && fButtonsEnabled[index]);
-		button.setSelection(fButtonsSelected[index]);
-		button.addSelectionListener(listener);
-		button.setLayoutData(new GridData());
-		return button;
-	}
-	
-	private Button createMainCombo(int index, Composite group, SelectionListener listener) {
-		Composite buttonComboGroup= new Composite(group, 0);
-
-		GridLayout layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 20;
-		layout.numColumns= 2;
-		buttonComboGroup.setLayout(layout);
-		
-		Button button= new Button(buttonComboGroup, fButtonsStyle | SWT.LEFT);
-		button.setFont(group.getFont());			
-		button.setText(fButtonNames[index]);
-		button.setEnabled(isEnabled() && fButtonsEnabled[index]);
-		button.setSelection(fButtonsSelected[index]);
-		button.addSelectionListener(listener);
-		button.setLayoutData(new GridData());
-
-
-		fMainCombo= new Combo(buttonComboGroup, SWT.READ_ONLY);
-		fMainCombo.setItems(new String[] {"text ui","swing ui","awt ui"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		fMainCombo.select(0);
-		fMainCombo.setEnabled(isEnabled() && fMainComboEnabled);
-		fMainCombo.setFont(group.getFont());
-		fMainCombo.setLayoutData(new GridData());
-		return button;
-	}
-
-	public String getMainMethod(String typeName) {
-		StringBuffer main= new StringBuffer("public static void main(String[] args) {"); //$NON-NLS-1$
-		if (isSelected(1)) {
-			main.append("junit."); //$NON-NLS-1$
-			switch (getComboSelection()) {
-				case 0:
-					main.append("textui"); //$NON-NLS-1$
-					break;
-				case 1:
-					main.append("swingui"); //$NON-NLS-1$
-					break;
-				case 2 :
-					main.append("awtui"); //$NON-NLS-1$
-					break;
-				default :
-					main.append("textui"); //$NON-NLS-1$
-					break;
-			}
-			main.append(".TestRunner.run(" + typeName + ".suite());"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		main.append("}\n\n"); //$NON-NLS-1$
-		return main.toString();
-	}
-
-	/**
-	 * Returns the group widget. When called the first time, the widget will be created.
-	 * @param The parent composite when called the first time, or <code>null</code>
-	 * after.
-	 */
-	public Composite getSelectionButtonsGroup(Composite parent) {
-		if (fButtonComposite == null) {
-			assertCompositeNotNull(parent);
-			
-			GridLayout layout= new GridLayout();
-			layout.makeColumnsEqualWidth= true;
-			layout.numColumns= fGroupNumberOfColumns;			
-			
-			if (fGroupBorderStyle != SWT.NONE) {
-				Group group= new Group(parent, fGroupBorderStyle);
-				if (fLabelText != null && fLabelText.length() > 0) {
-					group.setText(fLabelText);
-				}
-				fButtonComposite= group;
-			} else {
-				fButtonComposite= new Composite(parent, SWT.NULL);
-				layout.marginHeight= 0;
-				layout.marginWidth= 0;
-			}
-			fButtonComposite.setLayout(layout);
-			
-			SelectionListener listener= new SelectionListener() {
-				public void widgetDefaultSelected(SelectionEvent e) {
-					doWidgetSelected(e);
-				}
-				public void widgetSelected(SelectionEvent e) {
-					doWidgetSelected(e);
-				}
-			};
-			int nButtons= fButtonNames.length;
-			fButtons= new Button[nButtons];
-
-			fButtons[0]= createSelectionButton(0, fButtonComposite, listener);
-			fButtons[1]= createMainCombo(1, fButtonComposite, listener);
-			for (int i= 2; i < nButtons; i++) {
-				fButtons[i]= createSelectionButton(i, fButtonComposite, listener);
-			}
-			int nRows= nButtons / fGroupNumberOfColumns;
-			int nFillElements= nRows * fGroupNumberOfColumns - nButtons;
-			for (int i= 0; i < nFillElements; i++) {
-				createEmptySpace(fButtonComposite);
-			}
-			setSelectionGroupListener(new SelectionButtonGroupListener() {
-				public void groupChanged(MethodStubsSelectionButtonGroup field) {
-					field.setEnabled(1, isEnabled() && field.isSelected(0));
-				}
-			});			
-		}
-		return fButtonComposite;
-	}
-
-	/**
-	 * Returns a button from the group or <code>null</code> if not yet created.
-	 */	
-	public Button getSelectionButton(int index) {
-		if (index >= 0 && index < fButtons.length) {
-			return fButtons[index];
-		}
-		return null;
-	}
-	
-	private void doWidgetSelected(SelectionEvent e) {
-		Button button= (Button)e.widget;
-		for (int i= 0; i < fButtons.length; i++) {
-			if (fButtons[i] == button) {
-				fButtonsSelected[i]= button.getSelection();
-				dialogFieldChanged();
-				return;
-			}
-		}
-	}	
-	
-	/**
-	 * Returns the selection state of a button contained in the group.
-	 * @param The index of the button
-	 */
-	public boolean isSelected(int index) {
-		if (index >= 0 && index < fButtonsSelected.length) {
-			return fButtonsSelected[index];
-		}
-		return false;
-	}
-	
-	/**
-	 * Sets the selection state of a button contained in the group.
-	 */
-	public void setSelection(int index, boolean selected) {
-		if (index >= 0 && index < fButtonsSelected.length) {
-			if (fButtonsSelected[index] != selected) {
-				fButtonsSelected[index]= selected;
-				if (fButtons != null) {
-					Button button= fButtons[index];
-					if (isOkToUse(button)) {
-						button.setSelection(selected);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns the enabled state of a button contained in the group.
-	 * @param The index of the button
-	 */
-	public boolean isEnabled(int index) {
-		if (index >= 0 && index < fButtonsEnabled.length) {
-			return fButtonsEnabled[index];
-		}
-		return false;
-	}
-	
-	/**
-	 * Sets the selection state of a button contained in the group.
-	 */
-	public void setEnabled(int index, boolean enabled) {
-		if (index >= 0 && index < fButtonsEnabled.length) {
-			if (fButtonsEnabled[index] != enabled) {
-				fButtonsEnabled[index]= enabled;
-				if (index == 1)
-					fMainComboEnabled= enabled;
-				if (fButtons != null) {
-					Button button= fButtons[index];
-					if (isOkToUse(button)) {
-						button.setEnabled(enabled);
-						if (index == 1)
-							fMainCombo.setEnabled(isEnabled() && enabled);
-					}
-				}
-			}
-		}
-	}
-
-	protected void updateEnableState() {
-		if (fLabel != null) {
-			fLabel.setEnabled(fEnabled);
-		}
-		if (fButtons != null) {
-			boolean enabled= isEnabled();
-			for (int i= 0; i < fButtons.length; i++) {
-				Button button= fButtons[i];
-				if (isOkToUse(button)) {
-					button.setEnabled(enabled && fButtonsEnabled[i]);
-				}
-			}
-			fMainCombo.setEnabled(enabled && fMainComboEnabled);
-		}
-	}
-	
-	public int getComboSelection() {
-		return fMainCombo.getSelectionIndex();
-	}
-	
-	public void setComboSelection(int index) {
-		fMainCombo.select(index);
-	}
-
-
-	/**
-	 * Sets the label of the dialog field.
-	 */
-	public void setLabelText(String labeltext) {
-		fLabelText= labeltext;
-	}
-		
-	/**
-	 * Defines the listener for this dialog field.
-	 */	
-	public final void setSelectionGroupListener(SelectionButtonGroupListener listener) {
-		fGroupListener= listener;
-	}
-
-	/**
-	 * Programatical invocation of a dialog field change.
-	 */		
-	public void dialogFieldChanged() {
-		if (fGroupListener != null) {
-			fGroupListener.groupChanged(this);
-		}
-	}	
-	
-	/**
-	 * Tries to set the focus to the dialog field.
-	 * Returns <code>true</code> if the dialog field can take focus.
-	 * 	To be reimplemented by dialog field implementors.
-	 */
-	public boolean setFocus() {
-		return false;
-	}
-
-	/**
-	 * Posts <code>setFocus</code> to the display event queue.
-	 */	
-	public void postSetFocusOnDialogField(Display display) {
-		if (display != null) {
-			display.asyncExec(
-				new Runnable() {
-					public void run() {
-						setFocus();
-					}
-				}
-			);
-		}
-	}		
-	
-	protected static GridData gridDataForLabel(int span) {
-		GridData gd= new GridData();
-		gd.horizontalSpan= span;
-		return gd;
-	}
-	
-	/**
-	 * Creates or returns the created label widget.
-	 * @param parent The parent composite or <code>null</code> if the widget has
-	 * already been created.
-	 */			
-	public Label getLabelControl(Composite parent) {
-		if (fLabel == null) {
-			assertCompositeNotNull(parent);
-			
-			fLabel= new Label(parent, SWT.LEFT | SWT.WRAP);
-			fLabel.setFont(parent.getFont());
-			fLabel.setEnabled(fEnabled);		
-			if (fLabelText != null && !"".equals(fLabelText)) { //$NON-NLS-1$
-				fLabel.setText(fLabelText);
-			} else {
-				// XXX: to avoid a 16 pixel wide empty label - revisit
-				fLabel.setText("."); //$NON-NLS-1$
-				fLabel.setVisible(false);
-			}			
-		}
-		return fLabel;
-	}
-
-	/**
-	 * Creates a spacer control.
-	 * @param parent The parent composite
-	 */		
-	public static Control createEmptySpace(Composite parent) {
-		return createEmptySpace(parent, 1);
-	}
-
-	/**
-	 * Creates a spacer control with the given span.
-	 * The composite is assumed to have <code>MGridLayout</code> as
-	 * layout.
-	 * @param parent The parent composite
-	 */			
-	public static Control createEmptySpace(Composite parent, int span) {
-		return LayoutUtil.createEmptySpace(parent, span);
-	}
-	
-	/**
-	 * Tests is the control is not <code>null</code> and not disposed.
-	*/
-	protected final boolean isOkToUse(Control control) {
-		return (control != null) && !(control.isDisposed());
-	}
-	
-	// --------- enable / disable management
-	
-	/**
-	 * Sets the enable state of the dialog field.
-	 */
-	public final void setEnabled(boolean enabled) {
-		if (enabled != fEnabled) {
-			fEnabled= enabled;
-			updateEnableState();
-		}
-	}
-	
-	/**
-	 * Gets the enable state of the dialog field.
-	 */	
-	public final boolean isEnabled() {
-		return fEnabled;
-	}
-
-	protected final void assertCompositeNotNull(Composite comp) {
-		Assert.isNotNull(comp, "uncreated control requested with composite null"); //$NON-NLS-1$
-	}
-	
-	protected final void assertEnoughColumns(int nColumns) {
-		Assert.isTrue(nColumns >= getNumberOfControls(), "given number of columns is too small"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizard.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizard.java
deleted file mode 100644
index 78fb761..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizard.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.wizards;
-
-import java.net.MalformedURLException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * A wizard for creating test cases.
- */
-public class NewTestCaseCreationWizard extends JUnitWizard {
-
-	private NewTestCaseCreationWizardPage fPage;
-	private NewTestCaseCreationWizardPage2 fPage2;
-
-	public NewTestCaseCreationWizard() {
-		super();
-		setWindowTitle(WizardMessages.getString("Wizard.title.new.testcase")); //$NON-NLS-1$
-		initDialogSettings();
-	}
-
-	protected void initializeDefaultPageImageDescriptor() {
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(JUnitPlugin.makeIconFileURL("wizban/newtest_wiz.gif")); //$NON-NLS-1$
-			setDefaultPageImageDescriptor(id);
-	} catch (MalformedURLException e) {
-			// Should not happen.  Ignore.
-		}
-	}
-
-
-	/*
-	 * @see Wizard#createPages
-	 */	
-	public void addPages() {
-		super.addPages();
-		fPage= new NewTestCaseCreationWizardPage();
-		fPage2= new NewTestCaseCreationWizardPage2(fPage);
-		addPage(fPage);
-		fPage.init(getSelection(), fPage2);
-		addPage(fPage2);
-	}	
-	
-	/*
-	 * @see Wizard#performFinish
-	 */		
-	public boolean performFinish() {
-		if (finishPage(fPage.getRunnable())) {
-			IType newClass= fPage.getCreatedType();
-
-			ICompilationUnit cu= newClass.getCompilationUnit();				
-
-			if (cu.isWorkingCopy()) {
-				cu= (ICompilationUnit)cu.getOriginalElement();
-			}	
-			IResource resource= cu.getResource();
-			if (resource != null) {
-				selectAndReveal(resource);
-				openResource(resource);
-			}
-			fPage.saveWidgetValues();
-			fPage2.saveWidgetValues();
-			
-			return true;
-		}
-		return false;		
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage.java
deleted file mode 100644
index c22a7f9..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage.java
+++ /dev/null
@@ -1,889 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids - bug 38507
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.wizards;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.ListIterator;
-
-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.jdt.core.Flags;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-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.codemanipulation.CodeGenerationSettings;
-import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
-import org.eclipse.jdt.internal.junit.ui.IJUnitHelpContextIds;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.junit.util.JUnitStatus;
-import org.eclipse.jdt.internal.junit.util.JUnitStubUtility;
-import org.eclipse.jdt.internal.junit.util.LayoutUtil;
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-import org.eclipse.jdt.internal.junit.util.JUnitStubUtility.GenStubSettings;
-import org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings;
-import org.eclipse.jdt.internal.ui.refactoring.contentassist.ControlContentAssistHelper;
-import org.eclipse.jdt.internal.ui.refactoring.contentassist.JavaTypeCompletionProcessor;
-import org.eclipse.jdt.internal.ui.util.SWTUtil;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jdt.ui.wizards.NewTypeWizardPage;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The first page of the TestCase creation wizard. 
- */
-public class NewTestCaseCreationWizardPage extends NewTypeWizardPage {
-
-	private final static String PAGE_NAME= "NewTestCaseCreationWizardPage"; //$NON-NLS-1$
-	private final static String CLASS_TO_TEST= PAGE_NAME + ".classtotest"; //$NON-NLS-1$
-	private final static String TEST_SUFFIX= "Test"; //$NON-NLS-1$
-	private final static String SETUP= "setUp"; //$NON-NLS-1$
-	private final static String TEARDOWN= "tearDown"; //$NON-NLS-1$
-
-	private final static String STORE_GENERATE_MAIN= PAGE_NAME + ".GENERATE_MAIN"; //$NON-NLS-1$
-	private final static String STORE_USE_TESTRUNNER= PAGE_NAME + ".USE_TESTRUNNER";	//$NON-NLS-1$
-	private final static String STORE_TESTRUNNER_TYPE= PAGE_NAME + ".TESTRUNNER_TYPE"; //$NON-NLS-1$
-	
-	private String fDefaultClassToTest;
-	private NewTestCaseCreationWizardPage2 fPage2;
-	private MethodStubsSelectionButtonGroup fMethodStubsButtons;
-
-	private IType fClassToTest;
-	private IStatus fClassToTestStatus;
-	private IStatus fTestClassStatus;
-
-	private int fIndexOfFirstTestMethod;
-
-	private Label fClassToTestLabel;
-	private Text fClassToTestText;
-	private Button fClassToTestButton;
-	private JavaTypeCompletionProcessor fClassToTestCompletionProcessor;
-	
-	private boolean fFirstTime;  
-
-	public NewTestCaseCreationWizardPage() {
-		super(true, PAGE_NAME);
-		fFirstTime= true;
-		
-		setTitle(WizardMessages.getString("NewTestClassWizPage.title")); //$NON-NLS-1$
-		setDescription(WizardMessages.getString("NewTestClassWizPage.description")); //$NON-NLS-1$
-		
-		String[] buttonNames= new String[] {
-			"public static void main(Strin&g[] args)", //$NON-NLS-1$
-			/* Add testrunner statement to main Method */
-			WizardMessages.getString("NewTestClassWizPage.methodStub.testRunner"), //$NON-NLS-1$
-			WizardMessages.getString("NewTestClassWizPage.methodStub.setUp"), //$NON-NLS-1$
-			WizardMessages.getString("NewTestClassWizPage.methodStub.tearDown"), //$NON-NLS-1$
-			WizardMessages.getString("NewTestClassWizPage.methodStub.constructor") //$NON-NLS-1$
-		};
-		
-		fMethodStubsButtons= new MethodStubsSelectionButtonGroup(SWT.CHECK, buttonNames, 1);
-		fMethodStubsButtons.setLabelText(WizardMessages.getString("NewTestClassWizPage.method.Stub.label")); //$NON-NLS-1$
-		
-		fClassToTestCompletionProcessor= new JavaTypeCompletionProcessor(false, false); //$NON-NLS-1$
-
-		fClassToTestStatus= new JUnitStatus();
-		fTestClassStatus= new JUnitStatus();
-		
-		fDefaultClassToTest= ""; //$NON-NLS-1$
-	}
-
-	// -------- Initialization ---------
-
-	/**
-	 * Should be called from the wizard with the initial selection and the 2nd page of the wizard..
-	 */
-	public void init(IStructuredSelection selection, NewTestCaseCreationWizardPage2 page2) {
-		fPage2= page2;
-		IJavaElement element= getInitialJavaElement(selection);
-
-		initContainerPage(element);
-		initTypePage(element);
-		doStatusUpdate();		
-		// put default class to test		
-		if (element != null) {
-			IType classToTest= null;
-			// evaluate the enclosing type
-			IType typeInCompUnit= (IType) element.getAncestor(IJavaElement.TYPE);
-			if (typeInCompUnit != null) {
-				if (typeInCompUnit.getCompilationUnit() != null) {
-					classToTest= typeInCompUnit;
-				}
-			} else {
-				ICompilationUnit cu= (ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT);
-				if (cu != null) 
-					classToTest= cu.findPrimaryType();
-				else {
-					if (element instanceof IClassFile) {
-						try {
-							IClassFile cf= (IClassFile) element;
-							if (cf.isStructureKnown())
-								classToTest= cf.getType();
-						} catch(JavaModelException e) {
-							JUnitPlugin.log(e);
-						}
-					}					
-				}
-			}
-			if (classToTest != null) {
-				try {
-					if (!TestSearchEngine.isTestImplementor(classToTest)) {
-						fDefaultClassToTest= classToTest.getFullyQualifiedName();
-					}
-				} catch (JavaModelException e) {
-					JUnitPlugin.log(e);
-				}
-			}
-		}
-		fMethodStubsButtons.setSelection(0, false); //main
-		fMethodStubsButtons.setSelection(1, false); //add textrunner
-		fMethodStubsButtons.setEnabled(1, false); //add text
-		fMethodStubsButtons.setSelection(2, false); //setUp
-		fMethodStubsButtons.setSelection(3, false); //tearDown
-		fMethodStubsButtons.setSelection(4, false); //constructor
-	}
-	
-	/**
-	 * @see NewContainerWizardPage#handleFieldChanged
-	 */
-	protected void handleFieldChanged(String fieldName) {
-		super.handleFieldChanged(fieldName);
-		if (fieldName.equals(CLASS_TO_TEST)) {
-			fClassToTestStatus= classToTestClassChanged();
-		} else if (fieldName.equals(SUPER)) {
-			validateSuperClass(); 
-			if (!fFirstTime)
-				fTestClassStatus= typeNameChanged();	
-		} else if (fieldName.equals(TYPENAME)) {
-			fTestClassStatus= typeNameChanged();
-		} else if (fieldName.equals(PACKAGE) || fieldName.equals(CONTAINER) || fieldName.equals(SUPER)) {
-			if (fieldName.equals(PACKAGE))
-				fPackageStatus= packageChanged();
-			if (!fFirstTime) {
-				validateSuperClass();
-				fClassToTestStatus= classToTestClassChanged();			
-				fTestClassStatus= typeNameChanged();
-			}
-			if (fieldName.equals(CONTAINER)) {
-				validateJUnitOnBuildPath(); 
-			}
-		}
-		doStatusUpdate();
-	}
-
-	// ------ validation --------
-	private void doStatusUpdate() {
-		// status of all used components
-		IStatus[] status= new IStatus[] {
-			fContainerStatus,
-			fPackageStatus,
-			fTestClassStatus,
-			fClassToTestStatus,
-			fModifierStatus,
-			fSuperClassStatus
-		};
-		
-		// the mode severe status will be displayed and the ok button enabled/disabled.
-		updateStatus(status);
-	}
-
-	/*
-	 * @see IDialogPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
-		
-		Composite composite= new Composite(parent, SWT.NONE);
-		
-		int nColumns= 4;
-		
-		GridLayout layout= new GridLayout();
-		layout.numColumns= nColumns;		
-		composite.setLayout(layout);
-
-		createContainerControls(composite, nColumns);	
-		createPackageControls(composite, nColumns);
-		createSeparator(composite, nColumns);
-		createTypeNameControls(composite, nColumns);		
-		createSuperClassControls(composite, nColumns);
-		createMethodStubSelectionControls(composite, nColumns);
-		setSuperClass(JUnitPlugin.TEST_SUPERCLASS_NAME, true);
-		createSeparator(composite, nColumns);
-		createClassToTestControls(composite, nColumns);
-		
-		setControl(composite);
-			
-		//set default and focus
-		if (fDefaultClassToTest.length() > 0) {
-			fClassToTestText.setText(fDefaultClassToTest);
-			setTypeName(Signature.getSimpleName(fDefaultClassToTest)+TEST_SUFFIX, true);
-		}
-		restoreWidgetValues();
-		Dialog.applyDialogFont(composite);
-		WorkbenchHelp.setHelp(composite, IJUnitHelpContextIds.NEW_TESTCASE_WIZARD_PAGE);	
-
-	}
-
-	private void createMethodStubSelectionControls(Composite composite, int nColumns) {
-		LayoutUtil.setHorizontalSpan(fMethodStubsButtons.getLabelControl(composite), nColumns);
-		LayoutUtil.createEmptySpace(composite,1);
-		LayoutUtil.setHorizontalSpan(fMethodStubsButtons.getSelectionButtonsGroup(composite), nColumns - 1);	
-	}	
-
-	private void createClassToTestControls(Composite composite, int nColumns) {
-		fClassToTestLabel= new Label(composite, SWT.LEFT | SWT.WRAP);
-		fClassToTestLabel.setFont(composite.getFont());
-
-		fClassToTestLabel.setText(WizardMessages.getString("NewTestClassWizPage.class_to_test.label")); //$NON-NLS-1$
-		GridData gd= new GridData();
-		gd.horizontalSpan= 1;
-		fClassToTestLabel.setLayoutData(gd);
-
-		fClassToTestText= new Text(composite, SWT.SINGLE | SWT.BORDER);
-		fClassToTestText.setEnabled(true);
-		fClassToTestText.setFont(composite.getFont());
-		fClassToTestText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				handleFieldChanged(CLASS_TO_TEST);
-			}
-		});
-		gd= new GridData();
-		gd.horizontalAlignment= GridData.FILL;
-		gd.grabExcessHorizontalSpace= true;
-		gd.horizontalSpan= nColumns - 2;
-		fClassToTestText.setLayoutData(gd);
-		
-		fClassToTestButton= new Button(composite, SWT.PUSH);
-		fClassToTestButton.setText(WizardMessages.getString("NewTestClassWizPage.class_to_test.browse")); //$NON-NLS-1$
-		fClassToTestButton.setEnabled(true);
-		fClassToTestButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				classToTestButtonPressed();
-			}
-			public void widgetSelected(SelectionEvent e) {
-				classToTestButtonPressed();
-			}
-		});	
-		gd= new GridData();
-		gd.horizontalAlignment= GridData.FILL;
-		gd.grabExcessHorizontalSpace= false;
-		gd.horizontalSpan= 1;
-		gd.heightHint = SWTUtil.getButtonHeightHint(fClassToTestButton);
-		gd.widthHint = SWTUtil.getButtonWidthHint(fClassToTestButton);		
-		fClassToTestButton.setLayoutData(gd);
-
-		ControlContentAssistHelper.createTextContentAssistant(fClassToTestText, fClassToTestCompletionProcessor);
-	}
-
-	private void classToTestButtonPressed() {
-		IType type= chooseClassToTestType();
-		if (type != null) {
-			fClassToTestText.setText(JavaModelUtil.getFullyQualifiedName(type));
-			handleFieldChanged(CLASS_TO_TEST);
-		}
-	}
-
-	private IType chooseClassToTestType() {	
-		IPackageFragmentRoot root= getPackageFragmentRoot();
-		if (root == null) 
-			return null;
-
-		IJavaElement[] elements= new IJavaElement[] { root.getJavaProject() };
-		IJavaSearchScope scope= SearchEngine.createJavaSearchScope(elements);
-		
-		IType type= null;
-		try {		
-			SelectionDialog dialog= JavaUI.createTypeDialog(getShell(), getWizard().getContainer(), scope, IJavaElementSearchConstants.CONSIDER_CLASSES, false, getClassToTestText());
-			dialog.setTitle(WizardMessages.getString("NewTestClassWizPage.class_to_test.dialog.title")); //$NON-NLS-1$
-			dialog.setMessage(WizardMessages.getString("NewTestClassWizPage.class_to_test.dialog.message")); //$NON-NLS-1$
-			dialog.open();
-			if (dialog.getReturnCode() != Window.OK)
-				return type;
-			else {
-				Object[] resultArray= dialog.getResult();
-				if (resultArray != null && resultArray.length > 0)
-					type= (IType) resultArray[0];
-			}
-		} catch (JavaModelException e) {
-			JUnitPlugin.log(e);
-		}
-		return type;
-	}
-
-	/*
-	 * @see org.eclipse.jdt.ui.wizards.NewTypeWizardPage#packageChanged()
-	 */
-	protected IStatus packageChanged() {
-		IStatus status= super.packageChanged();
-		fClassToTestCompletionProcessor.setPackageFragment(getPackageFragment());
-		return status;
-	}
-	
-	private IStatus classToTestClassChanged() {
-		fClassToTestButton.setEnabled(getPackageFragmentRoot() != null);	// sets the test class field?
-		IStatus status= validateClassToTest();
-		return status;
-	}
-
-	/**
-	 * Returns the content of the class to test text field.
-	 */
-	public String getClassToTestText() {
-		return fClassToTestText.getText();
-	}
-	
-	/**
-	 * Returns the class to be tested.
-	 */
-	public IType getClassToTest() {
-		return fClassToTest;
-	}
-
-	/**
-	 * Sets the name of the class to test.
-	 */		
-	public void setClassToTest(String name) {
-		fClassToTestText.setText(name);
-	}	
-
-	/**
-	 * @see NewTypeWizardPage#createTypeMembers
-	 */
-	protected void createTypeMembers(IType type, ImportsManager imports, IProgressMonitor monitor) throws CoreException {
-		fIndexOfFirstTestMethod= 0;
-
-		if (fMethodStubsButtons.isSelected(0)) 
-			createMain(type);
-		
-		if (fMethodStubsButtons.isSelected(2)) {
-			createSetUp(type, imports);
-		}
-		
-		if (fMethodStubsButtons.isSelected(3)) {
-			createTearDown(type, imports);
-		}
-
-		if (fMethodStubsButtons.isSelected(4))
-			createConstructor(type, imports); 		
-
-		if (isNextPageValid()) {
-			createTestMethodStubs(type);
-		}
-	}
-
-	private void createConstructor(IType type, ImportsManager imports) throws JavaModelException {
-		ITypeHierarchy typeHierarchy= null;
-		IType[] superTypes= null;
-		String constr= ""; //$NON-NLS-1$
-		IMethod methodTemplate= null;
-		if (type.exists()) {
-			typeHierarchy= type.newSupertypeHierarchy(null);
-			superTypes= typeHierarchy.getAllSuperclasses(type);
-			for (int i= 0; i < superTypes.length; i++) {
-				if (superTypes[i].exists()) {
-					IMethod constrMethod= superTypes[i].getMethod(superTypes[i].getElementName(), new String[] {"Ljava.lang.String;"}); //$NON-NLS-1$
-					if (constrMethod.exists() && constrMethod.isConstructor()) {
-						methodTemplate= constrMethod;
-						break;
-					}
-				}
-			}
-		}
-		CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings();
-		if (methodTemplate != null) {
-			GenStubSettings genStubSettings= new GenStubSettings(settings);
-			genStubSettings.fCallSuper= true;				
-			genStubSettings.fMethodOverwrites= true;
-			constr= JUnitStubUtility.genStub(getTypeName(), methodTemplate, genStubSettings, imports);
-		} else {
-			constr += "public "+getTypeName()+"(String name) {" + //$NON-NLS-1$  //$NON-NLS-2$ 
-					getLineDelimiter() +
-					"super(name);" + //$NON-NLS-1$ 
-					getLineDelimiter() +
-					"}" + //$NON-NLS-1$ 
-					getLineDelimiter() + getLineDelimiter();
-		}
-		type.createMethod(constr, null, true, null);	
-		fIndexOfFirstTestMethod++;
-	}
-
-	private void createMain(IType type) throws JavaModelException {
-		type.createMethod(fMethodStubsButtons.getMainMethod(getTypeName()), null, false, null);	
-		fIndexOfFirstTestMethod++;		
-	}
-
-	private void createSetUp(IType type, ImportsManager imports) throws JavaModelException {
-		ITypeHierarchy typeHierarchy= null;
-		IType[] superTypes= null;
-		String setUp= ""; //$NON-NLS-1$
-		IMethod methodTemplate= null;
-		if (type.exists()) {
-			typeHierarchy= type.newSupertypeHierarchy(null);
-			superTypes= typeHierarchy.getAllSuperclasses(type);
-			for (int i= 0; i < superTypes.length; i++) {
-				if (superTypes[i].exists()) {
-					IMethod testMethod= superTypes[i].getMethod(SETUP, new String[] {});
-					if (testMethod.exists()) {
-						methodTemplate= testMethod;
-						break;
-					}
-				}
-			}
-		}
-		CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings();
-		if (methodTemplate != null) {
-			GenStubSettings genStubSettings= new GenStubSettings(settings);
-			genStubSettings.fCallSuper= true;				
-			genStubSettings.fMethodOverwrites= true;
-			setUp= JUnitStubUtility.genStub(getTypeName(), methodTemplate, genStubSettings, imports);
-		} else {
-			if (settings.createComments)
-				setUp= "/**" + //$NON-NLS-1$
-					getLineDelimiter() + 
-					" * Sets up the fixture, for example, open a network connection." + //$NON-NLS-1$
-					getLineDelimiter() +
-					" * This method is called before a test is executed." + //$NON-NLS-1$
-					getLineDelimiter() +
-					" * @throws Exception" + //$NON-NLS-1$
-					getLineDelimiter() +
-					" */" + //$NON-NLS-1$
-					getLineDelimiter(); 
-			setUp+= "protected void "+SETUP+"() throws Exception {}" + //$NON-NLS-1$ //$NON-NLS-2$
-				getLineDelimiter() + getLineDelimiter(); 
-		}
-		type.createMethod(setUp, null, false, null);	
-		fIndexOfFirstTestMethod++;
-	}
-	
-	private void createTearDown(IType type, ImportsManager imports) throws JavaModelException {
-		ITypeHierarchy typeHierarchy= null;
-		IType[] superTypes= null;
-		String tearDown= ""; //$NON-NLS-1$
-		IMethod methodTemplate= null;
-		if (type.exists()) {
-			if (typeHierarchy == null) {
-				typeHierarchy= type.newSupertypeHierarchy(null);
-				superTypes= typeHierarchy.getAllSuperclasses(type);
-			}
-			for (int i= 0; i < superTypes.length; i++) {
-				if (superTypes[i].exists()) {
-					IMethod testM= superTypes[i].getMethod(TEARDOWN, new String[] {});
-					if (testM.exists()) {
-						methodTemplate= testM;
-						break;
-					}
-				}
-			}
-		}
-		CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings();
-		if (methodTemplate != null) {
-			GenStubSettings genStubSettings= new GenStubSettings(settings);				
-			genStubSettings.fCallSuper= true;
-			genStubSettings.fMethodOverwrites= true;
-			tearDown= JUnitStubUtility.genStub(getTypeName(), methodTemplate, genStubSettings, imports);
-			type.createMethod(tearDown, null, false, null);	
-			fIndexOfFirstTestMethod++;
-		}				
-	}
-
-	private void createTestMethodStubs(IType type) throws JavaModelException {
-		IMethod[] methods= fPage2.getCheckedMethods();
-		if (methods.length == 0)
-			return;
-		/* find overloaded methods */
-		IMethod[] allMethodsArray= fPage2.getAllMethods();
-		List allMethods= new ArrayList();
-		allMethods.addAll(Arrays.asList(allMethodsArray));
-		List overloadedMethods= getOveloadedMethods(allMethods);
-			
-		/* used when for example both sum and Sum methods are present. Then
-		 * sum -> testSum
-		 * Sum -> testSum1
-		 */
-		List newMethodsNames= new ArrayList();				
-			for (int i = 0; i < methods.length; i++) {
-			IMethod testedMethod= methods[i];
-			String elementName= testedMethod.getElementName();
-			StringBuffer methodName= new StringBuffer(NewTestCaseCreationWizardPage2.PREFIX+Character.toUpperCase(elementName.charAt(0))+elementName.substring(1));
-			StringBuffer newMethod= new StringBuffer();
-	
-			if (overloadedMethods.contains(testedMethod)) {
-				appendMethodComment(newMethod, testedMethod);
-				String[] params= testedMethod.getParameterTypes();
-				appendParameterNamesToMethodName(methodName, params);
-			}
-			/* Should I for examples have methods
-			 * 	void foo(java.lang.StringBuffer sb) {}
-			 *  void foo(mypackage1.StringBuffer sb) {}
-			 *  void foo(mypackage2.StringBuffer sb) {}
-			 * I will get in the test class:
-			 *  testFooStringBuffer()
-			 *  testFooStringBuffer1()
-			 *  testFooStringBuffer2()
-			 */
-			if (newMethodsNames.contains(methodName.toString())) {
-				int suffix= 1;
-				while (newMethodsNames.contains(methodName.toString() + Integer.toString(suffix)))
-					suffix++;
-				methodName.append(Integer.toString(suffix));
-			}
-			newMethodsNames.add(methodName.toString());
-			newMethod.append("public ");//$NON-NLS-1$ 
-			if (fPage2.getCreateFinalMethodStubsButtonSelection())
-				newMethod.append("final "); //$NON-NLS-1$
-			newMethod.append("void ");//$NON-NLS-1$ 
-			newMethod.append(methodName.toString());
-			newMethod.append("()");//$NON-NLS-1$ 
-			appendTestMethodBody(newMethod, testedMethod);
-			type.createMethod(newMethod.toString(), null, false, null);	
-		}
-	}
-	
-	private String getLineDelimiter(){
-		IType classToTest= getClassToTest();
-		
-		if (classToTest != null && classToTest.exists())
-			return JUnitStubUtility.getLineDelimiterUsed(classToTest);
-		else	
-			return JUnitStubUtility.getLineDelimiterUsed(getPackageFragment());
-	}
-	
-	private void appendTestMethodBody(StringBuffer newMethod, IMethod testedMethod) {
-		newMethod.append("{"); //$NON-NLS-1$
-		if (createTasks()){
-			newMethod.append(getLineDelimiter());
-			newMethod.append("//"); //$NON-NLS-1$
-			newMethod.append(JUnitStubUtility.getTodoTaskTag(getPackageFragment().getJavaProject()));
-			newMethod.append(WizardMessages.getFormattedString("NewTestClassWizPage.marker.message", testedMethod.getElementName())); //$NON-NLS-1$
-			newMethod.append(getLineDelimiter());		
-		}
-		newMethod.append("}").append(getLineDelimiter()).append(getLineDelimiter()); //$NON-NLS-1$
-	}
-
-	public void appendParameterNamesToMethodName(StringBuffer methodName, String[] params) {
-		for (int i= 0; i < params.length; i++) {
-			String param= params[i];
-			methodName.append(Signature.getSimpleName(Signature.toString(Signature.getElementType(param))));
-			for (int j= 0, arrayCount= Signature.getArrayCount(param); j < arrayCount; j++) {
-				methodName.append("Array"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	private void appendMethodComment(StringBuffer newMethod, IMethod method) throws JavaModelException {
-		String returnType= Signature.toString(method.getReturnType());
-		String body= WizardMessages.getFormattedString("NewTestClassWizPage.comment.class_to_test", new String[]{returnType, method.getElementName()}); //$NON-NLS-1$
-		newMethod.append("/*");//$NON-NLS-1$
-		newMethod.append(getLineDelimiter());
-		newMethod.append(" * ");//$NON-NLS-1$
-		newMethod.append(body);
-		newMethod.append("(");//$NON-NLS-1$
-		String[] paramTypes= method.getParameterTypes();
-		if (paramTypes.length > 0) {
-			if (paramTypes.length > 1) {
-				for (int j= 0; j < paramTypes.length-1; j++) {
-					newMethod.append(Signature.toString(paramTypes[j])+", "); //$NON-NLS-1$
-				}
-			}
-			newMethod.append(Signature.toString(paramTypes[paramTypes.length-1]));
-		}
-		newMethod.append(")");//$NON-NLS-1$
-		newMethod.append(getLineDelimiter());
-		newMethod.append(" */");//$NON-NLS-1$
-		newMethod.append(getLineDelimiter()); 
-	}
-
-	private List getOveloadedMethods(List allMethods) {
-		List overloadedMethods= new ArrayList();
-		for (int i= 0; i < allMethods.size(); i++) {
-			IMethod current= (IMethod) allMethods.get(i);
-			String currentName= current.getElementName();
-			boolean currentAdded= false;
-			for (ListIterator iter= allMethods.listIterator(i+1); iter.hasNext(); ) {
-				IMethod iterMethod= (IMethod) iter.next();
-				if (iterMethod.getElementName().equals(currentName)) {
-					//method is overloaded
-					if (!currentAdded) {
-						overloadedMethods.add(current);
-						currentAdded= true;
-					}
-					overloadedMethods.add(iterMethod);
-					iter.remove();
-				}
-			}
-		}
-		return overloadedMethods;
-	}
-
-	/**
-	 * @see DialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-
-		if (visible && fFirstTime) {
-			if (getClassToTestText().equals("")) //$NON-NLS-1$
-				setPageComplete(false);
-			else
-				handleFieldChanged(CLASS_TO_TEST); //creates error message when wizard is opened if TestCase already exists
-			fFirstTime= false;
-		}
-		
-		if (visible) setFocus();
-	}
-
-	private void validateJUnitOnBuildPath() {
-		IPackageFragmentRoot root= getPackageFragmentRoot();
-		if (root == null)
-			return;
-		IJavaProject jp= root.getJavaProject();
-		
-		try {
-			if (jp.findType(JUnitPlugin.TEST_SUPERCLASS_NAME) != null)
-				return;
-		} catch (JavaModelException e) {
-		}
-		if (MessageDialog.openQuestion(getShell(), WizardMessages.getString("NewTestClassWizPage.not_on_buildpath.title"), WizardMessages.getString("NewTestClassWizPage.not_on_buildpath.message"))) { //$NON-NLS-1$ //$NON-NLS-2$
-			try {
-				addJUnitToBuildPath(jp);
-				return;
-			} catch(JavaModelException e) {
-				ErrorDialog.openError(getShell(), WizardMessages.getString("NewTestClassWizPage.cannot_add.title"), WizardMessages.getString("NewTestClassWizPage.cannot_add.message"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}	
-		}
-		JUnitStatus status= new JUnitStatus();
-		status.setWarning(WizardMessages.getString("NewTestClassWizPage.error.junitNotOnbuildpath")); //$NON-NLS-1$		
-		fContainerStatus= status;
-	}
-	
-	public static void addJUnitToBuildPath(IJavaProject project) throws JavaModelException {
-		IPath junitHome= new Path(JUnitPlugin.JUNIT_HOME);
-		IPath sourceHome= new Path("ORG_ECLIPSE_JDT_SOURCE_SRC");
-		IPath sourcePath= sourceHome.append("org.junit_3.8.1/junitsrc.zip");
-		IClasspathEntry entry= JavaCore.newVariableEntry(
-			junitHome.append("junit.jar"),  //$NON-NLS-1$
-			sourcePath,  //$NON-NLS-1$
-			null
-		);
-		addToClasspath(project, entry);
-	}	
-	
-	private static void addToClasspath(IJavaProject project, IClasspathEntry entry) throws JavaModelException {
-		IClasspathEntry[] oldEntries= project.getRawClasspath();
-		for (int i= 0; i < oldEntries.length; i++) {
-			if (oldEntries[i].equals(entry)) {
-				return;
-			}
-		}
-		int nEntries= oldEntries.length;
-		IClasspathEntry[] newEntries= new IClasspathEntry[nEntries + 1];
-		System.arraycopy(oldEntries, 0, newEntries, 0, nEntries);
-		newEntries[nEntries]= entry;
-		project.setRawClasspath(newEntries, null);
-	}
-
-
-	/**
-	 * Returns the index of the first method that is a test method, i.e. excluding main, setUp() and tearDown().
-	 * If none of the aforementioned method stubs is created, then 0 is returned. As such method stubs are created,
-	 * this counter is incremented.
-	 */
-	public int getIndexOfFirstMethod() {
-		return fIndexOfFirstTestMethod;
-	}
-
-	private boolean createTasks() {
-		return fPage2.getCreateTasksButtonSelection();
-	}	
-
-	private void validateSuperClass() {
-		fMethodStubsButtons.setEnabled(2, true);//enable setUp() checkbox
-		fMethodStubsButtons.setEnabled(3, true);//enable tearDown() checkbox
-		String superClassName= getSuperClass();
-		if (superClassName == null || superClassName.trim().equals("")) { //$NON-NLS-1$
-			fSuperClassStatus= new JUnitStatus();
-			((JUnitStatus)fSuperClassStatus).setError(WizardMessages.getString("NewTestClassWizPage.error.superclass.empty")); //$NON-NLS-1$
-			return;	
-		}
-		if (getPackageFragmentRoot() != null) { //$NON-NLS-1$
-			try {
-				IType type= resolveClassNameToType(getPackageFragmentRoot().getJavaProject(), getPackageFragment(), superClassName);
-				JUnitStatus status = new JUnitStatus();				
-				if (type == null) {
-					/* TODO: is this a warning or error? */
-					status.setWarning(WizardMessages.getString("NewTestClassWizPage.error.superclass.not_exist")); //$NON-NLS-1$
-					fSuperClassStatus= status;
-				} else {
-					if (type.isInterface()) {
-						status.setError(WizardMessages.getString("NewTestClassWizPage.error.superclass.is_interface")); //$NON-NLS-1$
-						fSuperClassStatus= status;
-					}
-					if (!TestSearchEngine.isTestImplementor(type)) {
-						status.setError(WizardMessages.getFormattedString("NewTestClassWizPage.error.superclass.not_implementing_test_interface", JUnitPlugin.TEST_INTERFACE_NAME)); //$NON-NLS-1$
-						fSuperClassStatus= status;
-					} else {
-						IMethod setupMethod= type.getMethod(SETUP, new String[] {});
-						IMethod teardownMethod= type.getMethod(TEARDOWN, new String[] {});
-						if (setupMethod.exists())
-							fMethodStubsButtons.setEnabled(2, !Flags.isFinal(setupMethod.getFlags()));
-						if (teardownMethod.exists())
-							fMethodStubsButtons.setEnabled(3, !Flags.isFinal(teardownMethod.getFlags()));
-					}
-				}
-			} catch (JavaModelException e) {
-				JUnitPlugin.log(e);
-			}
-		}
-	}
-		
-	/**
-	 * @see IWizardPage#canFlipToNextPage
-	 */
-	public boolean canFlipToNextPage() {
-		return isPageComplete() && getNextPage() != null && isNextPageValid();
-	}
-
-	protected boolean isNextPageValid() {
-		return !getClassToTestText().equals(""); //$NON-NLS-1$
-	}
-
-	private JUnitStatus validateClassToTest() {
-		IPackageFragmentRoot root= getPackageFragmentRoot();
-		IPackageFragment pack= getPackageFragment();
-		String classToTestName= getClassToTestText();
-		JUnitStatus status= new JUnitStatus();
-		
-		fClassToTest= null;
-		if (classToTestName.length() == 0) {
-			return status;
-		}
-		IStatus val= JavaConventions.validateJavaTypeName(classToTestName);
-//		if (!val.isOK()) {
-		if (val.getSeverity() == IStatus.ERROR) {
-			status.setError(WizardMessages.getString("NewTestClassWizPage.error.class_to_test.not_valid")); //$NON-NLS-1$
-			return status;
-		}
-		
-		if (root != null) {
-			try {		
-				IType type= resolveClassNameToType(root.getJavaProject(), pack, classToTestName);
-				if (type == null) {
-					//status.setWarning("Warning: "+typeLabel+" does not exist in current project.");
-					status.setError(WizardMessages.getString("NewTestClassWizPage.error.class_to_test.not_exist")); //$NON-NLS-1$
-					return status;
-				} else {
-					if (type.isInterface()) {
-						status.setWarning(WizardMessages.getFormattedString("NewTestClassWizPage.warning.class_to_test.is_interface",classToTestName)); //$NON-NLS-1$
-					}
-					if (pack != null && !JavaModelUtil.isVisible(type, pack)) {
-						status.setWarning(WizardMessages.getFormattedString("NewTestClassWizPage.warning.class_to_test.not_visible", new String[] {(type.isInterface())?WizardMessages.getString("Interface"):WizardMessages.getString("Class") , classToTestName})); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-				}
-				fClassToTest= type;
-			} catch (JavaModelException e) {
-				status.setError(WizardMessages.getString("NewTestClassWizPage.error.class_to_test.not_valid")); //$NON-NLS-1$
-			}							
-		} else {
-			status.setError(""); //$NON-NLS-1$
-		}
-		return status;
-	}
-
-	private IType resolveClassNameToType(IJavaProject jproject, IPackageFragment pack, String classToTestName) throws JavaModelException {
-		IType type= null;
-		if (type == null && pack != null) {
-			String packName= pack.getElementName();
-			// search in own package
-			if (!pack.isDefaultPackage()) {
-				type= jproject.findType(packName, classToTestName);
-			}
-			// search in java.lang
-			if (type == null && !"java.lang".equals(packName)) { //$NON-NLS-1$
-				type= jproject.findType("java.lang", classToTestName); //$NON-NLS-1$
-			}
-		}
-		// search fully qualified
-		if (type == null) {
-			type= jproject.findType(classToTestName);
-		}
-		return type;
-	}
-	
-	/**
-	 *	Use the dialog store to restore widget values to the values that they held
-	 *	last time this wizard was used to completion
-	 */
-	private void restoreWidgetValues() {
-		
-		IDialogSettings settings= getDialogSettings();
-		if (settings != null) {
-			boolean generateMain= settings.getBoolean(STORE_GENERATE_MAIN);
-			fMethodStubsButtons.setSelection(0, generateMain);
-			fMethodStubsButtons.setEnabled(1, generateMain);
-			fMethodStubsButtons.setSelection(1,settings.getBoolean(STORE_USE_TESTRUNNER));
-			try {
-				fMethodStubsButtons.setComboSelection(settings.getInt(STORE_TESTRUNNER_TYPE));
-			} catch(NumberFormatException e) {}
-		}		
-	}	
-
-	/**
-	 * 	Since Finish was pressed, write widget values to the dialog store so that they
-	 *	will persist into the next invocation of this wizard page
-	 */
-	void saveWidgetValues() {
-		IDialogSettings settings= getDialogSettings();
-		if (settings != null) {
-			settings.put(STORE_GENERATE_MAIN, fMethodStubsButtons.isSelected(0));
-			settings.put(STORE_USE_TESTRUNNER, fMethodStubsButtons.isSelected(1));
-			settings.put(STORE_TESTRUNNER_TYPE, fMethodStubsButtons.getComboSelection());
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage2.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage2.java
deleted file mode 100644
index 6c4b17f..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage2.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.junit.wizards;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Vector;
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.junit.ui.IJUnitHelpContextIds;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.ui.viewsupport.AppearanceAwareLabelProvider;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.dialogs.ContainerCheckedTreeViewer;
-
-/**
- * Wizard page to select the methods from a class under test.
- */
-public class NewTestCaseCreationWizardPage2 extends WizardPage {
-
-	private final static String PAGE_NAME= "NewTestCaseCreationWizardPage2"; //$NON-NLS-1$
-	private final static String STORE_USE_TASKMARKER= PAGE_NAME + ".USE_TASKMARKER"; //$NON-NLS-1$
-	private final static String STORE_CREATE_FINAL_METHOD_STUBS= PAGE_NAME + ".CREATE_FINAL_METHOD_STUBS"; //$NON-NLS-1$
-	public final static String PREFIX= "test"; //$NON-NLS-1$
-
-	private NewTestCaseCreationWizardPage fFirstPage;	
-	private IType fClassToTest;
-
-	private Button fCreateFinalMethodStubsButton;
-	private Button fCreateTasksButton;
-	private ContainerCheckedTreeViewer fMethodsTree;
-	private Button fSelectAllButton;
-	private Button fDeselectAllButton;
-	private Label fSelectedMethodsLabel;
-	
-	/**
-	 * Constructor for NewTestCaseCreationWizardPage2.
-	 */
-	protected NewTestCaseCreationWizardPage2(NewTestCaseCreationWizardPage firstPage) {
-		super(PAGE_NAME);
-		fFirstPage= firstPage;
-		setTitle(WizardMessages.getString("NewTestClassWizPage2.title")); //$NON-NLS-1$
-		setDescription(WizardMessages.getString("NewTestClassWizPage2.description")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see IDialogPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite container= new Composite(parent, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		container.setLayout(layout);
-
-		createMethodsTreeControls(container);
-		createSpacer(container);
-		createButtonChoices(container);	
-		setControl(container);
-		restoreWidgetValues();
-		Dialog.applyDialogFont(container);
-		WorkbenchHelp.setHelp(container, IJUnitHelpContextIds.NEW_TESTCASE_WIZARD_PAGE2);	
-	}
-
-	protected void createButtonChoices(Composite container) {
-		GridLayout layout;
-		GridData gd;
-		Composite prefixContainer= new Composite(container, SWT.NONE);
-		gd= new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.horizontalSpan = 1;
-		prefixContainer.setLayoutData(gd);
-		
-		layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		prefixContainer.setLayout(layout);
-		
-		Button buttons[] = {null, null};
-
-		String buttonNames[] = {
-			WizardMessages.getString("NewTestClassWizPage2.create_final_method_stubs.text"), //$NON-NLS-1$
-			WizardMessages.getString("NewTestClassWizPage2.create_tasks.text") //$NON-NLS-1$
-		}; 
-		
-		for (int i=0; i < buttons.length; i++) {
-			buttons[i]= new Button(prefixContainer, SWT.CHECK | SWT.LEFT);
-			buttons[i].setText(buttonNames[i]); //$NON-NLS-1$
-			buttons[i].setEnabled(true);
-			buttons[i].setSelection(true);
-			gd= new GridData();
-			gd.horizontalAlignment= GridData.FILL;
-			gd.horizontalSpan= 1;
-			buttons[i].setLayoutData(gd);							
-		}
-		fCreateFinalMethodStubsButton= buttons[0];
-		fCreateTasksButton= buttons[1];	
-	}
-	
-	protected void createMethodsTreeControls(Composite container) {
-		Label label= new Label(container, SWT.LEFT | SWT.WRAP);
-		label.setFont(container.getFont());
-		label.setText(WizardMessages.getString("NewTestClassWizPage2.methods_tree.label")); //$NON-NLS-1$
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		label.setLayoutData(gd);
-
-		fMethodsTree= new ContainerCheckedTreeViewer(container, SWT.BORDER);
-		gd= new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		gd.heightHint= 180;
-		fMethodsTree.getTree().setLayoutData(gd);
-
-		fMethodsTree.setLabelProvider(new AppearanceAwareLabelProvider());
-		fMethodsTree.setAutoExpandLevel(2);			
-		fMethodsTree.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				updateSelectedMethodsLabel();
-			}	
-		});
-		fMethodsTree.addFilter(new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				if (element instanceof IMethod) {
-					IMethod method = (IMethod) element;
-					return !method.getElementName().equals("<clinit>"); //$NON-NLS-1$
-				}
-				return true;
-			}
-		});
-
-		Composite buttonContainer= new Composite(container, SWT.NONE);
-		gd= new GridData(GridData.FILL_VERTICAL);
-		buttonContainer.setLayoutData(gd);
-		GridLayout buttonLayout= new GridLayout();
-		buttonLayout.marginWidth= 0;
-		buttonLayout.marginHeight= 0;
-		buttonContainer.setLayout(buttonLayout);
-
-		fSelectAllButton= new Button(buttonContainer, SWT.PUSH);
-		fSelectAllButton.setText(WizardMessages.getString("NewTestClassWizPage2.selectAll")); //$NON-NLS-1$
-		gd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		fSelectAllButton.setLayoutData(gd);
-		fSelectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fMethodsTree.setCheckedElements((Object[]) fMethodsTree.getInput());
-				updateSelectedMethodsLabel();
-			}
-		});
-
-		fDeselectAllButton= new Button(buttonContainer, SWT.PUSH);
-		fDeselectAllButton.setText(WizardMessages.getString("NewTestClassWizPage2.deselectAll")); //$NON-NLS-1$
-		gd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		fDeselectAllButton.setLayoutData(gd);
-		fDeselectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fMethodsTree.setCheckedElements(new Object[0]);
-				updateSelectedMethodsLabel();
-			}
-		});
-
-		/* No of selected methods label */
-		fSelectedMethodsLabel= new Label(container, SWT.LEFT);
-		fSelectedMethodsLabel.setFont(container.getFont());
-		updateSelectedMethodsLabel();
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan= 1;
-		fSelectedMethodsLabel.setLayoutData(gd);
-		
-		Label emptyLabel= new Label(container, SWT.LEFT);
-		gd= new GridData();
-		gd.horizontalSpan= 1;
-		emptyLabel.setLayoutData(gd);
-	}
-
-	protected void createSpacer(Composite container) {
-		Label spacer= new Label(container, SWT.NONE);
-		GridData data= new GridData();
-		data.horizontalSpan= 2;
-		data.horizontalAlignment= GridData.FILL;
-		data.verticalAlignment= GridData.BEGINNING;
-		data.heightHint= 4;
-		spacer.setLayoutData(data);
-	}
-
-	/**
-	 * @see DialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible) {
-			fClassToTest= fFirstPage.getClassToTest();
-			IType currType= fClassToTest;
-			ArrayList types= null;
-			try {
-				ITypeHierarchy hierarchy= currType.newSupertypeHierarchy(null);
-				IType[] superTypes;
-				if (currType.isClass())
-					superTypes= hierarchy.getAllSuperclasses(currType);
-				else if (currType.isInterface())
-					superTypes= hierarchy.getAllSuperInterfaces(currType);
-				else
-					superTypes= new IType[0];
-				types= new ArrayList(superTypes.length+1);
-				types.add(currType);
-				types.addAll(Arrays.asList(superTypes));
-			} catch(JavaModelException e) {
-				JUnitPlugin.log(e);
-			}
-			fMethodsTree.setContentProvider(new MethodsTreeContentProvider(types.toArray()));
-			if (types == null)
-				types= new ArrayList();
-			fMethodsTree.setInput(types.toArray());
-			fMethodsTree.setSelection(new StructuredSelection(currType), true);
-			updateSelectedMethodsLabel();
-			setFocus();
-		}
-	}
-
-	/**
-	 * Returns all checked methods in the Methods tree.
-	 */
-	public IMethod[] getCheckedMethods() {
-		Object[] checkedObjects= fMethodsTree.getCheckedElements();
-		int methodCount= 0;
-		for (int i = 0; i < checkedObjects.length; i++) {
-			if (checkedObjects[i] instanceof IMethod)
-				methodCount++;
-		}
-		IMethod[] checkedMethods= new IMethod[methodCount];
-		int j= 0;
-		for (int i = 0; i < checkedObjects.length; i++) {
-			if (checkedObjects[i] instanceof IMethod) {
-				checkedMethods[j]= (IMethod)checkedObjects[i];
-				j++;
-			}
-		}
-		return checkedMethods;
-	}
-	
-	private static class MethodsTreeContentProvider implements ITreeContentProvider {
-		private Object[] fTypes;
-		private IMethod[] fMethods;
-		private final Object[] fEmpty= new Object[0];
-
-		public MethodsTreeContentProvider(Object[] types) {
-			fTypes= types;
-			Vector methods= new Vector();
-			for (int i = types.length-1; i > -1; i--) {
-				Object object = types[i];
-				if (object instanceof IType) {
-					IType type = (IType) object;
-					try {
-						IMethod[] currMethods= type.getMethods();
-						for_currMethods:
-						for (int j = 0; j < currMethods.length; j++) {
-							IMethod currMethod = currMethods[j];
-							int flags= currMethod.getFlags();
-							if (!Flags.isPrivate(flags)) {
-								for (int k = 0; k < methods.size(); k++) {
-									IMethod m= ((IMethod)methods.get(k));
-									if (m.getElementName().equals(currMethod.getElementName())
-										&& m.getSignature().equals(currMethod.getSignature())) {
-										methods.set(k,currMethod);
-										continue for_currMethods;
-									}
-								}
-								methods.add(currMethod);
-							}
-						}
-					} catch (JavaModelException e) {
-						JUnitPlugin.log(e);
-					}
-				}
-			}
-			fMethods= new IMethod[methods.size()];
-			methods.copyInto(fMethods);
-		}
-		
-		/*
-		 * @see ITreeContentProvider#getChildren(Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			if (parentElement instanceof IType) {
-				IType parentType= (IType)parentElement;
-				ArrayList result= new ArrayList(fMethods.length);
-				for (int i= 0; i < fMethods.length; i++) {
-					if (fMethods[i].getDeclaringType().equals(parentType)) {
-						result.add(fMethods[i]);
-					}
-				}
-				return result.toArray();
-			}
-			return fEmpty;
-		}
-
-		/*
-		 * @see ITreeContentProvider#getParent(Object)
-		 */
-		public Object getParent(Object element) {
-			if (element instanceof IMethod) 
-				return ((IMethod)element).getDeclaringType();
-			return null;
-		}
-
-		/*
-		 * @see ITreeContentProvider#hasChildren(Object)
-		 */
-		public boolean hasChildren(Object element) {
-			return getChildren(element).length > 0;
-		}
-
-		/*
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return fTypes;
-		}
-
-		/*
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/*
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-		
-		public IMethod[] getAllMethods() {
-			return fMethods;
-		}
-	}
-
-	/**
-	 * Returns true if the checkbox for creating tasks is checked.
-	 */
-	public boolean getCreateTasksButtonSelection() {
-		return fCreateTasksButton.getSelection();
-	}
-
-	/**
-	 * Returns true if the checkbox for final method stubs is checked.
-	 */
-	public boolean getCreateFinalMethodStubsButtonSelection() {
-		return fCreateFinalMethodStubsButton.getSelection();
-	}
-		
-	private void updateSelectedMethodsLabel() {
-		Object[] checked= fMethodsTree.getCheckedElements();
-		int checkedMethodCount= 0;
-		for (int i= 0; i < checked.length; i++) {
-			if (checked[i] instanceof IMethod)
-				checkedMethodCount++;
-		}
-		String label= ""; //$NON-NLS-1$
-		if (checkedMethodCount == 1)
-			label= WizardMessages.getFormattedString("NewTestClassWizPage2.selected_methods.label_one", new Integer(checkedMethodCount)); //$NON-NLS-1$
-		else
-			label= WizardMessages.getFormattedString("NewTestClassWizPage2.selected_methods.label_many", new Integer(checkedMethodCount)); //$NON-NLS-1$
-		fSelectedMethodsLabel.setText(label);
-	}
-	
-	/**
-	 * Returns all the methods in the Methods tree.
-	 */
-	public IMethod[] getAllMethods() {
-		return ((MethodsTreeContentProvider)fMethodsTree.getContentProvider()).getAllMethods();
-	}
-
-	/**
-	 * Sets the focus on the type name.
-	 */		
-	protected void setFocus() {
-		fMethodsTree.getControl().setFocus();
-	}
-		
-	/**
-	 *	Use the dialog store to restore widget values to the values that they held
-	 *	last time this wizard was used to completion
-	 */
-	private void restoreWidgetValues() {
-		IDialogSettings settings= getDialogSettings();
-		if (settings != null) {
-			fCreateTasksButton.setSelection(settings.getBoolean(STORE_USE_TASKMARKER));
-			fCreateFinalMethodStubsButton.setSelection(settings.getBoolean(STORE_CREATE_FINAL_METHOD_STUBS));
-		}		
-	}	
-
-	/**
-	 * 	Since Finish was pressed, write widget values to the dialog store so that they
-	 *	will persist into the next invocation of this wizard page
-	 */
-	void saveWidgetValues() {
-		IDialogSettings settings= getDialogSettings();
-		if (settings != null) {
-			settings.put(STORE_USE_TASKMARKER, fCreateTasksButton.getSelection());
-			settings.put(STORE_CREATE_FINAL_METHOD_STUBS, fCreateFinalMethodStubsButton.getSelection());
-		}
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizard.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizard.java
deleted file mode 100644
index efe4a9a..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizard.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * A wizard for creating test suites.
- */
-public class NewTestSuiteCreationWizard extends JUnitWizard {
-
-	private NewTestSuiteCreationWizardPage fPage;
-	
-	public NewTestSuiteCreationWizard() {
-		super();
-		setWindowTitle(WizardMessages.getString("Wizard.title.new.testsuite")); //$NON-NLS-1$
-		initDialogSettings();
-	}
-
-	/*
-	 * @see Wizard#createPages
-	 */	
-	public void addPages() {
-		super.addPages();
-		fPage= new NewTestSuiteCreationWizardPage();
-		addPage(fPage);
-		fPage.init(getSelection());
-	}	
-
-	/*
-	 * @see Wizard#performFinish
-	 */		
-	public boolean performFinish() {
-		IPackageFragment pack= fPage.getPackageFragment();
-		String filename= fPage.getTypeName() + ".java"; //$NON-NLS-1$
-		ICompilationUnit cu= pack.getCompilationUnit(filename);
-		if (cu.exists()) {
-			IEditorPart cu_ep= EditorUtility.isOpenInEditor(cu);
-			if (cu_ep != null && cu_ep.isDirty()) {
-				boolean saveUnsavedChanges= 
-					MessageDialog.openQuestion(fPage.getShell(), 
-						WizardMessages.getString("NewTestSuiteWiz.unsavedchangesDialog.title"), //$NON-NLS-1$
-						WizardMessages.getFormattedString("NewTestSuiteWiz.unsavedchangesDialog.message", //$NON-NLS-1$
-						filename));  
-				if (saveUnsavedChanges) {
-					ProgressMonitorDialog progressDialog= new ProgressMonitorDialog(fPage.getShell());
-					try {
-						progressDialog.run(false, false, getRunnableSave(cu_ep));
-					} catch (Exception e) {
-						JUnitPlugin.log(e);
-					}
-				}
-			}
-			IType suiteType= cu.getType(fPage.getTypeName());
-			IMethod suiteMethod= suiteType.getMethod("suite", new String[] {}); //$NON-NLS-1$
-			if (suiteMethod.exists()) {
-				try {
-				ISourceRange range= suiteMethod.getSourceRange();
-				IBuffer buf= cu.getBuffer();
-				String originalContent= buf.getText(range.getOffset(), range.getLength());
-				int start= originalContent.indexOf(NewTestSuiteCreationWizardPage.START_MARKER);
-				if (start > -1) {
-					int end= originalContent.indexOf(NewTestSuiteCreationWizardPage.END_MARKER, start);
-					if (end < 0) {
-						fPage.cannotUpdateSuiteError();
-						return false;
-					}
-				} else {
-					fPage.cannotUpdateSuiteError();
-					return false;
-				}
-				} catch (JavaModelException e) {
-					JUnitPlugin.log(e);
-					return false;
-				}
-			}
-		}
-		
-		if (finishPage(fPage.getRunnable())) {
-			if (!fPage.hasUpdatedExistingClass())
-				postCreatingType();
-			fPage.saveWidgetValues();				
-			return true;
-		}
-
-		return false;		
-	}
-
-	protected void postCreatingType() {
-		IType newClass= fPage.getCreatedType();
-		if (newClass == null)
-			return;
-		ICompilationUnit cu= newClass.getCompilationUnit();
-		if (cu.isWorkingCopy()) {
-			cu= (ICompilationUnit) cu.getOriginalElement();
-			//added here
-		}
-		IResource resource= cu.getResource();
-		if (resource != null) {
-			selectAndReveal(resource);
-			openResource(resource);
-		}
-	}
-
-	public NewTestSuiteCreationWizardPage getPage() {
-		return fPage;
-	}
-	
-	protected void initializeDefaultPageImageDescriptor() {
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(JUnitPlugin.makeIconFileURL("wizban/newtest_wiz.gif")); //$NON-NLS-1$
-			setDefaultPageImageDescriptor(id);
-	} catch (MalformedURLException e) {
-			// Should not happen.  Ignore.
-		}
-	}
-
-	public IRunnableWithProgress getRunnableSave(final IEditorPart cu_ep) {
-		return new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					if (monitor == null) {
-						monitor= new NullProgressMonitor();
-					}
-					cu_ep.doSave(monitor);
-			}
-		};
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizardPage.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizardPage.java
deleted file mode 100644
index 5c43061..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestSuiteCreationWizardPage.java
+++ /dev/null
@@ -1,672 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-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.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.junit.ui.IJUnitHelpContextIds;
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.junit.util.ExceptionHandler;
-import org.eclipse.jdt.internal.junit.util.JUnitStatus;
-import org.eclipse.jdt.internal.junit.util.JUnitStubUtility;
-import org.eclipse.jdt.internal.junit.util.LayoutUtil;
-import org.eclipse.jdt.internal.junit.util.SWTUtil;
-import org.eclipse.jdt.internal.junit.util.TestSearchEngine;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.wizards.NewTypeWizardPage;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Wizard page to select the test classes to include
- * in the test suite.
- */
-public class NewTestSuiteCreationWizardPage extends NewTypeWizardPage {
-
-	private final static String PAGE_NAME= "NewTestSuiteCreationWizardPage"; //$NON-NLS-1$
-	private final static String CLASSES_IN_SUITE= PAGE_NAME + ".classesinsuite"; //$NON-NLS-1$
-	private final static String SUITE_NAME= PAGE_NAME + ".suitename"; //$NON-NLS-1$
-
-	protected final static String STORE_GENERATE_MAIN= PAGE_NAME + ".GENERATE_MAIN"; //$NON-NLS-1$
-	protected final static String STORE_USE_TESTRUNNER= PAGE_NAME + ".USE_TESTRUNNER";	//$NON-NLS-1$
-	protected final static String STORE_TESTRUNNER_TYPE= PAGE_NAME + ".TESTRUNNER_TYPE"; //$NON-NLS-1$
-
-
-	public static final String START_MARKER= "//$JUnit-BEGIN$"; //$NON-NLS-1$
-	public static final String END_MARKER= "//$JUnit-END$"; //$NON-NLS-1$
-	
-	private CheckboxTableViewer fClassesInSuiteTable;	
-	private Button fSelectAllButton;
-	private Button fDeselectAllButton;
-	private Label fSelectedClassesLabel;
-
-	private Label fSuiteNameLabel;
-	private Text fSuiteNameText;
-	private String fSuiteNameTextInitialValue;
-	private MethodStubsSelectionButtonGroup fMethodStubsButtons;
-	
-	private boolean fUpdatedExistingClassButton;
-
-	protected IStatus fClassesInSuiteStatus;
-	protected IStatus fSuiteNameStatus;
-	
-	public NewTestSuiteCreationWizardPage() {
-		super(true, PAGE_NAME);
-
-		fSuiteNameStatus= new JUnitStatus();
-		fSuiteNameTextInitialValue= ""; //$NON-NLS-1$
-		setTitle(WizardMessages.getString("NewTestSuiteWizPage.title")); //$NON-NLS-1$
-		setDescription(WizardMessages.getString("NewTestSuiteWizPage.description")); //$NON-NLS-1$
-		
-		String[] buttonNames= new String[] {
-			"public static void main(Strin&g[] args)", //$NON-NLS-1$
-			/* Add testrunner statement to main Method */
-			WizardMessages.getString("NewTestClassWizPage.methodStub.testRunner"), //$NON-NLS-1$
-		};
-		
-		fMethodStubsButtons= new MethodStubsSelectionButtonGroup(SWT.CHECK, buttonNames, 1);
-		fMethodStubsButtons.setLabelText(WizardMessages.getString("NewTestClassWizPage2.method.Stub.label")); //$NON-NLS-1$
-		
-		fClassesInSuiteStatus= new JUnitStatus();
-	}
-
-	/**
-	 * @see IDialogPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
-		
-		Composite composite= new Composite(parent, SWT.NONE);
-		int nColumns= 4;
-		
-		GridLayout layout= new GridLayout();
-		layout.numColumns= nColumns;		
-		composite.setLayout(layout);
-	
-		createContainerControls(composite, nColumns);	
-		createPackageControls(composite, nColumns);	
-		createSeparator(composite, nColumns);
-		createSuiteNameControl(composite, nColumns);
-		setTypeName("AllTests", true); //$NON-NLS-1$
-		createSeparator(composite, nColumns);
-		createClassesInSuiteControl(composite, nColumns);
-		createMethodStubSelectionControls(composite, nColumns);
-		setControl(composite);
-		restoreWidgetValues();
-		Dialog.applyDialogFont(composite);	
-		WorkbenchHelp.setHelp(composite, IJUnitHelpContextIds.NEW_TESTSUITE_WIZARD_PAGE);			
-	}
-
-	protected void createMethodStubSelectionControls(Composite composite, int nColumns) {
-		LayoutUtil.setHorizontalSpan(fMethodStubsButtons.getLabelControl(composite), nColumns);
-		LayoutUtil.createEmptySpace(composite,1);
-		LayoutUtil.setHorizontalSpan(fMethodStubsButtons.getSelectionButtonsGroup(composite), nColumns - 1);	
-	}	
-
-	/**
-	 * Should be called from the wizard with the initial selection.
-	 */
-	public void init(IStructuredSelection selection) {
-		IJavaElement jelem= getInitialJavaElement(selection);
-		initContainerPage(jelem);
-		initTypePage(jelem);
-		doStatusUpdate();
-
-		fMethodStubsButtons.setSelection(0, false); //main
-		fMethodStubsButtons.setSelection(1, false); //add textrunner
-		fMethodStubsButtons.setEnabled(1, false); //add text
-	}
-	
-	/**
-	 * @see NewContainerWizardPage#handleFieldChanged
-	 */
-	protected void handleFieldChanged(String fieldName) {
-		super.handleFieldChanged(fieldName);
-		if (fieldName.equals(PACKAGE) || fieldName.equals(CONTAINER)) {
-			if (fieldName.equals(PACKAGE))
-				fPackageStatus= packageChanged();
-			updateClassesInSuiteTable();
-		} else if (fieldName.equals(CLASSES_IN_SUITE)) {
-			fClassesInSuiteStatus= classesInSuiteChanged();
-			fSuiteNameStatus= testSuiteChanged(); //must check this one too
-			updateSelectedClassesLabel();
-		} else if (fieldName.equals(SUITE_NAME)) {
-			fSuiteNameStatus= testSuiteChanged();
-		}
-
-		doStatusUpdate();
-	}
-
-	// ------ validation --------
-	private void doStatusUpdate() {
-		// status of all used components
-		IStatus[] status= new IStatus[] {
-			fContainerStatus,
-			fPackageStatus,
-			fSuiteNameStatus,
-			fClassesInSuiteStatus			
-		};
-		
-		// the most severe status will be displayed and the ok button enabled/disabled.
-		updateStatus(status);
-	}
-
-	/**
-	 * @see DialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible) {
-			setFocus();		
-			updateClassesInSuiteTable();
-			handleAllFieldsChanged();
-		}
-	}
-
-	private void handleAllFieldsChanged() {
-		handleFieldChanged(PACKAGE);
-		handleFieldChanged(CONTAINER);
-		handleFieldChanged(CLASSES_IN_SUITE);
-		handleFieldChanged(SUITE_NAME);
-	}
-
-	protected void updateClassesInSuiteTable() {
-		if (fClassesInSuiteTable != null) {
-			IPackageFragment pack= getPackageFragment();
-			if (pack == null) {
-				IPackageFragmentRoot root= getPackageFragmentRoot();
-				if (root != null)
-					pack= root.getPackageFragment(""); //$NON-NLS-1$
-				else
-					return;
-			}
-			fClassesInSuiteTable.setInput(pack);
-			fClassesInSuiteTable.setAllChecked(true);
-			updateSelectedClassesLabel();	
-		}
-	}
-	
-	protected void createClassesInSuiteControl(Composite parent, int nColumns) {
-		if (fClassesInSuiteTable == null) {
-
-			Label label = new Label(parent, SWT.LEFT);
-			label.setText(WizardMessages.getString("NewTestSuiteWizPage.classes_in_suite.label")); //$NON-NLS-1$
-			GridData gd= new GridData();
-			gd.horizontalAlignment = GridData.FILL;
-			gd.horizontalSpan= nColumns;
-			label.setLayoutData(gd);
-
-			fClassesInSuiteTable= CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
-			gd= new GridData(GridData.FILL_BOTH);
-			gd.heightHint= 80;
-			gd.horizontalSpan= nColumns-1;
-
-			fClassesInSuiteTable.getTable().setLayoutData(gd);
-			fClassesInSuiteTable.setContentProvider(new ClassesInSuitContentProvider());
-			fClassesInSuiteTable.setLabelProvider(new JavaElementLabelProvider());
-			fClassesInSuiteTable.addCheckStateListener(new ICheckStateListener() {
-				public void checkStateChanged(CheckStateChangedEvent event) {
-					handleFieldChanged(CLASSES_IN_SUITE);
-				}
-			});
-
-			Composite buttonContainer= new Composite(parent, SWT.NONE);
-			gd= new GridData(GridData.FILL_VERTICAL);
-			buttonContainer.setLayoutData(gd);
-			GridLayout buttonLayout= new GridLayout();
-			buttonLayout.marginWidth= 0;
-			buttonLayout.marginHeight= 0;
-			buttonContainer.setLayout(buttonLayout);
-	
-			fSelectAllButton= new Button(buttonContainer, SWT.PUSH);
-			fSelectAllButton.setText(WizardMessages.getString("NewTestSuiteWizPage.selectAll")); //$NON-NLS-1$
-			GridData bgd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-			bgd.heightHint = SWTUtil.getButtonHeigthHint(fSelectAllButton);
-			bgd.widthHint = SWTUtil.getButtonWidthHint(fSelectAllButton);
-			fSelectAllButton.setLayoutData(bgd);
-			fSelectAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					fClassesInSuiteTable.setAllChecked(true);
-					handleFieldChanged(CLASSES_IN_SUITE);
-				}
-			});
-	
-			fDeselectAllButton= new Button(buttonContainer, SWT.PUSH);
-			fDeselectAllButton.setText(WizardMessages.getString("NewTestSuiteWizPage.deselectAll")); //$NON-NLS-1$
-			bgd= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-			bgd.heightHint = SWTUtil.getButtonHeigthHint(fDeselectAllButton);
-			bgd.widthHint = SWTUtil.getButtonWidthHint(fDeselectAllButton);
-			fDeselectAllButton.setLayoutData(bgd);
-			fDeselectAllButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					fClassesInSuiteTable.setAllChecked(false);
-					handleFieldChanged(CLASSES_IN_SUITE);
-				}
-			});
-
-			// No of selected classes label
-			fSelectedClassesLabel= new Label(parent, SWT.LEFT | SWT.WRAP);
-			fSelectedClassesLabel.setFont(parent.getFont());
-			updateSelectedClassesLabel();
-			gd = new GridData();
-			gd.horizontalSpan = 2;
-			fSelectedClassesLabel.setLayoutData(gd);
-		}
-	}
-
-	static class ClassesInSuitContentProvider implements IStructuredContentProvider {
-			
-		public Object[] getElements(Object parent) {
-			if (! (parent instanceof IPackageFragment))
-				return new Object[0];
-			IPackageFragment pack= (IPackageFragment) parent;
-			if (! pack.exists())
-				return new Object[0];
-			try {
-				ICompilationUnit[] cuArray= pack.getCompilationUnits();
-				List typesArrayList= new ArrayList();
-				for (int i= 0; i < cuArray.length; i++) {
-					ICompilationUnit cu= cuArray[i];
-					IType[] types= cu.getTypes();
-					for (int j= 0; j < types.length; j++) {
-						IType type= types[j];
-						if (type.isClass() && ! Flags.isAbstract(type.getFlags()) && TestSearchEngine.isTestImplementor(type))	
-							typesArrayList.add(types[j]);
-					}
-				}
-				return typesArrayList.toArray();
-			} catch (JavaModelException e) {
-				JUnitPlugin.log(e);
-				return new Object[0];
-			}
-		}
-		
-		public void dispose() {
-		}
-		
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-
-	/*
-	 * @see TypePage#evalMethods
-	 */
-	protected void createTypeMembers(IType type, ImportsManager imports, IProgressMonitor monitor) throws CoreException {
-		writeImports(imports);
-		if (fMethodStubsButtons.isEnabled() && fMethodStubsButtons.isSelected(0)) 
-			createMain(type);
-		type.createMethod(getSuiteMethodString(), null, false, null);	
-	}
-
-	protected void createMain(IType type) throws JavaModelException {
-		type.createMethod(fMethodStubsButtons.getMainMethod(getTypeName()), null, false, null);	
-	}
-
-	/**
-	 * Returns the string content for creating a new suite() method.
-	 */
-	public String getSuiteMethodString() throws JavaModelException {
-		IPackageFragment pack= getPackageFragment();
-		String packName= pack.getElementName();
-		StringBuffer suite= new StringBuffer("public static Test suite () {TestSuite suite= new TestSuite(\"Test for "+((packName.equals(""))?"default package":packName)+"\");\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		suite.append(getUpdatableString());
-		suite.append("\nreturn suite;}"); //$NON-NLS-1$
-		return suite.toString();
-	}
-	
-	/**
-	 * Returns the new code to be included in a new suite() or which replaces old code in an existing suite().
-	 */
-	public static String getUpdatableString(Object[] selectedClasses) throws JavaModelException {
-		StringBuffer suite= new StringBuffer();
-		suite.append(START_MARKER+"\n"); //$NON-NLS-1$
-		for (int i= 0; i < selectedClasses.length; i++) {
-			if (selectedClasses[i] instanceof IType) {
-				IType testType= (IType) selectedClasses[i];
-				IMethod suiteMethod= testType.getMethod("suite", new String[] {}); //$NON-NLS-1$
-				if (!suiteMethod.exists()) {
-					suite.append("suite.addTestSuite("+testType.getElementName()+".class);"); //$NON-NLS-1$ //$NON-NLS-2$
-				} else {
-					suite.append("suite.addTest("+testType.getElementName()+".suite());"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		}
-		suite.append("\n"+END_MARKER); //$NON-NLS-1$
-		return suite.toString();
-	}
-	
-	private String getUpdatableString() throws JavaModelException {
-		return getUpdatableString(fClassesInSuiteTable.getCheckedElements());
-	}
-
-	/**
-	 * Runnable for replacing an existing suite() method.
-	 */
-	public IRunnableWithProgress getRunnable() {
-		return new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				try {
-					if (monitor == null) {
-						monitor= new NullProgressMonitor();
-					}
-					updateExistingClass(monitor);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} 				
-			}
-		};
-	}
-	
-	protected void updateExistingClass(IProgressMonitor monitor) throws CoreException, InterruptedException {
-		try {
-			IPackageFragment pack= getPackageFragment();
-			ICompilationUnit cu= pack.getCompilationUnit(getTypeName() + ".java"); //$NON-NLS-1$
-			
-			if (!cu.exists()) {
-				createType(monitor);
-				fUpdatedExistingClassButton= false;
-				return;
-			}
-			
-			if (! UpdateTestSuite.checkValidateEditStatus(cu, getShell()))
-				return;
-
-			IType suiteType= cu.getType(getTypeName());
-			monitor.beginTask(WizardMessages.getString("NewTestSuiteWizPage.createType.beginTask"), 10); //$NON-NLS-1$
-			IMethod suiteMethod= suiteType.getMethod("suite", new String[] {}); //$NON-NLS-1$
-			monitor.worked(1);
-			
-			String lineDelimiter= JUnitStubUtility.getLineDelimiterUsed(cu);
-			if (suiteMethod.exists()) {
-				ISourceRange range= suiteMethod.getSourceRange();
-				if (range != null) {
-					IBuffer buf= cu.getBuffer();
-					String originalContent= buf.getText(range.getOffset(), range.getLength());
-					StringBuffer source= new StringBuffer(originalContent);
-					//using JDK 1.4
-					//int start= source.toString().indexOf(START_MARKER) --> int start= source.indexOf(START_MARKER);
-					int start= source.toString().indexOf(START_MARKER);
-					if (start > -1) {
-						//using JDK 1.4
-						//int end= source.toString().indexOf(END_MARKER, start) --> int end= source.indexOf(END_MARKER, start)
-						int end= source.toString().indexOf(END_MARKER, start);
-						if (end > -1) {
-							monitor.subTask(WizardMessages.getString("NewTestSuiteWizPage.createType.updating.suite_method")); //$NON-NLS-1$
-							monitor.worked(1);
-							end += END_MARKER.length();
-							source.replace(start, end, getUpdatableString());
-							buf.replace(range.getOffset(), range.getLength(), source.toString());
-							cu.reconcile();  
-							originalContent= buf.getText(0, buf.getLength());
-							monitor.worked(1);
-							String formattedContent=
-								JUnitStubUtility.codeFormat(originalContent, 0, lineDelimiter);
-							buf.replace(0, buf.getLength(), formattedContent);
-							monitor.worked(1);
-							cu.save(new SubProgressMonitor(monitor, 1), false);
-						} else {
-							cannotUpdateSuiteError();
-						}
-					} else {
-						cannotUpdateSuiteError();
-					}
-				} else {
-					MessageDialog.openError(getShell(), WizardMessages.getString("NewTestSuiteWizPage.createType.updateErrorDialog.title"), WizardMessages.getString("NewTestSuiteWizPage.createType.updateErrorDialog.message")); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			} else {
-				suiteType.createMethod(getSuiteMethodString(), null, true, monitor);
-				ISourceRange range= cu.getSourceRange();
-				IBuffer buf= cu.getBuffer();
-				String originalContent= buf.getText(range.getOffset(), range.getLength());
-				monitor.worked(2);
-				String formattedContent=
-					JUnitStubUtility.codeFormat(originalContent, 0, lineDelimiter);
-				buf.replace(range.getOffset(), range.getLength(), formattedContent);
-				monitor.worked(1);
-				cu.save(new SubProgressMonitor(monitor, 1), false);
-			}
-			monitor.done();
-			fUpdatedExistingClassButton= true;
-		} catch (JavaModelException e) {
-			String title= WizardMessages.getString("NewTestSuiteWizPage.error_tile"); //$NON-NLS-1$
-			String message= WizardMessages.getString("NewTestSuiteWizPage.error_message"); //$NON-NLS-1$
-			ExceptionHandler.handle(e, getShell(), title, message);
-		}
-	}
-
-	/**
-	 * Returns true iff an existing suite() method has been replaced.
-	 */
-	public boolean hasUpdatedExistingClass() {
-		return fUpdatedExistingClassButton;
-	}
-	
-	private IStatus classesInSuiteChanged() {
-		JUnitStatus status= new JUnitStatus();
-		if (fClassesInSuiteTable.getCheckedElements().length <= 0)
-			status.setWarning(WizardMessages.getString("NewTestSuiteWizPage.classes_in_suite.error.no_testclasses_selected")); //$NON-NLS-1$
-		return status;
-	}
-	
-	private void updateSelectedClassesLabel() {
-		int noOfClassesChecked= fClassesInSuiteTable.getCheckedElements().length;
-		String key= (noOfClassesChecked==1) ? "NewTestClassWizPage.treeCaption.classSelected" : "NewTestClassWizPage.treeCaption.classesSelected"; //$NON-NLS-1$ //$NON-NLS-2$
-		fSelectedClassesLabel.setText(WizardMessages.getFormattedString(key, new Integer(noOfClassesChecked)));
-	}
-
-	protected void createSuiteNameControl(Composite composite, int nColumns) {
-		fSuiteNameLabel= new Label(composite, SWT.LEFT | SWT.WRAP);
-		fSuiteNameLabel.setFont(composite.getFont());
-		fSuiteNameLabel.setText(WizardMessages.getString("NewTestSuiteWizPage.suiteName.text")); //$NON-NLS-1$
-		GridData gd= new GridData();
-		gd.horizontalSpan= 1;
-		fSuiteNameLabel.setLayoutData(gd);
-
-		fSuiteNameText= new Text(composite, SWT.SINGLE | SWT.BORDER);
-		// moved up due to 1GEUNW2
-		fSuiteNameText.setEnabled(true);
-		fSuiteNameText.setFont(composite.getFont());
-		fSuiteNameText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				handleFieldChanged(SUITE_NAME);
-			}
-		});
-		gd= new GridData();
-		gd.horizontalAlignment= GridData.FILL;
-		gd.grabExcessHorizontalSpace= true;
-		gd.horizontalSpan= nColumns - 2;
-		fSuiteNameText.setLayoutData(gd);
-		
-		Label space= new Label(composite, SWT.LEFT);
-		space.setText(" "); //$NON-NLS-1$
-		gd= new GridData();
-		gd.horizontalSpan= 1;
-		space.setLayoutData(gd);		
-	}
-	
-	/**
-	 * Gets the type name.
-	 */
-	public String getTypeName() {
-		return (fSuiteNameText==null)?fSuiteNameTextInitialValue:fSuiteNameText.getText();
-	}
-	
-	/**
-	 * Sets the type name.
-	 * @param canBeModified Selects if the type name can be changed by the user
-	 */	
-	public void setTypeName(String name, boolean canBeModified) {
-		if (fSuiteNameText == null) {
-			fSuiteNameTextInitialValue= name;
-		} else {
-			fSuiteNameText.setText(name);
-			fSuiteNameText.setEnabled(canBeModified);
-		}
-	}	
-
-	/**
-	 * Called when the type name has changed.
-	 * The method validates the type name and returns the status of the validation.
-	 * Can be extended to add more validation
-	 */
-	protected IStatus testSuiteChanged() {
-		JUnitStatus status= new JUnitStatus();
-		String typeName= getTypeName();
-		// must not be empty
-		if (typeName.length() == 0) {
-			status.setError(WizardMessages.getString("NewTestSuiteWizPage.typeName.error.name_empty")); //$NON-NLS-1$
-			return status;
-		}
-		if (typeName.indexOf('.') != -1) {
-			status.setError(WizardMessages.getString("NewTestSuiteWizPage.typeName.error.name_qualified")); //$NON-NLS-1$
-			return status;
-		}
-		IStatus val= JavaConventions.validateJavaTypeName(typeName);
-		if (val.getSeverity() == IStatus.ERROR) {
-			status.setError(WizardMessages.getString("NewTestSuiteWizPage.typeName.error.name_not_valid")+val.getMessage()); //$NON-NLS-1$
-			return status;
-		} else if (val.getSeverity() == IStatus.WARNING) {
-			status.setWarning(WizardMessages.getString("NewTestSuiteWizPage.typeName.error.name.name_discouraged")+val.getMessage()); //$NON-NLS-1$
-			// continue checking
-		}		
-
-		JUnitStatus recursiveSuiteInclusionStatus= checkRecursiveTestSuiteInclusion();
-		if (! recursiveSuiteInclusionStatus.isOK())
-			return recursiveSuiteInclusionStatus;
-			
-		IPackageFragment pack= getPackageFragment();
-		if (pack != null) {
-			ICompilationUnit cu= pack.getCompilationUnit(typeName + ".java"); //$NON-NLS-1$
-			if (cu.exists()) {
-				status.setWarning(WizardMessages.getString("NewTestSuiteWizPage.typeName.warning.already_exists")); //$NON-NLS-1$
-				fMethodStubsButtons.setEnabled(false);
-				return status;
-			}
-		}
-		fMethodStubsButtons.setEnabled(true);
-		return status;
-	}
-
-	private JUnitStatus checkRecursiveTestSuiteInclusion(){
-		if (fClassesInSuiteTable == null)
-			return new JUnitStatus();
-		String typeName= getTypeName();
-		JUnitStatus status= new JUnitStatus();
-		Object[] checkedClasses= fClassesInSuiteTable.getCheckedElements();
-		for (int i= 0; i < checkedClasses.length; i++) {
-			IType checkedClass= (IType)checkedClasses[i];
-			if (checkedClass.getElementName().equals(typeName)){
-				status.setWarning(WizardMessages.getString("NewTestSuiteCreationWizardPage.infinite_recursion")); //$NON-NLS-1$
-				return status;
-			}
-		}
-		return new JUnitStatus();
-	}
-
-	/**
-	 * Sets the focus.
-	 */		
-	protected void setFocus() {
-		fSuiteNameText.setFocus();
-	}
-
-	/**
-	 * Sets the classes in <code>elements</code> as checked.
-	 */	
-	public void setCheckedElements(Object[] elements) {
-		fClassesInSuiteTable.setCheckedElements(elements);
-	}
-	
-	protected void cannotUpdateSuiteError() {
-		MessageDialog.openError(getShell(), WizardMessages.getString("NewTestSuiteWizPage.cannotUpdateDialog.title"), //$NON-NLS-1$
-			WizardMessages.getFormattedString("NewTestSuiteWizPage.cannotUpdateDialog.message", new String[] {START_MARKER, END_MARKER})); //$NON-NLS-1$
-
-	}
-
-	private void writeImports(ImportsManager imports) {
-		imports.addImport("junit.framework.Test"); //$NON-NLS-1$
-		imports.addImport("junit.framework.TestSuite");		 //$NON-NLS-1$
-	}
-
-	/**
-	 *	Use the dialog store to restore widget values to the values that they held
-	 *	last time this wizard was used to completion
-	 */
-	private void restoreWidgetValues() {
-		IDialogSettings settings= getDialogSettings();
-		if (settings != null) {
-			boolean generateMain= settings.getBoolean(STORE_GENERATE_MAIN);
-			fMethodStubsButtons.setSelection(0, generateMain);
-			fMethodStubsButtons.setEnabled(1, generateMain);
-			fMethodStubsButtons.setSelection(1,settings.getBoolean(STORE_USE_TESTRUNNER));
-			//The next 2 lines are necessary. Otherwise, if fMethodsStubsButtons is disabled, and USE_TESTRUNNER gets enabled,
-			//then the checkbox for USE_TESTRUNNER will be the only enabled component of fMethodsStubsButton
-			fMethodStubsButtons.setEnabled(!fMethodStubsButtons.isEnabled());
-			fMethodStubsButtons.setEnabled(!fMethodStubsButtons.isEnabled());
-			try {
-				fMethodStubsButtons.setComboSelection(settings.getInt(STORE_TESTRUNNER_TYPE));
-			} catch(NumberFormatException e) {}
-		}		
-	}	
-
-	/**
-	 * 	Since Finish was pressed, write widget values to the dialog store so that they
-	 *	will persist into the next invocation of this wizard page
-	 */
-	void saveWidgetValues() {
-		IDialogSettings settings= getDialogSettings();
-		if (settings != null) {
-			settings.put(STORE_GENERATE_MAIN, fMethodStubsButtons.isSelected(0));
-			settings.put(STORE_USE_TESTRUNNER, fMethodStubsButtons.isSelected(1));
-			settings.put(STORE_TESTRUNNER_TYPE, fMethodStubsButtons.getComboSelection());
-		}
-	}	
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/UpdateTestSuite.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/UpdateTestSuite.java
deleted file mode 100644
index 482f078..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/UpdateTestSuite.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.junit.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.action.IAction;
-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.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-import org.eclipse.jdt.internal.junit.util.CheckedTableSelectionDialog;
-import org.eclipse.jdt.internal.junit.util.ExceptionHandler;
-import org.eclipse.jdt.internal.junit.util.JUnitStatus;
-import org.eclipse.jdt.internal.junit.util.JUnitStubUtility;
-import org.eclipse.jdt.internal.junit.util.Resources;
-
-/**
- * An object contribution action that updates existing AllTests classes.
- */
-public class UpdateTestSuite implements IObjectActionDelegate {
-	private Shell fShell;
-	private IPackageFragment fPack;
-	private ICompilationUnit fTestSuite;
-	private IMethod fSuiteMethod;
-	private static boolean fEmptySelectionAllowed= false;
-	private Object[] fSelectedTestCases;
-
-	private class UpdateAllTestsValidator implements ISelectionStatusValidator {	
-		/*
-		 * @see ISelectionValidator#validate(Object[])
-		 */
-		public IStatus validate(Object[] selection) {
-			int count= 0;
-			for (int i= 0; i < selection.length; i++) {
-				if (selection[i] instanceof IType) {
-					count++;
-				}
-			}
-			if (count == 0 && !fEmptySelectionAllowed) {
-				return new JUnitStatus(IStatus.ERROR, ""); //$NON-NLS-1$
-			}
-			
-			IStatus recursiveInclusionStatus= checkRecursiveSuiteInclusion(selection);
-			if (recursiveInclusionStatus != null && ! recursiveInclusionStatus.isOK())
-				return recursiveInclusionStatus;
-				
-			String message;
-			if (count == 1) {
-				message= WizardMessages.getFormattedString("UpdateAllTests.selected_methods.label_one", new Integer(count)); //$NON-NLS-1$
-			} else {
-				message= WizardMessages.getFormattedString("UpdateAllTests.selected_methods.label_many", new Integer(count)); //$NON-NLS-1$
-			}
-			return new JUnitStatus(IStatus.INFO, message);
-		}
-		
-		private IStatus checkRecursiveSuiteInclusion(Object[] selection){
-			IType suiteClass= fSuiteMethod.getDeclaringType();
-			for (int i= 0; i < selection.length; i++) {
-				if (selection[i] instanceof IType){
-					if (((IType)selection[i]).equals(suiteClass)){
-						return new JUnitStatus(IStatus.WARNING, WizardMessages.getString("UpdateTestSuite.infinite_recursion")); //$NON-NLS-1$
-					}
-				}
-			}
-			return null;
-		}
-	}
-
-	public UpdateTestSuite() {
-		super();
-	}
-
-	/*
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/*
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {		
-		ILabelProvider lprovider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-		IStructuredContentProvider cprovider= new NewTestSuiteCreationWizardPage.ClassesInSuitContentProvider();
-	
-		/* find TestClasses already in Test Suite */
-		IType testSuiteType= fTestSuite.findPrimaryType();
-		fSuiteMethod= testSuiteType.getMethod("suite", new String[] {}); //$NON-NLS-1$
-		if (fSuiteMethod.exists()) {
-			try {
-			ISourceRange range= fSuiteMethod.getSourceRange();
-			IBuffer buf= fTestSuite.getBuffer();
-			String originalContent= buf.getText(range.getOffset(), range.getLength());
-			buf.close();
-			int start= originalContent.indexOf(NewTestSuiteCreationWizardPage.START_MARKER);
-			if (start > -1) {
-				if (originalContent.indexOf(NewTestSuiteCreationWizardPage.END_MARKER, start) > -1) {
-					CheckedTableSelectionDialog dialog= new CheckedTableSelectionDialog(fShell, lprovider, cprovider);
-					dialog.setValidator(new UpdateAllTestsValidator());
-					dialog.setTitle(WizardMessages.getString("UpdateAllTests.title")); //$NON-NLS-1$
-					dialog.setMessage(WizardMessages.getString("UpdateAllTests.message")); //$NON-NLS-1$
-					dialog.setInitialSelections(cprovider.getElements(fPack));
-					dialog.setSize(60, 25);
-					dialog.setInput(fPack);
-					if (dialog.open() == CheckedTableSelectionDialog.OK) {
-						fSelectedTestCases= dialog.getResult();
-						ProgressMonitorDialog progressDialog= new ProgressMonitorDialog(fShell);
-						try {
-							progressDialog.run(false, false, getRunnable());
-						} catch (Exception e) {
-							JUnitPlugin.log(e);
-						}
-					}
-				} else {
-					cannotUpdateSuiteError();
-				}
-			} else {
-				cannotUpdateSuiteError();
-			}
-			} catch (JavaModelException e) {
-				JUnitPlugin.log(e);
-			}
-		} else {
-			noSuiteError();
-		}
-	}
-
-	/*
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		fShell= JUnitPlugin.getActiveWorkbenchShell();		
-		if (selection instanceof IStructuredSelection) {
-			Object testSuiteObj= ((IStructuredSelection) selection).getFirstElement();
-			if (testSuiteObj != null && testSuiteObj instanceof ICompilationUnit) {
-				fTestSuite= (ICompilationUnit) testSuiteObj;
-				IJavaElement packIJE= fTestSuite.getParent();
-				if (packIJE instanceof IPackageFragment) {
-					fPack= (IPackageFragment) packIJE;
-				}
-			}
-		}
-	}
-	
-	private void updateTestCasesInSuite(IProgressMonitor monitor) {
-
-		try {
-			monitor.beginTask(WizardMessages.getString("UpdateAllTests.beginTask"), 5); //$NON-NLS-1$
-			if (! checkValidateEditStatus(fTestSuite, fShell))
-				return;
-				
-			ISourceRange range= fSuiteMethod.getSourceRange();
-			IBuffer buf= fTestSuite.getBuffer();
-			String originalContent= buf.getText(range.getOffset(), range.getLength());
-			StringBuffer source= new StringBuffer(originalContent);
-			//using JDK 1.4
-			//int start= source.toString().indexOf(NewTestSuiteCreationWizardPage.startMarker) --> int start= source.indexOf(NewTestSuiteCreationWizardPage.startMarker)
-			int start= source.toString().indexOf(NewTestSuiteCreationWizardPage.START_MARKER);
-			if (start > -1) {
-				//using JDK 1.4
-				//int end= source.toString().indexOf(NewTestSuiteCreationWizardPage.endMarker, start) --> int end= source.indexOf(NewTestSuiteCreationWizardPage.endMarker, start)
-				int end= source.toString().indexOf(NewTestSuiteCreationWizardPage.END_MARKER, start);
-				if (end > -1) {
-					monitor.worked(1);
-					end += NewTestSuiteCreationWizardPage.END_MARKER.length();
-					//					String updatableCode= source.substring(start,end+NewTestSuiteCreationWizardPage.endMarker.length());
-					source.replace(start, end, NewTestSuiteCreationWizardPage.getUpdatableString(fSelectedTestCases));
-					buf.replace(range.getOffset(), range.getLength(), source.toString());
-					monitor.worked(1);
-					fTestSuite.reconcile();
-					originalContent= buf.getText(0, buf.getLength());
-					monitor.worked(1);
-					String formattedContent=
-						JUnitStubUtility.codeFormat(
-							originalContent,
-							0,
-							JUnitStubUtility.getLineDelimiterUsed(fTestSuite));
-					//buf.replace(range.getOffset(), range.getLength(), formattedContent);
-					buf.replace(0, buf.getLength(), formattedContent);
-					monitor.worked(1);
-					fTestSuite.save(new SubProgressMonitor(monitor, 1), true);
-				}
-			}
-		} catch (JavaModelException e) {
-			ExceptionHandler.handle(e, fShell, WizardMessages.getString("UpdateTestSuite.update"), WizardMessages.getString("UpdateTestSuite.error")); //$NON-NLS-1$ //$NON-NLS-2$
-		} finally{
-			monitor.done();
-		}
-	}
-	
-	static boolean checkValidateEditStatus(ICompilationUnit testSuiteCu, Shell shell){
-		IStatus status= validateModifiesFiles(getTestSuiteFile(testSuiteCu));
-		if (status.isOK())	
-			return true;
-		ErrorDialog.openError(shell, WizardMessages.getString("UpdateTestSuite.update"), WizardMessages.getString("UpdateTestSuite.could_not_update"), status); //$NON-NLS-1$ //$NON-NLS-2$
-		return false;
-	}
-	
-	private static IFile getTestSuiteFile(ICompilationUnit testSuiteCu){
-		if (testSuiteCu.isWorkingCopy())
-			return (IFile)testSuiteCu.getOriginalElement().getResource();
-		else
-			return (IFile)testSuiteCu.getResource();
-	}
-	
-	private static IStatus validateModifiesFiles(IFile fileToModify) {
-		IFile[] filesToModify= {fileToModify};
-		IStatus status= Resources.checkInSync(filesToModify);
-		if (! status.isOK())
-			return status;
-		status= Resources.makeCommittable(filesToModify, null);
-		if (! status.isOK())
-			return status;
-		return new JUnitStatus();
-	}
-
-	public IRunnableWithProgress getRunnable() {
-		return new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				if (monitor == null) {
-					monitor= new NullProgressMonitor();
-				}
-				updateTestCasesInSuite(monitor);
-			}
-		};
-	}
-
-	private void cannotUpdateSuiteError() {
-		MessageDialog.openError(fShell, WizardMessages.getString("UpdateAllTests.cannotUpdate.errorDialog.title"), //$NON-NLS-1$
-			WizardMessages.getFormattedString("UpdateAllTests.cannotUpdate.errorDialog.message", new String[] {NewTestSuiteCreationWizardPage.START_MARKER, NewTestSuiteCreationWizardPage.END_MARKER})); //$NON-NLS-1$
-
-	}
-
-	private void noSuiteError() {
-		MessageDialog.openError(fShell, WizardMessages.getString("UpdateAllTests.cannotFind.errorDialog.title"), WizardMessages.getString("UpdateAllTests.cannotFind.errorDialog.message")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/WizardMessages.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/WizardMessages.java
deleted file mode 100644
index 567158b..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/WizardMessages.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.junit.wizards;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class WizardMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.jdt.internal.junit.wizards.WizardMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE= ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private WizardMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.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.junit/src/org/eclipse/jdt/internal/junit/wizards/WizardMessages.properties b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/WizardMessages.properties
deleted file mode 100644
index 07a562e..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/WizardMessages.properties
+++ /dev/null
@@ -1,132 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Miscellaneous
-#
-Wizard.title.new.testcase=New JUnit Test Case
-Wizard.title.new.testsuite=New JUnit Test Suite
-#
-# CheckedTableSelectionDialog
-#
-CheckedTableSelectionDialog.emptyListMessage=No entries available.
-CheckedTableSelectionDialog.selectAll=&Select All
-CheckedTableSelectionDialog.deselectAll=&Deselect All
-
-#
-# NewTestCaseCreationWizard Page 1
-#
-NewTestClassWizPage.title=JUnit Test Case
-NewTestClassWizPage.description=Select the name of the new JUnit test case. Optionally, specify the class and methods to be tested.
-NewTestClassWizPage.methodStub.testRunner=&Add TestRunner statement for:
-NewTestClassWizPage.methodStub.setUp=set&Up()
-NewTestClassWizPage.methodStub.tearDown=tearDow&n()
-NewTestClassWizPage.methodStub.constructor=&constructor()
-NewTestClassWizPage.method.Stub.label=Which method stubs would you like to create?
-NewTestClassWizPage.class_to_test.label=&Class to test:
-NewTestClassWizPage.class_to_test.browse=B&rowse...
-NewTestClassWizPage.class_to_test.dialog.title=Class to Test
-NewTestClassWizPage.class_to_test.dialog.message=Class for which tests shall be written:
-NewTestClassWizPage.marker.message=\ Implement {0}().
-NewTestClassWizPage.error.superclass.not_exist=Superclass does not exist.
-NewTestClassWizPage.error.superclass.is_interface=Superclass is an interface.
-NewTestClassWizPage.error.superclass.not_implementing_test_interface=Superclass does not implement the ''{0}'' interface.
-NewTestClassWizPage.error.superclass.empty=Super class name is empty
-NewTestClassWizPage.testcase.label=&Name:
-NewTestClassWizPage.error.class_to_test.not_valid=Class to test is not valid.
-NewTestClassWizPage.error.class_to_test.not_exist=Class to test does not exist in current project.
-NewTestClassWizPage.warning.class_to_test.is_interface=Warning: Class to test ''{0}'' is an interface.
-NewTestClassWizPage.warning.class_to_test.not_visible=Warning: {0} ''{1}'' is not visible.
-NewTestClassWizPage.comment.class_to_test=Class to test for {0} {1}
-NewTestClassWizPage.error.junitNotOnbuildpath=junit.jar is not on the project\'s build path. 
-NewTestClassWizPage.info.add_to_classpath=Warning: {0} ''{1}'' is not visible.
-
-Interface=Interface
-Class=Class
-
-#
-# NewTestCaseCreationWizard Page 2
-#
-NewTestClassWizPage2.selected_methods.label_one={0} method selected.
-NewTestClassWizPage2.selected_methods.label_many={0} methods selected.
-NewTestClassWizPage2.title=Test Methods
-NewTestClassWizPage2.description=Select methods for which test method stubs should be created.
-NewTestClassWizPage2.create_tasks.text=Create &tasks for generated test methods
-NewTestClassWizPage2.create_final_method_stubs.text=Create &final method stubs
-NewTestClassWizPage2.create_constructor.text=&Create test case constructor
-NewTestClassWizPage2.methods_tree.label=Available &methods:
-NewTestClassWizPage2.selectAll=&Select All
-NewTestClassWizPage2.deselectAll=&Deselect All
-NewTestClassWizPage2.method.Stub.label=Would you like to create a method stub for main?
-
-#
-# NewTestSuiteCreationWizard
-#
-NewTestSuiteWiz.unsavedchangesDialog.title=Unsaved changes
-NewTestSuiteWiz.unsavedchangesDialog.message={0} contains unsaved changes. Save before updating?
-
-#
-# NewTestSuiteCreationWizard Page
-#
-NewTestSuiteWizPage.title=JUnit Test Suite
-NewTestSuiteWizPage.description=Create a new JUnit Test Suite class for a package
-NewTestSuiteWizPage.classes_in_suite.label=Test &Classes to include in Suite:
-NewTestSuiteWizPage.selectAll=&Select All
-NewTestSuiteWizPage.deselectAll=D&eselect All
-NewTestSuiteWizPage.createType.beginTask=Creating test suite....
-NewTestSuiteWizPage.createType.updating.suite_method=Updating existing suite() method
-NewTestSuiteWizPage.createType.updateErrorDialog.title=Error updating class
-NewTestSuiteWizPage.createType.updateErrorDialog.message=There is no source associated with this class file
-NewTestSuiteWizPage.classes_in_suite.error.no_testclasses_selected=Warning: No Test Classes selected
-NewTestSuiteWizPage.suiteName.text=&Test suite:
-NewTestSuiteWizPage.typeName.error.name_empty=Test suite name is empty
-NewTestSuiteWizPage.typeName.error.name_qualified=Test suite name must not be qualified
-NewTestSuiteWizPage.typeName.error.name_not_valid=Test suite name is not valid. 
-NewTestSuiteWizPage.typeName.error.name.name_discouraged=Warning: Test suite name is discouraged. 
-NewTestSuiteWizPage.typeName.warning.already_exists=Warning: Test suite already exists. suite() method will be replaced.
-NewTestSuiteWizPage.cannotUpdateDialog.title=Cannot update suite() method
-NewTestSuiteWizPage.cannotUpdateDialog.message=The code in suite() that the wizard replaces must start with {0} and end with {1}
-NewTestSuiteWizPage.error_tile=New Test Suite
-NewTestSuiteWizPage.error_message=Creation of new test suite failed:
-NewTestClassWizPage.treeCaption.classSelected={0} class selected
-NewTestClassWizPage.treeCaption.classesSelected={0} classes selected
-NewTestSuiteCreationWizardPage.infinite_recursion=Warning: Adding a test suite as a test case in itself will result in infinite recursion and StackOverflowError
-
-#
-# UpdateTestSuite
-#
-UpdateAllTests.selected_methods.label_one={0} type selected.
-UpdateAllTests.selected_methods.label_many={0} types selected.
-UpdateAllTests.title=Recreate Test Suite
-UpdateAllTests.message=&Test Classes to be included
-UpdateAllTests.beginTask=Recreating suite() method....
-UpdateAllTests.cannotUpdate.errorDialog.title=Cannot recreate suite() method.
-UpdateAllTests.cannotUpdate.errorDialog.message=The code in suite() that the wizard replaces must start with {0} and end with {1}
-UpdateAllTests.cannotFind.errorDialog.title=Cannot find suite() method.
-UpdateAllTests.cannotFind.errorDialog.message=No suite() method could be found.
-
-#
-# JUnitWizard
-#
-NewJUnitWizard.op_error.title=New
-NewJUnitWizard.op_error.message=Creation of element failed.
-
-#
-# ExceptionHandler
-#
-ExceptionDialog.seeErrorLogMessage= See error log for more details.
-UpdateTestSuite.infinite_recursion=Adding suite to itself may result in StackOverflowError
-UpdateTestSuite.error=Error occurred
-UpdateTestSuite.update=Update JUnit Test Suite
-UpdateTestSuite.could_not_update=The test suite could not be updated
-NewTestClassWizPage.not_on_buildpath.title=New Test Case
-NewTestClassWizPage.not_on_buildpath.message=The JUnit library \'junit.jar\' is not on the build path. Do you want to add it?
-NewTestClassWizPage.cannot_add.title=Error
-NewTestClassWizPage.cannot_add.message=Cannot add the junit.jar to the build path
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/ITestRunListener.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/ITestRunListener.java
deleted file mode 100644
index 97a7d3c..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/ITestRunListener.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.junit;
-  
-/**
- * A listener interface for observing the execution of a test run.
- * <p>
- * Clients contributing to the 
- * <code>org.eclipse.jdt.junit.testRunListener</code>
- * extension point implement this interface.
- * </p>
- * 
- * @since 2.1
- */
- public interface ITestRunListener {
-	/**
-   	 * Status constant indicating that a test passed (constant value 0).
- 	 * 
-     * @see #testFailed
- 	 */
- 	public static final int STATUS_OK= 0;
- 	/**
-	 * Status constant indicating that a test had an error an unanticipated
-	 * exception (constant value 1).
- 	 * 
-	 * @see #testFailed
- 	 */
- 	public static final int STATUS_ERROR= 1;
- 	/**
-	 * Status constant indicating that a test failed an assertion
-	 * (constant value 2).
- 	 * 
- 	 * @see #testFailed
-	 */
- 	public static final int STATUS_FAILURE= 2;
- 	/**
- 	 * A test run has started.
- 	 * 
- 	 * @param testCount the number of individual tests that will be run
- 	 */
-	public void testRunStarted(int testCount);
-	/**
- 	 * A test run has ended.
-	 *
-	 * @param elapsedTime the total elapsed time of the test run
-	 */
-	public void testRunEnded(long elapsedTime);
-	/**
-	 * A test run has been stopped prematurely.
-	 *
- 	 * @param elapsedTime the time elapsed before the test run was stopped
-	 */
-	public void testRunStopped(long elapsedTime);
-	/**
-	 * An individual test has started.
-	 * 
-	 * @param testId a unique Id identifying the test
-	 * @param testName the name of the test that started
-	 */
-	public void testStarted(String testId, String testName);
-	/**
-	 * An individual test has ended.
-	 * 
-	 * @param testId a unique Id identifying the test
-	 * @param testName the name of the test that ended
-	 */
-	public void testEnded(String testId, String testName);
-	/**
-	 * An individual test has failed with a stack trace.
-	 * 
-	 * @param testId a unique Id identifying the test
- 	 * @param testName the name of the test that failed
-	 * @param status the outcome of the test; one of 
-	 * {@link #STATUS_ERROR STATUS_ERROR} or
-	 * {@link #STATUS_FAILURE STATUS_FAILURE}
-	 * @param trace the stack trace
-	 */
-	public void testFailed(int status, String testId, String testName, String trace);	
-			
-	/**
-	 * The VM instance performing the tests has terminated.
-	 */
-	public void testRunTerminated();
-	
-	/**
- 	 * An individual test has been rerun.
-	 * 
-	 * @param testId a unique Id identifying the test
-	 * @param testClass the name of the test class that was rerun
-	 * @param testName the name of the test that was rerun
-	 * @param status the outcome of the test that was rerun; one of 
-	 * {@link #STATUS_OK STATUS_OK}, {@link #STATUS_ERROR STATUS_ERROR},
-	 * or {@link #STATUS_FAILURE STATUS_FAILURE}
-	 * @param trace the stack trace in the case of abnormal termination,
-	 * or the empty string if none
-	 */
-	public void testReran(String testId, String testClass, String testName, int status, String trace);
-}
-
-
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/JUnitCore.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/JUnitCore.java
deleted file mode 100644
index 7b5cbbc..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/JUnitCore.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jdt.junit;
-
-import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
-
-/**
- * Class for accessing JUnit support; all functionality is provided by 
- * static methods.
- * </p>
- * 
- * @since 2.1
- */
-public class JUnitCore {
-
-	/**
-	 * Adds a listener for test runs.
-	 * 
-	 * @param listener listener to be added
-	 */
-	public static void addTestRunListener(ITestRunListener listener) {
-		JUnitPlugin.getDefault().addTestRunListener(listener);
-	}
-
-	/**
-	 * Removes a listener for test runs.
-	 * 
-	 * @param listener listener to be removed
-	 */
-	public static void removeTestRunListener(ITestRunListener listener) {
-		JUnitPlugin.getDefault().removeTestRunListener(listener);
-	}
-}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/package.html b/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/package.html
deleted file mode 100644
index 63db8cf..0000000
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/junit/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Application programming interfaces for interaction
-with the Eclipse Java Development Tools JUnit support.
-<h2>
-Package Specification</h2>
-An API to track the execution of a JUnit test run.
-</body>
-</html>
diff --git a/org.eclipse.jdt.ui.examples.javafamily/.classpath b/org.eclipse.jdt.ui.examples.javafamily/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.ui.examples.javafamily/.cvsignore b/org.eclipse.jdt.ui.examples.javafamily/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.jdt.ui.examples.javafamily/.project b/org.eclipse.jdt.ui.examples.javafamily/.project
deleted file mode 100644
index eb3644a..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/.project
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.ui.examples.javafamily</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.core.runtime.compatibility</project>
-		<project>org.eclipse.core.variables</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.debug.ui</project>
-		<project>org.eclipse.jdt.launching</project>
-		<project>org.eclipse.jdt.ui</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.search</project>
-		<project>org.eclipse.text</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.workbench.texteditor</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.jdt.ui.examples.javafamily/ReleaseNotes.html b/org.eclipse.jdt.ui.examples.javafamily/ReleaseNotes.html
deleted file mode 100644
index 8ee466c..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/ReleaseNotes.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Javafamily Release Notes</title></head><body>
-<h1 style="text-align: left;">Release Notes</h1>
-October 6, 2003<br>
-<br>
-The javafamily plug-in is a collection of prototypes that illustrate how
-the existing (mostly Java) infrastructure can be extended to support
-Java-like languages like JSP. Since this is a first cut, the project
-still contains a number of workarounds and duplications. However, it is
-our ultimate goal to eliminate all of these in order to make
-supporting Java-like languages smooth and simple.<br>
-<br>
-This initial release contains:<br>
-<ul>
-  <li>a JSP editor with reconciling,<br>
-  </li>
-  <li>a JSP aware Java search,<br>
-  </li>
-  <li>a JSP aware Rename Type refactoring that uses the new Refactoring Participants.</li>
-  <li>a Tomcat launcher and JSP source locator<br>
-  </li>
-</ul>
-In addition this document contains a collection of findings we made
-while developing the various pieces.<br>
-<h2>Known issues and limitations:</h2>
-<ul>
-  <li>Currently the JSP index isn't persisted and automatic indexing of JSP files is not enabled.
-So if you want to try the Rename Type refactoring or the JSP/Java search, you'll need to turn on
-JSP indexing via Window > Preferences > Java > JavaFamily Example > Start JSP indexing.
-Without this a JSP/Java search or a Rename Type refactoring
-will not find Java types in non-Java resources.</li>
-<li>
-JSP Search works only for types (because JSP indexing is only done for types).
-</li>
-</ul>
-<h2>Reconciling Steps</h2>
-Findings while developing the JSP Editor:<br>
-<ul>
-  <li>JSR-045 specifies a line-oriented mapping between several input
-files
-(translated-source) and one output file (translated-source or
-final-source). The output file can either be the final-source or
-multiple output files (translated-source) can serve as input for a
-next mapping (e.g. MyCustomFormat -&gt; JSP -&gt; Java). Each step
-(language-translator) produces a SMAP file (.smap). The mapping cannot
-be used to exactly map positions inside a line.</li>
-  <li>The compiler aborts compilation if it hits some severe errors.
-Because a JSP line sequence is not necessarily the same as in the
-intermediate Java file it might happen that the compiler stops very
-early on an error that corresponds to a JSP line which is at the very
-end of the file.<br>
-  </li>
-  <li>An annotation position reported on the Java file can correspond to<br>
-  </li>
-  <ul>
-    <li>an annotation in the JSP file with adapted offset and length</li>
-    <li>several annotation in the JSP file either distributed in the
-same Java partition or over several partitions</li>
-    <li>no annotation at all, e.g. if the error is caused by the
-translator or by a wrong Java build path</li>
-  </ul>
-  <li>A JSP file can <span style="font-style: italic;">include</span>
-other JSP files. If an SMAP based approach is used and one of the
-included
-JSP files is opened in the editor then we need to find the correct SMAP
-file.</li>
-  <li>For
-most of the tags in the JSP file it is not possible to
-provide a generic parsing and mapping. This has to be defined for each
-tag. The generated Java code and the mapping are tightly coupled and
-should be kept in a single class that we call tag handler. A tag
-handler might handle more than one tag. </li>
-  <li>Special tags are needed to handle non-tagged sections like HTML
-in a JSP file.<br>
-  </li>
-  <li>The default implementation of the tag handler must be extensible
-in order to allow tag lib providers to extend the handler.</li>
-  <li>Even if we decide to use an existing translator we will have to
-provide tag handlers that can map positions in a translated line back
-to the position in the corresponding source line.</li>
-  <li>Unless we don't build a fully generic editor which can handle
-several file types (e.g. XML, Java and JSP) there's no need to have
-global tag handler factory which manages different languages.</li>
-  <li>Currently only the source line is passed to the tag handler. If
-JSP
-allows that tag (lib) attributes span multiple lines then we must
-change the interface and pass sourceLineStart and sourceLineEnd.<br>
-  </li>
-</ul>
-<h2>Towards Language Neutral Search<br>
-</h2>
-We tried to reuse the Java indexing/searching infrastructure from
-jdt.core for
-non-Java JSP files. This was easily possible for the indexing side,
-because that part makes almost no assumptions about was is being
-indexed. On the other hand, searching was more challenging because the
-search infrastructure makes hardwired assumptions about the type of
-files referenced from the index. So if a file doesn't have the .java
-extensions it is assumed to be a .class file without further checking
-of its extension. As a consequence it was not possible to get *.jsp
-files from a search because the search engine would treat them as class
-files and would run in a NPE.<br>
-<br>
-To solve this issue we created a new package
-"org.eclipse.core.indexsearch" as a starting point for an indexed
-search component. The package provides a minimal but sufficient API for
-indexing/searching non-Java files and uses the existing mechanisms from
-jdt.core as far as possible.<br>
-<br>
-As a first use case for this indexed search we combined the Type Rename
-refactoring participants
-with a JSP search engine based on "org.eclipse.core.indexsearch" and a
-simple JSP parser (org.eclipse.jsp.AbstractJspParser). With this you
-can rename Java types and
-automatically rename all occurrences of the Java type in JSP tags as
-well.<br>
-<br>
-In a second use case&nbsp; we created a new Java/JSP Search page that
-combines the existing Java search with the JSP search. As a result you
-can search for a Java type and can find occurrences not only in Java
-source but in JSP tags as well. The current implementation copies some
-of the classes from "org.eclipse.jdt.internal.ui.search" in order to be
-able to show non-Java files in the Java search result viewer. However,
-the ultimate goal would be to provide a new extension point for Java
-search that would allow for plugging in arbitrary "search
-participants".<br>
-Please note: it is not possible to automatically have
-every Java search return JSP search results as well, because some
-places in Eclipse assume that the search results only contain Java
-source, and they would fail miserably when confronted with non-Java
-files, e.g. JSP files.<br>
-<br>
-<span style="font-weight: bold;">Design considerations for an indexed
-search component:</span><br>
-<ul>
-  <li>language independence</li>
-  <li>a single index and a single indexer thread for all languages</li>
-  <li>minimal API surface area</li>
-  <li>flexible queries</li>
-  <li>background indexing and searching</li>
-  <li>not tied to IResources</li>
-</ul>
-<h3>The API</h3>
-<h4>Search Engine: class <code>SearchEngine</code></h4>
-<ul>
-  <li>API entry point</li>
-  <li>combines indexing API with searching API</li>
-  <li>manages concurrency issues between indexing access and searching</li>
-  <li>indexing based on the JobManager (current impl. delegates to
-jdt.core
-IndexManager)</li>
-  <li>index requests are added as AddFileToIndex subclasses (like today)</li>
-  <li>lifecycle issues: loading/saving index</li>
-  <li>no notion of "Scope"; scope can be introduced as an
-implementation
-detail of the IIndexQuery</li>
-</ul>
-&nbsp; <code>/**<br>
-&nbsp; * Perform the given query against the index
-and return results via the resultCollector.<br>
-&nbsp; */<br>
-&nbsp;public void <span style="font-weight: bold;">search</span>(IIndexQuery
-search,
-ISearchResultCollector resultCollector,<br>
-&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
-IProgressMonitor progressMonitor, int waitingPolicy);<br>
-</code><br>
-<h4>Search query: interface <code>IIndexQuery</code></h4>
-An IIndexQuery is used to perform a query against the searching
-framework.<br>
-<pre>/**<br>&nbsp;* Compute the list of paths which are keying index files and add them to the given list.<br>&nbsp;*/<br>void <span style="font-weight: bold;">computePathsKeyingIndexFiles</span>(ArrayList requiredIndexKeys);<br></pre>
-<pre>/**<br>&nbsp;* Perform the query on the given index and adds the paths of all found documents to the given collector.<br> */<br>void <span style="font-weight: bold;">findIndexMatches</span>(IIndex index, PathCollector collector, IProgressMonitor progressMonitor) throws IOException;<br><br>/**<br>&nbsp;* Locate all matches of this query in the given file candidate and return them via the resultcollector. <br>&nbsp;*/<br>void <span style="font-weight: bold;">locateMatches</span>(IFile candidate, ISearchResultCollector resultCollector);</pre>
-<h4>Search results: interface <code>ISearchResultCollector</code></h4>
-<ul>
-  <li>search results reported via ISearchResultCollector</li>
-</ul>
-<code>/**<br>
-&nbsp;* Accepts the given search result.<br>
-&nbsp;*<br>
-&nbsp;* @param resource the resource in which the
-match has been found<br>
-&nbsp;* @param start the start position of the
-match, -1 if it is unknown<br>
-&nbsp;* @param length the length of the match<br>
-&nbsp;* @exception CoreException if this collector
-had a problem accepting the search result<br>
-&nbsp;*/<br>
-public void <span style="font-weight: bold;">accept</span>(IResource
-resource, int start,
-int length) throws CoreException;<br>
-</code>
-<h3>Open Issues</h3>
-<ul>
-  <li>the PathCollector API has Java-specific methods which are not used</li>
-  <li>Transparent search in WorkingCopies/Buffers: whenever a file
-resource in opened in an Editor, search should transparently search in
-the buffer and not in the underlying resource. Two options to make
-buffers available to SearchEngine:</li>
-  <ul>
-    <li>&nbsp; as argument to search(...) method</li>
-    <li>&nbsp; whenever buffer is created or deleted it is registered
-with the SearchEngine</li>
-  </ul>
-  <li>No common abstraction for the "content" being indexed:<br>
-In the API from above "content" is represented as an IFile in
-locateMatches(...) and an IResource in
-ISearchResultCollector.accept(...). However, to transparently deal with
-"buffers" there seems to be a need for a more abstract interface for
-content access.</li>
-</ul>
-<h2><br>
-  Debugging a JSP</h2>
-<p>This section describes how to launch a Tomcat server and debug a JSP and associated 
-  Java code being developed in a workspace.</p>
-<h3>Tomcat and Project Configuration</h3>
-<p>JSP debugging with the javafamily plug-in requires that you have a local installation 
-  of Tomcat, version 5.0.2 or higher. Tomcat can be configured to locate a web 
-  application in an arbitrary loation. Thus, a web application (JSPs and Java 
-  code) can be developed in an Eclipse workspace, and Tomcat can be configured 
-  to locate the web application in the associated location in the file system.</p>
-<p>A project structure conforming to that of an expanded WAR (Web application 
-  ARchive) is required. Thus, you must create a Java project that contains the 
-  following directory structure.</p>
-<ul>
-  <li><code>root-web-app-folder</code> 
-    <ul>
-      <li><code>WEB-INF</code> 
-        <ul>
-          <li><code>classes</code></li>
-          <li><code>lib</code></li>
-        </ul>
-      </li>
-    </ul>
-  </li>
-</ul>
-<p>A root container is used to store a <code>WEB-INF</code> folder, which contains 
-  a <code>web.xml</code> file describing the web application. Note that the root 
-  container may be a Java project itself. The <code>classes</code> folder contains 
-  any required class files (i.e. client code that is not part of the standard 
-  class libraries, or common libraries shipped with Tomcat). Thus, your Java project 
-  must be configured to have an output location pointing to the <code>classes</code> 
-  folder. Similarly, the <code>lib</code> folder contains any required jars. JSPs 
-  should be developed in the web application's root folder.</p>
-<p>To configure Tomcat to find the web application, a context entry is added to 
-  Tomcat's <code>server.xml</code> configuration file (found in the <code>/conf</code> 
-  directory of your Tomcat installation), for each external web application being 
-  developed. Following is an example extract of context entries for the default 
-  context (identified by the empty <code>path</code> attribute), and a sample 
-  web application being developed in an Eclipse workspace (in this case, rooted 
-  at <code>d:\testspaces\test-space\JSPs\webapps\myWebApp</code>).</p>
-<pre>&lt;Context path="" docBase="ROOT" debug="0"/&gt;<br>&lt;Context path="/myWebApp" docBase="d:\testspaces\test-space\JSPs\webapps\myWebApp" debug="0"/&gt;</pre>
-<p>The corresponding Java project is "<code>JSPs</code>", containing 
-  the folder "<code>webapps</code>", etc. The project may also contain 
-  Java source code (for example, in a "<code>src</code>" folder), and 
-  the output location is set to "<code>JSPs\webapps\myWebApp\WEB-INF\classes</code>". 
-  JSPs are created in the "<code>myWebApp</code>" folder.</p>
-<h3>Example JSP Project</h3>
-<p>An example JSP project is included in the <code>exampleJspProject.zip</code> 
-  file, found in the <code>stuff</code> folder of the <code>javafamily</code> 
-  plug-in. It demonstrates the directory structure and includes a simple JSP and 
-  associated Java class.</p>
-<h3>Setting a Breakpoint in a JSP</h3>
-<p>To create a breakpoint in a JSP, double click in the JSP edtior ruler on the 
-  line where you want the breakpoint. The breakpoint will appear in the <b>Breakpoints</b> 
-  view as well as the editor's vertical ruler. Breakpoints can also be placed 
-  in Java source code.</p>
-<h3>Launching Tomcat</h3>
-<p>To debug a JSP, Tomcat must be launched in debug mode. This can be done with 
-  a "Tomcat Server" launch configuration.</p>
-<p>To create a Tomcat launch configuration for a web application in the workspace, 
-  open the launch configuration dialog, and create a new "Tomcat Server" 
-  launch configuration. You will notice an error message indicating that the Tomcat 
-  install directory or "${catalina_home}" does not exist. To solve this 
-  problem, set the value of the <code>${catalina_home}</code> string variable 
-  in the <b>Run/Debug </b>&gt; <b>String Substitution</b> preference page to the location 
-  of your Tomcat installation. For example, "<code>d:\jakarta-tomcat-5.0.2</code>".</p>
-<p>On the Tomcat tab, also provide the location of your web application - for 
-  example "<code>JSPs\webapps\myWebApp</code>". This can also be done 
-  by pressing the <b>Browse</b> button and selecting the associated web application 
-  root folder in the workspace.</p>
-<p>Now you can launch Tomcat by pressing the <b>Debug</b> button.<br>
-</p>
-<h3>Summary to Debug a JSP</h3>
-<p>The following steps must be performed to debug a JSP</p>
-<ul>
-  <li>Install Tomcat 5.0.2 or higher</li>
-  <li>Set the value of <code>${catalina_home}</code> (<b>Run/Debug</b> &gt; <b>String 
-    Substitution</b> preference page) to point to the Tomcat installation</li>
-  <li>Create a project (web app) in your workspace in the expanded WAR format</li>
-  <li>Ensure the output location of the project is the <code>WEB-INF/classes</code> 
-    folder</li>
-  <li>Configure Tomcat to locate the web app by adding a context entry in the 
-    <code>server.xml</code> file</li>
-  <li>Code JSPs in the web app's root folder</li>
-  <li>Create a Tomcate Server launch configuration that includes the web app location 
-    (located on the "Tomcat" tab of the launch config)</li>
-</ul>
-<pre>&nbsp; </pre>
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.examples.javafamily/about.html b/org.eclipse.jdt.ui.examples.javafamily/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/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.ui.examples.javafamily/build.properties b/org.eclipse.jdt.ui.examples.javafamily/build.properties
deleted file mode 100644
index d185e4a..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/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
-###############################################################################
-source.javafamily.jar = src/
-bin.includes = plugin.xml,\
-               about.html,\
-               icons/,\
-               plugin.properties,\
-               *.jar,\
-               ReleaseNotes.html,\
-               stuff/
-src.includes = about.html
-source.javafamily.jar = src/
diff --git a/org.eclipse.jdt.ui.examples.javafamily/icons/full/clcl16/search_sortmatch.gif b/org.eclipse.jdt.ui.examples.javafamily/icons/full/clcl16/search_sortmatch.gif
deleted file mode 100644
index 9ed470d..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/icons/full/clcl16/search_sortmatch.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/brkp_obj.gif b/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/brkp_obj.gif
deleted file mode 100644
index 06d0079..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/brkp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/jsearch_obj.gif b/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/jsearch_obj.gif
deleted file mode 100644
index ee75bdb..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/jsearch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/jsp_obj.gif b/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/jsp_obj.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/jsp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/tomcat_obj.gif b/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/tomcat_obj.gif
deleted file mode 100644
index 3f18c55..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/icons/full/obj16/tomcat_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.javafamily/plugin.properties b/org.eclipse.jdt.ui.examples.javafamily/plugin.properties
deleted file mode 100644
index 9cb446d..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/plugin.properties
+++ /dev/null
@@ -1,64 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.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= Java Development Tools JavaFamily Example
-providerName= Eclipse.org
-
-##########################################################################
-# Java Search
-##########################################################################
-JavaSearchPage.label= Java/JSP Search
-openJavaSearchPageAction.label= &Java...
-ElementNameSorter.label= &Name
-ElementNameSorter.tooltip= Sort the view by Java Element Name
-ParentNameSorter.label= &Parent Name
-ParentNameSorter.tooltip= Sort the view by Java Element Parent Name
-PathNameSorter.label= P&ath
-PathNameSorter.tooltip= Sort the view by Resource Path
-PositionSorter.label= &Line number
-PositionSorter.tooltip= Sort the view by location
-
-# Action sets
-JavaSearchActionSet.label= Java Search
-JavaSearchActionSet.description= Action set containing search related Java actions
-
-# Menus
-searchMenu.label= Se&arch
-OccurrencesInFile.label=Occurrences in File
-declarationsSubMenu.label= Dec&larations
-referencesSubMenu.label= R&eferences
-implementorsSubMenu.label= &Implementors
-readAccessSubMenu.label= &Read Access
-writeAccessSubMenu.label= &Write Access
-
-ReferencesInWorkspace.label= &Workspace
-DeclarationsInWorkspace.label= &Workspace
-
-InWorkspace.label= &Workspace
-InHierarchy.label= &Hierarchy
-InWorkingSet.label= Working &Set...
-
-##########################################################################
-# JSP Editor
-##########################################################################
-jspEditorName= JSP Editor
-
-##########################################################################
-# Tomcat Launching
-##########################################################################
-tomcatLaunchConfigurationTypeName= Tomcat Server
-catalinaHomeDescription= Root Tomcat installation directory 
-TomcatSourceLocatorName= Tomcat Source Locator
-
-##########################################################################
-# Preference Page
-##########################################################################
-JavaFamilyExamplePreferencePage.name= JavaFamily Example
diff --git a/org.eclipse.jdt.ui.examples.javafamily/plugin.xml b/org.eclipse.jdt.ui.examples.javafamily/plugin.xml
deleted file mode 100644
index bd99692..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/plugin.xml
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-	id="org.eclipse.jdt.ui.examples.javafamily"
-	name="%pluginName"
-	version="3.0.0"
-	provider-name="%providerName"
-	class="org.eclipse.jsp.JspUIPlugin">
-
-	<runtime>
-		<library name="javafamily.jar"/>
-		<!--packages prefixes="org.eclipse.jsp,org.eclipse.core.indexsearch"/-->
-	</runtime>
-      
-	<requires>
-		<import plugin="org.eclipse.core.resources"/>
-		<import plugin="org.eclipse.core.variables"/>
-		<import plugin="org.eclipse.jface"/>
-		<import plugin="org.eclipse.ui"/>
-		<import plugin="org.eclipse.text"/>
-		<import plugin="org.eclipse.jface.text"/>
-		<import plugin="org.eclipse.ui.workbench.texteditor"/>
-		<import plugin="org.eclipse.ui.editors"/>
-		<import plugin="org.eclipse.ui.ide"/>
-		<import plugin="org.eclipse.search"/>
-		<import plugin="org.eclipse.jdt.core"/>
-		<import plugin="org.eclipse.jdt.ui"/>
-		<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.jdt.debug.ui"/>
-		<import plugin="org.eclipse.core.runtime.compatibility"/>
-	    <import plugin="org.eclipse.ltk.core.refactoring"/>
-	</requires>
-
-	<!-- =========================================================================== -->
-	<!-- Refactoring Participant                                                     -->
-	<!-- =========================================================================== -->
-	<extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
-	  <renameParticipant
-	  	id="org.eclipse.jsp.renameParticipant.IType"
-	  	name="org.eclipse.jsp.renameParticipant.IType"
-	  	class="org.eclipse.jsp.RenameTypeParticipant">
-	  	<enablement>
-	  	  <with variable="affectedNatures">
-	  	    <iterate>
-	  	      <equals value="org.eclipse.jdt.core.javanature"/>
-	  	    </iterate>
-	  	  </with>
-	  	  <with variable="element">
-		  	 <instanceof value="org.eclipse.jdt.core.IType"/>
-	  	  </with>
-	  	</enablement>
-	  </renameParticipant>
-	</extension>
-	
-	<!-- =========================================================================== -->
-	<!-- Java Search Page                                                            -->
-	<!-- =========================================================================== -->
-	<extension point="org.eclipse.search.searchPages">
-	   <page id="org.eclipse.jdt.ui.JavaSearchPage2"
-	         icon="icons/full/obj16/jsearch_obj.gif"
-	         label="%JavaSearchPage.label"
-			 sizeHint="460,160"
-			 extensions="java:90, jav:90"
-			 showScopeSection="true"
-			 class="org.eclipse.jdt.internal.ui.search2.JavaSearchPage2">
-	   </page>
-	</extension>
-	
-	<extension point="org.eclipse.search.searchResultSorters">
-		<sorter
-			id="org.eclipse.search.internal.ui.ElementNameSorter"
-			pageId="org.eclipse.jdt.ui.JavaSearchPage2"
-			label="%ElementNameSorter.label"
-			tooltip="%ElementNameSorter.tooltip"
-			icon="icons/full/clcl16/search_sortmatch.gif"
-			class="org.eclipse.jdt.internal.ui.search.ElementNameSorter">
-		</sorter>
-		<sorter
-			id="org.eclipse.search.internal.ui.ParentNameSorter"
-			pageId="org.eclipse.jdt.ui.JavaSearchPage2"
-			label="%ParentNameSorter.label"
-			tooltip="%ParentNameSorter.tooltip"
-			icon="icons/full/clcl16/search_sortmatch.gif"
-			class="org.eclipse.jdt.internal.ui.search.ParentNameSorter">
-		</sorter>
-		<sorter
-			id="org.eclipse.search.internal.ui.PathNameSorter"
-			pageId="org.eclipse.jdt.ui.JavaSearchPage2"
-			label="%PathNameSorter.label"
-			tooltip="%PathNameSorter.tooltip"
-			icon="icons/full/clcl16/search_sortmatch.gif"
-			class="org.eclipse.jdt.internal.ui.search.PathNameSorter">
-		</sorter>
-			<sorter
-			id="org.eclipse.search.internal.ui.MatchPositionSorter"
-			pageId="org.eclipse.jdt.ui.JavaFileSearch2"
-			label="%PositionSorter.label"
-			tooltip="%PositionSorter.tooltip"
-			icon="icons/full/clcl16/search_sortmatch.gif"
-			class="org.eclipse.jdt.internal.ui.search.MatchPositionSorter">
-		</sorter>
-		
-	</extension>
-
-	<!-- =========================================================================== -->
-	<!-- JSP Editor                                                                  -->
-	<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            id="org.eclipse.jdt.ui.examples.JSPEditor"
-            name="%jspEditorName"
-            extensions="jsp"
-            icon="icons/full/obj16/jsp_obj.gif"
-            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
-            class="org.eclipse.jdt.internal.ui.examples.jspeditor.JspEditor"
-            default="true">
-      </editor>
-   </extension>
-   
-	<!-- =========================================================================== -->
-	<!-- Tomcat Launcnhing                                                              -->
-	<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            name="%tomcatLaunchConfigurationTypeName"
-            delegate="org.eclipse.jsp.launching.TomcatLaunchDelegate"
-            modes="run, debug"
-            id="org.eclipse.jsp.TomcatConfigurationType">
-      </launchConfigurationType>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.jsp.TomcatConfigurationType"
-            class="org.eclipse.jsp.launching.TomcatTabGroup"
-            id="org.eclipse.jsp.TomcatTabGroup">
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/tomcat_obj.gif"
-            configTypeID="org.eclipse.jsp.TomcatConfigurationType"
-            id="org.eclipse.jsp.image.Tomcat">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension
-         point="org.eclipse.core.variables.valueVariables">
-      <variable
-            name="catalina_home"
-            description="%catalinaHomeDescription">
-      </variable>
-   </extension>   
-   <extension point="org.eclipse.jdt.launching.classpathProviders">
-   		<classpathProvider
-   			id="org.eclipse.jsp.tomcatClasspathProvider"
-   			class="org.eclipse.jsp.launching.TomcatClasspathProvider">
-   		</classpathProvider>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.eclipse.jdt.ui.examples.JSPEditor"
-            id="org.eclipse.jsp.BreakpointRulerActions">
-         <action
-               label="%Dummy.label"
-               class="org.eclipse.jsp.launching.ToggleJspBreakpointRulerActionDelegate"
-               actionID="RulerDoubleClick"
-               id="org.eclipse.jsp.actions.ToggleJspBreakpointAction">
-         </action>
-      </editorContribution>
-   </extension>
-   
-   	<extension 
-		point="org.eclipse.ui.ide.markerImageProviders">
-		<imageprovider
-			id="org.eclipse.jsp.breakpointMarkerProvider"
-			markertype="org.eclipse.jdt.debug.javaStratumLineBreakpointMarker"
-			icon="icons/full/obj16/brkp_obj.gif">
-		</imageprovider>
-	</extension>
-   
-   <extension
-         point="org.eclipse.debug.core.sourceLocators">
-      <sourceLocator
-            name="%TomcatSourceLocator.name"
-            class="org.eclipse.jsp.launching.TomcatSourceLocator"
-            id="org.eclipse.jsp.TOMCAT_SOURCE_LOCATOR">
-      </sourceLocator>
-   </extension>
-   
-   	<extension
-		point="org.eclipse.ui.preferencePages">
-		<page name="%JavaFamilyExamplePreferencePage.name"
-			id="org.eclipse.jsp.JavaFamilyExamplePreferencePage"
-			class="org.eclipse.jsp.JavaFamilyExamplePreferencePage"
-			category= "org.eclipse.jdt.ui.preferences.JavaBasePreferencePage">
-		</page>	
-	</extension>
-      
-</plugin>
diff --git a/org.eclipse.jdt.ui.examples.javafamily/sample/Date2.java b/org.eclipse.jdt.ui.examples.javafamily/sample/Date2.java
deleted file mode 100644
index abd3330..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/sample/Date2.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Created on May 26, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-
-/**
- * @author weinand
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class Date2 {
-	
-	public int getHours() {
-		return 8;
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/sample/easy.jsp b/org.eclipse.jdt.ui.examples.javafamily/sample/easy.jsp
deleted file mode 100644
index a8a0ac3..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/sample/easy.jsp
+++ /dev/null
@@ -1,29 +0,0 @@
-<%@ page contentType="text/html" %>
-<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
-<html>
-  <head>
-    <title>JSP is Easy</title>
-  </head>
-  <body bgcolor="white">
-  <jsp:useBean id="clock" class="Date2" />
- 
-  <%! int globalCounter= 0; %> 
- 
-    <h1>JSP is as easy as ...</h1>
-
-    <%-- Calculate the sum of 1 + 2 + 3 dynamically --%>
-    1 + 2 + 3 = <c:out value="${1 + 2 + 3}" />
-    
-    <% int i= 4;
-       i= i+1; %>
-       
-	<% if (clock.getHours() < 12) { %>
-		Good morning!
-	<% } else if (clock.getHours() < 17) { %>
-		Good day!
-	<% } else { %>
-		Good evening!
-	<% } %>
- 
-  </body>
-</html>
diff --git a/org.eclipse.jdt.ui.examples.javafamily/scripts/exportplugin.xml b/org.eclipse.jdt.ui.examples.javafamily/scripts/exportplugin.xml
deleted file mode 100644
index 56ebfa5..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/scripts/exportplugin.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<project name="org.eclipse.jdt.ui.examples.javafamily" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.jdt.ui.examples.javafamily" />
-		<property name="version"  value="_3.0.0" />
-		<property name="dest"  value="${destdir}/${plugin}${version}" />
-	</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}/javafamily.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>
-		<zip zipfile="${dest}/javafamilysrc.zip">
-		    <fileset dir="src" />
-  		</zip>				
-	</target>
-</project>
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndex.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndex.java
deleted file mode 100644
index c916900..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndex.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.indexsearch;
-
-import java.util.HashSet;
-
-public interface IIndex {
-
-	void addRef(String word, String path);
-	
-	void remove(String path);
-	
-	void queryPrefix(HashSet result, String prefix);
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndexQuery.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndexQuery.java
deleted file mode 100644
index 3860b33..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndexQuery.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.indexsearch;
-
-import java.io.IOException;
-import java.util.*;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * An IndeyQuery is used to perform a query against the indexing framework.
- */
-public interface IIndexQuery {
-
-	/**
-	 * Compute the list of paths which are keying index files and add them to the given list.
-	 */
-	void computePathsKeyingIndexFiles(ArrayList requiredIndexKeys);
-	
-	/**
-	 * Perform the query on the given index and adds the paths of all found documents to the given collector.
-	 */
-	void findIndexMatches(IIndex index, HashSet collector, IProgressMonitor progressMonitor) throws IOException;
-
-	/**
-	 * Locate all matches of this query in the given file candidate and return them via the resultcollector. 
-	 */
-	void locateMatches(IFile candidate, ISearchResultCollector resultCollector);
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndexer.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndexer.java
deleted file mode 100644
index c9fd26b..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/IIndexer.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.indexsearch;
-
-import java.io.IOException;
-
-public interface IIndexer {
-
-	void index(IIndex index) throws IOException;
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/ISearchResultCollector.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/ISearchResultCollector.java
deleted file mode 100644
index 231919d..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/ISearchResultCollector.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.indexsearch;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A <code>ISearchResultCollector</code> collects search results from a <code>search</code>
- * query to a <code>SearchEngine</code>. Clients must implement this interface and pass
- * an instance to the <code>search(...)</code> methods.
- * <p>
- * The order of the results is unspecified. Clients must not rely on this order to display results, 
- * but they should sort these results.
- * <p>
- * Clients may implement this interface.
- * </p>
- *
- * @see SearchEngine#search
- */
-public interface ISearchResultCollector {
-	
-	/**
-	 * Accepts the given search result.
-	 *
-	 * @param resource the resource in which the match has been found
-	 * @param start the start position of the match, -1 if it is unknown
-	 * @param length the length of the match
-	 * @exception CoreException if this collector had a problem accepting the search result
-	 */
-	public void accept(IResource resource, int start, int length) throws CoreException;
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/SearchEngine.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/SearchEngine.java
deleted file mode 100644
index 1780e3b..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/core/indexsearch/SearchEngine.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.indexsearch;
-
-import java.io.IOException;
-import java.util.*;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-/**
- * A <code>SearchEngine</code> searches for java elements following a search pattern.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- */
-public class SearchEngine {
-	
-	static class MyIndex implements IIndex {
-		
-		private HashMap fMap= new HashMap();
-		
-		public void addRef(String word, String path) {
-			System.err.println("Index.add: " + path + " " + word);
-			HashMap words= (HashMap) fMap.get(path);
-			if (words == null) {
-				words= new HashMap();
-				fMap.put(path, words);
-			}
-			words.put(word, word);
-		}
-		
-		public void remove(String path) {
-			System.err.println("Index.remove: " + path);
-			fMap.remove(path);
-		}
-		
-		public void queryPrefix(HashSet results, String w) {
-			Iterator iter= fMap.keySet().iterator();
-			while (iter.hasNext()) {
-				String path= (String) iter.next();
-				HashMap words= (HashMap) fMap.get(path);
-				if (words.containsKey(w))
-					results.add(path);
-			}
-		}
-	}
-		
-	/* Waiting policies */
-	/**
-	 * The search operation throws an <code>org.eclipse.core.runtime.OperationCanceledException</code>
-	 * if the underlying indexer has not finished indexing the workspace.
-	 */
-	public static int CANCEL_IF_NOT_READY_TO_SEARCH = 0;
-	/**
-	 * The search operation waits for the underlying indexer to finish indexing 
-	 * the workspace before starting the search.
-	 */
-	public static int WAIT_UNTIL_READY_TO_SEARCH = 1;
-
-	
-	private static SearchEngine fgSearchEngine;
-	
-	private HashMap fIndexes= new HashMap();
-		
-	private SearchEngine() {
-	}
-	
-	/**
-	 * 
-	 * @return
-	 */
-	public static SearchEngine getSearchEngine() {
-		if (fgSearchEngine == null)
-			fgSearchEngine= new SearchEngine();
-		return fgSearchEngine;
-	}
-		
-	/**
-	 * Trigger removal of a resource to an index
-	 * Note: the actual operation is performed in background
-	 */
-	public void remove(String resourceName, IPath indexedContainer) {
-		IIndex index= getIndex(indexedContainer, false);
-		if (index != null)
-			index.remove(resourceName);
-	}
-	
-	public void add(IPath indexedContainer, IIndexer indexer) {
-		IIndex index= getIndex(indexedContainer, true);
-		try {
-			indexer.index(index);
-		} catch (IOException e) {
-		}
-	}
-
-	/**
-	 * Returns the files that correspond to the paths that have been collected.
-	 * TODO_SEARCH
-	 */
-	private IFile[] getFiles(HashSet pc, IWorkspace workspace) {
-		IFile[] result= new IFile[pc.size()];
-		int i = 0;
-		for (Iterator iter= pc.iterator(); iter.hasNext();) {
-			String resourcePath= (String)iter.next();
-			IPath path= new Path(resourcePath);
-			result[i++]= workspace.getRoot().getFile(path);
-		}
-		return result;
-	}
-	
-	/**
-	 * Perform the given query against the index and return results via the resultCollector.
-	 */
-	public void search(IIndexQuery search, ISearchResultCollector resultCollector,
-						IProgressMonitor progressMonitor, int waitingPolicy) {
-				
-		HashSet pathCollector= new HashSet();
-		IProgressMonitor pm= progressMonitor == null ? null : new SubProgressMonitor(progressMonitor, 5);
-		execute(search, pathCollector, pm);
-		
-		/* TODO_SEARCH */
-		IFile[] files= getFiles(pathCollector, ResourcesPlugin.getWorkspace());
-		for (int i= 0; i < files.length; i++) {
-			IFile file= files[i];
-			search.locateMatches(file, resultCollector);
-		}
-	}
-
-	public IIndex getIndex(IPath indexPath, boolean create) {
-		IIndex ix= (IIndex) fIndexes.get(indexPath);
-		if (create && ix == null) {
-			ix= new MyIndex();
-			fIndexes.put(indexPath, ix);
-		}
-		return ix;
-	}
-	
-	private boolean execute(IIndexQuery search, HashSet pathCollector, IProgressMonitor progressMonitor) {
-
-		if (progressMonitor != null && progressMonitor.isCanceled())
-			throw new OperationCanceledException();
-		boolean isComplete= true;
-		IIndex[] searchIndexes= getIndexes(search);
-		try {
-			int max= searchIndexes.length;
-			if (progressMonitor != null) {
-				progressMonitor.beginTask("", max); //$NON-NLS-1$
-			}
-			for (int i = 0; i < max; i++) {
-				isComplete &= search(search, searchIndexes[i], pathCollector, progressMonitor);
-				if (progressMonitor != null) {
-					if (progressMonitor.isCanceled()) {
-						throw new OperationCanceledException();
-					} else {
-						progressMonitor.worked(1);
-					}
-				}
-			}
-			return isComplete;
-		} finally {
-			if (progressMonitor != null) {
-				progressMonitor.done();
-			}
-		}
-	}
-	
-	private IIndex[] getIndexes(IIndexQuery search) {
-		IPath[] fIndexKeys= null; // cache of the keys for looking index up
-		if (fIndexKeys == null) {
-			ArrayList requiredIndexKeys= new ArrayList();
-			search.computePathsKeyingIndexFiles(requiredIndexKeys);
-			fIndexKeys= new IPath[requiredIndexKeys.size()];
-			requiredIndexKeys.toArray(fIndexKeys);
-		}
-		// acquire the in-memory indexes on the fly
-		int length = fIndexKeys.length;
-		IIndex[] indexes = new IIndex[length];
-		int count = 0;
-		for (int i = 0; i < length; i++){
-			// may trigger some index recreation work
-			IIndex index = getIndex(fIndexKeys[i], false);
-			if (index != null) indexes[count++] = index; // only consider indexes which are ready yet
-		}
-		if (count != length) {
-			System.arraycopy(indexes, 0, indexes= new IIndex[count], 0, count);
-		}
-		return indexes;
-	}
-
-	private boolean search(IIndexQuery search, IIndex index, HashSet pathCollector, IProgressMonitor progressMonitor) {
-
-		if (progressMonitor != null && progressMonitor.isCanceled())
-			throw new OperationCanceledException();
-
-		if (index == null)
-			return true;
-		try {
-			search.findIndexMatches(index, pathCollector, progressMonitor);
-			return true;
-		} catch (IOException e) {
-			return false;
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/AnnotationAdapter.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/AnnotationAdapter.java
deleted file mode 100644
index 8a053aa..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/AnnotationAdapter.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.ui.examples.jspeditor;
-
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.source.Annotation;
-
-
-/**
- * Adapts a temporary or persitent annotation to a reconcile result.
- * 
- * @since 3.0
- */
-public abstract class AnnotationAdapter implements IReconcileResult {
-
-	/**
-	 * Creates and returns the annotation adapted by this adapter.
-	 * 
-	 * @return an annotation (can be temporary or persistent)
-	 */
-	public abstract Annotation createAnnotation();
-	
-	/**
-	 * The position of the annotation adapted by this adapter.
-	 * 
-	 * @return the position
-	 */
-	public abstract Position getPosition();
-
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/AnnotationTextHover.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/AnnotationTextHover.java
deleted file mode 100644
index 5f26664..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/AnnotationTextHover.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.ui.examples.jspeditor;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-
-/**
- * A simple text hover to show annotation information.
- * 
- * @since 3.0
- */
-public class AnnotationTextHover implements ITextHover {
-
-	/** This hover's annotation model */
-	private IAnnotationModel fModel;
-
-	/**
-	 * Creates a new annotation hover.
-	 * 
-	 * @param model this hover's annotation model
-	 */
-	public AnnotationTextHover(IAnnotationModel model)  {
-		Assert.isNotNull(model);
-		fModel= model;
-	}
-	
-	/*
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
-		
-		Iterator e= fModel.getAnnotationIterator();
-		while (e.hasNext()) {
-			Annotation a= (Annotation) e.next();
-			Position p= fModel.getPosition(a);
-			if (p != null && p.overlapsWith(hoverRegion.getOffset(), hoverRegion.getLength())) {
-				String msg= a.getText();
-				if (msg != null && msg.trim().length() > 0)
-					return msg;
-			}
-		}
-		
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		/*
-		 * XXX: If this is too slow then we might return new Region(offset, 0);
-		 */ 
-		Iterator e= fModel.getAnnotationIterator();
-		while (e.hasNext()) {
-			Annotation a= (Annotation) e.next();
-			Position p= fModel.getPosition(a);
-			if (p.overlapsWith(offset, 0)) {
-				String msg= a.getText();
-				if (msg != null && msg.trim().length() > 0)
-					return new Region(p.offset, p.length);
-			}
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/DefaultAnnotationHover.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/DefaultAnnotationHover.java
deleted file mode 100644
index d873966..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/DefaultAnnotationHover.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.ui.examples.jspeditor;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.ISourceViewer;
-
-
-/**
- * Determines all annotations for the given line, collects,
- * concatenates, and formats their messages.
- * 
- * @since 3.0
- */
-public class DefaultAnnotationHover implements IAnnotationHover {
-
-	/**
-	 * Returns the distance to the ruler line. 
-	 */
-	protected int compareRulerLine(Position position, IDocument document, int line) {
-	
-		if (position.getOffset() > -1 && position.getLength() > -1) {
-			try {
-				int annotationLine= document.getLineOfOffset(position.getOffset());
-				if (line == annotationLine)
-					return 1;
-				if (annotationLine <= line && line <= document.getLineOfOffset(position.getOffset() + position.getLength()))
-					return 2;
-			} catch (BadLocationException x) {
-				// ignored
-			}
-		}
-	
-		return 0;
-	}
-
-	/**
-	 * Selects a set of annotations from the two lists. By default, it just returns
-	 * the set of exact matches.
-	 */
-	protected List select(List exactMatch, List including) {
-		return exactMatch;
-	}
-
-	/**
-	 * Returns annotations for the ruler's line of activity.
-	 */
-	protected List getAnnotationsForLine(ISourceViewer viewer, int line) {
-	
-		IDocument document= viewer.getDocument();
-		IAnnotationModel model= viewer.getAnnotationModel();
-	
-		if (model == null)
-			return null;
-		
-		List exact= new ArrayList();
-		List including= new ArrayList();
-	
-		Iterator e= model.getAnnotationIterator();
-		HashMap messagesAtPosition= new HashMap();
-		while (e.hasNext()) {
-			Object o= e.next();
-
-			if (o instanceof Annotation) {
-			
-				Annotation a= (Annotation)o;
-				
-				Position position= model.getPosition(a);
-				if (position == null)
-					continue;
-
-				if (isDuplicateAnnotation(messagesAtPosition, position, a.getText()))
-					continue;
-
-				switch (compareRulerLine(position, document, line)) {
-					case 1:
-						exact.add(a);
-						break;
-					case 2:
-						including.add(a);
-						break;
-				}
-			}
-		}
-	
-		return select(exact, including);
-	}
-
-	private boolean isDuplicateAnnotation(Map messagesAtPosition, Position position, String message) {
-		if (messagesAtPosition.containsKey(position)) {
-			Object value= messagesAtPosition.get(position);
-			if (message.equals(value))
-				return true;
-
-			if (value instanceof List) {
-				List messages= (List)value;
-				if  (messages.contains(message))
-					return true;
-				else
-					messages.add(message);
-			} else {
-				ArrayList messages= new ArrayList();
-				messages.add(value);
-				messages.add(message);
-				messagesAtPosition.put(position, messages);
-			}
-		} else
-			messagesAtPosition.put(position, message);
-		return false;
-	}
-	
-	/*
-	 * @see IVerticalRulerHover#getHoverInfo(ISourceViewer, int)
-	 */
-	public String getHoverInfo(ISourceViewer sourceViewer, int lineNumber) {
-		List annotations= getAnnotationsForLine(sourceViewer, lineNumber);
-		if (annotations != null) {
-		
-			if (annotations.size() == 1) {
-			
-				// optimization
-				Annotation annotation= (Annotation) annotations.get(0);
-				String message= annotation.getText();
-				if (message != null && message.trim().length() > 0)
-					return formatSingleMessage(message);
-				
-			} else {
-				
-				List messages= new ArrayList();
-			
-				Iterator e= annotations.iterator();
-				while (e.hasNext()) {
-					Annotation annotation= (Annotation) e.next();
-					String message= annotation.getText();
-					if (message != null && message.trim().length() > 0)
-						messages.add(message.trim());
-				}
-			
-				if (messages.size() == 1)
-					return formatSingleMessage((String) messages.get(0));
-				
-				if (messages.size() > 1)
-					return formatMultipleMessages(messages);
-			}
-		}
-	
-		return null;
-	}
-
-	private String formatSingleMessage(String message) {
-		return message;
-	}
-
-	private String formatMultipleMessages(List messages) {
-		StringBuffer buffer= new StringBuffer();
-		Iterator e= messages.iterator();
-		while (e.hasNext())  {
-			buffer.append("- "); //$NON-NLS-1$
-			buffer.append((String) e.next());
-			buffer.append('\n');
-		}
-		return buffer.toString();
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JavaReconcileStep.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JavaReconcileStep.java
deleted file mode 100644
index 229815a..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JavaReconcileStep.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.internal.ui.examples.jspeditor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.AbstractReconcileStep;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.DocumentAdapter;
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.jface.text.source.Annotation;
-
-import org.eclipse.ui.editors.text.EditorsUI;
-
-import org.eclipse.ui.texteditor.AnnotationTypeLookup;
-
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IProblemRequestor;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.WorkingCopyOwner;
-import org.eclipse.jdt.core.compiler.IProblem;
-
-import org.eclipse.jdt.internal.core.BufferManager;
-
-
-/**
- * This reconcile step has a Java source document as 
- * input model and maintains a Java working copy as its model.
- * <p>
- * FIXME: We do not destroy the temporary working copy at the end.
- *         There are two ways to fix this:
- *         1. destroy it after each reconcile call ==> no internal model anylonger
- * 		   2. add life-cycle to reconcile steps (at least dispose/destroy)
- * </p>
- * @since 3.0
- */
-public class JavaReconcileStep extends AbstractReconcileStep {
-
-	private AnnotationTypeLookup fAnnotationTypeLookup= EditorsUI.getAnnotationTypeLookup();
-	
-	private static class TemporaryWorkingCopyOwner extends WorkingCopyOwner  {
-
-
-		/*
-		 * @see org.eclipse.jdt.core.WorkingCopyOwner#createBuffer(org.eclipse.jdt.core.ICompilationUnit)
-		 */
-		public IBuffer createBuffer(ICompilationUnit workingCopy) {
-			// FIXME: Don't know how to get a buffer without using internal API.
-			return new BufferManager().createBuffer(workingCopy);
-		}
-	}
-
-	private class ProblemAdapter extends AnnotationAdapter  {
-		
-		private IProblem fProblem;
-		private Position fPosition;
-		
-		ProblemAdapter(IProblem problem)  {
-			fProblem= problem;
-		}
-
-		public Position getPosition()  {
-			if (fPosition == null)
-				fPosition= createPositionFromProblem();
-			return fPosition;
-		}
-
-		public Annotation createAnnotation() {
-			int start= fProblem.getSourceStart();
-			if (start < 0)
-				return null;
-				
-			int length= fProblem.getSourceEnd() - fProblem.getSourceStart() + 1;
-			if (length < 0)
-				return null;
-
-			int type= IMarker.SEVERITY_INFO;
-			if (fProblem.isError())
-				type= IMarker.SEVERITY_ERROR;
-			else if (fProblem.isWarning())
-				type= IMarker.SEVERITY_WARNING;
-				
-			return new Annotation(fAnnotationTypeLookup.getAnnotationType(IMarker.PROBLEM, type), false, fProblem.getMessage());
-		}
-		
-		private Position createPositionFromProblem() {
-			int start= fProblem.getSourceStart();
-			if (start < 0)
-				return null;
-				
-			int length= fProblem.getSourceEnd() - fProblem.getSourceStart() + 1;
-			if (length < 0)
-				return null;
-				
-			return new Position(start, length);
-		}
-	}
-
-	private class ProblemRequestor implements IProblemRequestor  {
-		
-		private List fCollectedProblems;
-		private boolean fIsActive= false;
-		private boolean fIsRunning= false;
-	
-		/*
-		 * @see IProblemRequestor#beginReporting()
-		 */
-		public void beginReporting() {
-			fIsRunning= true;
-			fCollectedProblems= new ArrayList();
-		}
-		
-		/*
-		 * @see IProblemRequestor#acceptProblem(IProblem)
-		 */
-		public void acceptProblem(IProblem problem) {
-			if (isActive())
-				fCollectedProblems.add(problem);
-		}
-	
-		/*
-		 * @see IProblemRequestor#endReporting()
-		 */
-		public void endReporting() {
-			fIsRunning= false;
-
-// WAS:
-//			if (!isActive())
-//				return;
-//				
-//			if (isCanceled())
-//				return;
-		}
-		
-		public IReconcileResult[] getReconcileResult() {
-			Assert.isTrue(!fIsRunning);
-
-			int size= fCollectedProblems.size();
-			IReconcileResult[] result= new IReconcileResult[size];
-
-			for (int i= 0; i < size; i++)
-				result[i]= new ProblemAdapter((IProblem)fCollectedProblems.get(i));
-			
-			return result;
-		}
-		
-		/*
-		 * @see IProblemRequestor#isActive()
-		 */
-		public boolean isActive() {
-			return fIsActive && fCollectedProblems != null && !isCanceled();
-		}
-		
-		/**
-		 * Sets the active state of this problem requestor.
-		 * 
-		 * @param isActive the state of this problem requestor
-		 */
-		public void setIsActive(boolean isActive) {
-			if (fIsActive != isActive) {
-				fIsActive= isActive;
-				if (fIsActive)
-					startCollectingProblems();
-				else
-					stopCollectingProblems();
-			}
-		}
-
-		/**
-		 * Tells this annotation model to collect temporary problems from now on.
-		 */
-		private void startCollectingProblems() {
-			fCollectedProblems= new ArrayList();
-		}
-
-		/**
-		 * Tells this annotation model to no longer collect temporary problems.
-		 */
-		private void stopCollectingProblems() {
-			// empty implementation
-		}
-	}
-
-	/**
-	 * Adapts an <code>ICompilationUnit</code> to the <code>ITextModel</code> interface.
-	 */
-	class CompilationUnitAdapter implements IReconcilableModel {
-		
-		private ICompilationUnit fCompilationUnit;
-		
-		CompilationUnitAdapter(ICompilationUnit cu) {
-			fCompilationUnit= cu;
-		}
-		
-		private ICompilationUnit getCompilationUnit() {
-			return fCompilationUnit;
-		}
-	}
-
-	private CompilationUnitAdapter fWorkingCopy;
-	private ProblemRequestor fProblemRequestor;
-	private WorkingCopyOwner fTemporaryWorkingCopyOwner;
-
-	/**
-	 * Creates the last reconcile step of the pipe.
-	 */
-	public JavaReconcileStep(IFile jspFile) {
-		Assert.isNotNull(jspFile);
-		fTemporaryWorkingCopyOwner= new TemporaryWorkingCopyOwner();
-		try {
-			fWorkingCopy= new CompilationUnitAdapter(createTemporaryWorkingCopy(jspFile));
-		} catch (JavaModelException e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * Creates an intermediate reconcile step which adds
-	 * the given step to the pipe.
-	 */
-	public JavaReconcileStep(IReconcileStep step, IFile jspFile) {
-		super(step);
-		Assert.isNotNull(jspFile);
-		fTemporaryWorkingCopyOwner= new TemporaryWorkingCopyOwner();
-		try {
-			fWorkingCopy= new CompilationUnitAdapter(createTemporaryWorkingCopy(jspFile));
-		} catch (JavaModelException e) {
-			e.printStackTrace();
-		}
-	}
-
-	/*
-	 * @see AbstractReconcileStep#reconcileModel(DirtyRegion, IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		Assert.isTrue(getInputModel() instanceof DocumentAdapter, "wrong model"); //$NON-NLS-1$
-
-		ICompilationUnit cu= fWorkingCopy.getCompilationUnit(); 
-		// Cannot reconcile if CU could not be built
-		if (cu == null)
-			return null;
-
-		System.out.println("reconciling java model..."); //$NON-NLS-1$
-		
-		IBuffer buffer;
-		try {
-			buffer= cu.getBuffer();
-		} catch (JavaModelException e) {
-			e.printStackTrace();
-			buffer= null;
-		}
-		
-		if (buffer != null)
-			buffer.setContents(((DocumentAdapter)getInputModel()).getDocument().get());
-
-		try {
-			synchronized (cu) {
-				fProblemRequestor.setIsActive(true);
-				cu.reconcile(true, getProgressMonitor());
-			}
-		} catch (JavaModelException ex) {
-			ex.printStackTrace();
-		} finally  {
-			fProblemRequestor.setIsActive(false);
-		}
-
-		return fProblemRequestor.getReconcileResult();
-	}
-
-	/*
-	 * @see AbstractReconcileStep#getModel()
-	 */
-	public IReconcilableModel getModel() {
-		return fWorkingCopy;
-	}
-	
-	/*
-	 * @see org.eclipse.jdt.internal.corext.util.WorkingCopyUtil#getNewWorkingCopy
-	 */
-	private ICompilationUnit createTemporaryWorkingCopy(IFile jspFile) throws JavaModelException {
-
-		IContainer parent= jspFile.getParent();
-		IPackageFragment packageFragment= null;
-		IJavaElement je= JavaCore.create(parent);
-		
-		if (je == null || !je.exists())
-			return null;
-
-		switch (je.getElementType()) {
-			case IJavaElement.PACKAGE_FRAGMENT:
-				je= je.getParent();
-				// fall through
-
-			case IJavaElement.PACKAGE_FRAGMENT_ROOT:
-				IPackageFragmentRoot packageFragmentRoot= (IPackageFragmentRoot)je;
-				packageFragment= packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH);
-				break;
-
-			case IJavaElement.JAVA_PROJECT:
-				IJavaProject jProject= (IJavaProject)je;
-	
-				if (!jProject.exists())  {
-					System.out.println("Abort reconciling: cannot create working copy: JSP is not in a Java project"); //$NON-NLS-1$
-					return null;
-				}
-					
-				packageFragmentRoot= null;
-				IPackageFragmentRoot[] packageFragmentRoots= jProject.getPackageFragmentRoots();
-				int i= 0;
-				while (i < packageFragmentRoots.length) {
-					if (!packageFragmentRoots[i].isArchive() && !packageFragmentRoots[i].isExternal()) {
-						packageFragmentRoot= packageFragmentRoots[i];
-						break;
-					}
-					i++;
-				}
-				if (packageFragmentRoot == null) {
-					System.out.println("Abort reconciling: cannot create working copy: JSP is not in a Java project with source package fragment root"); //$NON-NLS-1$
-					return null;
-				}
-				packageFragment= packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH);
-				break;
-
-			default :
-				return null;
-		}
-		
-		fProblemRequestor= new ProblemRequestor();
-		
-		return packageFragment.getCompilationUnit("Demo.java").getWorkingCopy(fTemporaryWorkingCopyOwner, fProblemRequestor, getProgressMonitor()); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaReconcileStep.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaReconcileStep.java
deleted file mode 100644
index e2165ca..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaReconcileStep.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.ui.examples.jspeditor;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.AbstractReconcileStep;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcilableModel;
-import org.eclipse.jface.text.reconciler.DocumentAdapter;
-import org.eclipse.jface.text.source.ITranslator;
-
-import org.eclipse.jsp.JspTranslator;
-
-/**
- * This reconcile step has a JSP source document as 
- * input model and maintains a document that contains the Java
- * source.
- *
- * @since 3.0
- */
-public class Jsp2JavaReconcileStep extends AbstractReconcileStep {
-	
-	private DocumentAdapter fModel;
-	private ITranslator fJspTranslator;
-
-	/**
-	 * Creates the last reconcile step of the pipe.
-	 */
-	public Jsp2JavaReconcileStep() {
-		initialize();
-	}
-
-	/**
-	 * Creates an intermediate reconcile step which adds
-	 * the given step to the pipe.
-	 */
-	public Jsp2JavaReconcileStep(IReconcileStep step) {
-		super(step);
-		initialize();
-	}
-	
-	protected void initialize()  {
-		fJspTranslator= new JspTranslator();
-		fJspTranslator.setTagHandlerFactory(new Jsp2JavaTagHandlerFactory());
-	}
-
-	/*
-	 * @see AbstractReconcileStep#reconcileModel(DirtyRegion, IRegion)
-	 */
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		Assert.isTrue(getInputModel() instanceof DocumentAdapter, "wrong model"); //$NON-NLS-1$
-
-		System.out.println("reconciling jsp2java..."); //$NON-NLS-1$
-		
-		Reader reader= new StringReader(((DocumentAdapter)fInputModel).getDocument().get());
-		try {
-			String javaSource= fJspTranslator.translate(reader, "Demo"); //$NON-NLS-1$
-			fModel= new DocumentAdapter(new Document(javaSource));
-		} catch (IOException e) {
-			e.printStackTrace();
-			return null;
-		}
-
-		// This reconcile step does not create own results
-		return null;
-	}
-
-	/*
-	 * @see AbstractReconcileStep#getModel()
-	 */
-	public IReconcilableModel getModel() {
-		return fModel;
-	}
-
-	/*
-	 * @see AbstractReconcileStep#convertToInputModel(IReconcileResult[])
-	 */
-	protected IReconcileResult[] convertToInputModel(IReconcileResult[] inputResults) {
-
-		if (inputResults == null)
-			return null;
-
-		// the "only" thing we need to do is to adapt the positions
-		int[] smap= fJspTranslator.getLineMapping();
-
-		for (int i= 0; i < inputResults.length; i++) {				
-		
-			if (isCanceled())
-				return null;
-
-			if (!(inputResults[i] instanceof AnnotationAdapter))
-				continue;
-				
-			AnnotationAdapter result= (AnnotationAdapter)inputResults[i];
-			Position pos= result.getPosition();
-			int javaLine;
-			try {
-				javaLine= fModel.getDocument().getLineOfOffset(pos.offset);
-				
-				// Adjust offset to be relative to line beginning
-				pos.offset -= fModel.getDocument().getLineOffset(javaLine);
-				int relativeLineOffsetInJava= pos.offset;
-
-				int jspLine= smap[javaLine + 1]; // document is 0-based, smap is 1-based
-				
-				// Add Jsp line offset
-				pos.offset += ((DocumentAdapter)getInputModel()).getDocument().getLineOffset(jspLine-1); // document is 0-based, smap is 1-based
-				
-				String jspLineStr= ((DocumentAdapter)getInputModel()).getDocument().get(((DocumentAdapter)getInputModel()).getDocument().getLineOffset(jspLine-1), ((DocumentAdapter)getInputModel()).getDocument().getLineLength(jspLine-1));
-
-				// XXX: Once partitioner is in place the partition can be used to ease section detection
-				int offsetInLine= fJspTranslator.backTranslateOffsetInLine(jspLineStr, null, relativeLineOffsetInJava, null);
-				if (offsetInLine > 0)
-					pos.offset += offsetInLine;
-
-			} catch (BadLocationException e) {
-				e.printStackTrace();
-			}
-		}
-		return inputResults;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaTagHandler.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaTagHandler.java
deleted file mode 100644
index 1135698..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaTagHandler.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.ui.examples.jspeditor;
-
-import java.io.IOException;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.source.ITagHandler;
-import org.eclipse.jface.text.source.ITranslatorResultCollector;
-
-/**
- * 
- * @since 3.0
- */
-public class Jsp2JavaTagHandler implements ITagHandler {
-
-	private boolean fInUseBean;
-	private boolean fInTagLib;
-	private String fTagLibValue;
-	private String fClass;
-	private String fId;
-	private String fSource;
-	private boolean fInDeclaration;
-	private boolean fInJavaSection;
-	
-
-	/*
-	 * @see org.eclipse.jface.text.source.ITagHandler#canHandleTag(java.lang.String)
-	 */
-	public boolean canHandleTag(String tag) {
-		return true;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.ITagHandler#canHandleText(java.lang.String)
-	 */
-	public boolean canHandleText(String text) {
-		return true;
-	}
-
-	public void reset(String startTag)  {
-		fInUseBean= "jsp:useBean".equals(startTag); //$NON-NLS-1$
-		fInTagLib= "c:out".equals(startTag); //$NON-NLS-1$
-		fInJavaSection= "<%".equals(startTag); //$NON-NLS-1$
-		fInDeclaration= "<%!".equals(startTag); //$NON-NLS-1$
-	}
-	/*
-	 * @see org.eclipse.jface.text.source.ITagHandler#addAttribute(java.lang.String, java.lang.String)
-	 */
-	public void addAttribute(String name, String value, int sourceLineNumber) {
-		if (fInUseBean) {
-			if ("id".equals(name)) //$NON-NLS-1$
-				fId= value;
-			else if ("class".equals(name)) //$NON-NLS-1$
-				fClass= value;
-		}
-		if (fInTagLib) {
-			fTagLibValue= value;
-		}
-		if ("source".equals(name)) //$NON-NLS-1$
-			fSource= value;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.ITagHandler#backTranslateOffsetInLine(java.lang.String, int)
-	 */
-	public int backTranslateOffsetInLine(String originalLine, String translatedLine, int offsetInTranslatedLine) {
-		int javaPartitionStart= 0;
-		if (originalLine.indexOf("<%") != -1) //$NON-NLS-1$
-			javaPartitionStart= handleJavaSection(originalLine, offsetInTranslatedLine);
-		else if (originalLine.indexOf("<jsp:useBean id=\"") != -1)  { //$NON-NLS-1$
-			javaPartitionStart= handleUseBeanTag(originalLine, offsetInTranslatedLine);
-		} else if (originalLine.indexOf("<c:out value=\"${") != -1)  { //$NON-NLS-1$
-			javaPartitionStart= handleTagLib(originalLine, offsetInTranslatedLine);
-		}
-		return javaPartitionStart;
-	}
-
-	private int handleJavaSection(String jspLineStr, int relativeLineOffsetInJava)  {
-		return jspLineStr.indexOf("<%") + 3; //$NON-NLS-1$
-	}
-
-	private int handleTagLib(String jspLineStr, int relativeLineOffsetInJava)  {
-		int javaFileOffset= "System.out.println(".length(); //$NON-NLS-1$
-		return jspLineStr.indexOf("<c:out value=\"${") + 16 - javaFileOffset; //$NON-NLS-1$
-	}
-	
-	/*
-	 * This is a good example where the relative line offset in the Java
-	 * document cannot be directly mapped back to Jsp document.
-	 */
-	private int handleUseBeanTag(String jspLineStr, int relativeLineOffsetInJava)  {
-
-		int javaPartitionStart;
-
-		int variableNameStart= jspLineStr.indexOf("<jsp:useBean id=\"") + 17; //$NON-NLS-1$
-		int variableNameLength= Math.max(0, jspLineStr.indexOf('"', variableNameStart) - variableNameStart);
-
-		int typeStart= jspLineStr.indexOf("class=\"") + 7; //$NON-NLS-1$
-		int typeLength= Math.max(0, jspLineStr.indexOf('"', typeStart) - typeStart);
-					
-		if (relativeLineOffsetInJava < typeLength)  {
-			javaPartitionStart= typeStart;
-		} else if (relativeLineOffsetInJava < typeLength + variableNameLength)
-			javaPartitionStart= variableNameStart;
-		else
-			javaPartitionStart= typeStart;
-
-		// start relative to Jsp line start
-		return javaPartitionStart - relativeLineOffsetInJava;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.ITagHandler#processEndTag(ITranslatorResultCollector, int)
-	 */
-	public void processEndTag(ITranslatorResultCollector resultCollector, int sourceLineNumber) throws IOException {
-		Assert.isTrue(resultCollector instanceof JspTranslatorResultCollector);
-
-		JspTranslatorResultCollector jspResultCollector= (JspTranslatorResultCollector)resultCollector;
-		
-		if (fInUseBean) {
-			if (fId != null && fClass != null) {
-				jspResultCollector.appendLocalDeclaration(fClass + " " + fId + "= new " + fClass + "();\n", sourceLineNumber); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				fId= fClass= null;
-			}
-			fInUseBean= false;
-		}
-		if (fInTagLib && fTagLibValue != null) {
-			jspResultCollector.appendContent("System.out.println(" + fTagLibValue.substring(2, fTagLibValue.length() - 1) + ");\n", sourceLineNumber);   //$NON-NLS-1$ //$NON-NLS-2$
-			fTagLibValue= null;
-			fInTagLib= false;
-		}
-		if (fInJavaSection)  {
-			int i= 0;
-			StringBuffer out= new StringBuffer();
-			while (i < fSource.length()) {
-				char c= fSource.charAt(i++);
-				if (c == '\n') {
-					jspResultCollector.appendContent(out.toString() + "\n", sourceLineNumber++); //$NON-NLS-1$
-					out.setLength(0);
-				} else {
-					out.append(c);	
-				}
-			}
-			if (out.length() > 0)  {
-				jspResultCollector.appendContent(out.toString() + "\n", sourceLineNumber); //$NON-NLS-1$
-			}
-		}
-		if (fInDeclaration)  {
-			int i= 0;
-			StringBuffer out= new StringBuffer();
-			while (i < fSource.length()) {
-				char c= fSource.charAt(i++);
-				if (c == '\n') {
-					jspResultCollector.appendDeclaration(out.toString() + "\n", sourceLineNumber++); //$NON-NLS-1$
-					out.setLength(0);
-				} else {
-					out.append(c);	
-				}
-			}
-			if (out.length() > 0)  {
-				jspResultCollector.appendDeclaration(out.toString() + "\n", sourceLineNumber); //$NON-NLS-1$
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaTagHandlerFactory.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaTagHandlerFactory.java
deleted file mode 100644
index 4cd8b82..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/Jsp2JavaTagHandlerFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.internal.ui.examples.jspeditor;
-
-import org.eclipse.jface.text.source.ITagHandler;
-import org.eclipse.jface.text.source.ITagHandlerFactory;
-
-/**
- * First cut of JSP to Java tag handler factory.
- * Only one handler is used to do the job.
- * 
- * @since 3.0
- */
-public class Jsp2JavaTagHandlerFactory implements ITagHandlerFactory {
-	
-	private ITagHandler fTagHandler= new Jsp2JavaTagHandler();
-
-	/*
-	 * @see org.eclipse.jface.text.source.IHandlerFactory#getHandler(java.lang.String)
-	 */
-	public ITagHandler getHandler(String tag) {
-		fTagHandler.reset(tag);
-		return fTagHandler;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.IHandlerFactory#findHandler(java.lang.String)
-	 */
-	public ITagHandler findHandler(String text) {
-		return fTagHandler;
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspEditor.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspEditor.java
deleted file mode 100644
index 5a5f001..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspEditor.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.ui.examples.jspeditor;
-
-import org.eclipse.jface.text.source.IAnnotationAccess;
-
-import org.eclipse.ui.editors.text.FileDocumentProvider;
-import org.eclipse.ui.editors.text.TextEditor;
-
-import org.eclipse.ui.texteditor.DefaultMarkerAnnotationAccess;
-
-
-/**
- * A simple JSP Editor.
- * 
- * @since 3.0
- */
-public class JspEditor extends TextEditor {
-
-	/**
-	 * Creates a new JSP editor.
-	 */
-	public JspEditor() {
-		super();
-		setSourceViewerConfiguration(new JspSourceViewerConfiguration(this));
-		setDocumentProvider(new FileDocumentProvider());
-		
-		
-		/*
-		 * FIXME:
-		 * This would be the right thing to do. Currently
-		 * we share the preferences with the text editor.
-		 */
-//		setPreferenceStore(JspUIPlugin.getDefault().getPreferenceStore());
-	}
-
-	/*
-	 * @see TextEditor#createAnnotationAccess()
-	 */
-	protected IAnnotationAccess createAnnotationAccess() {
-		return new DefaultMarkerAnnotationAccess();
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspReconcilingStrategy.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspReconcilingStrategy.java
deleted file mode 100644
index d3f9e28..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspReconcilingStrategy.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.internal.ui.examples.jspeditor;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-import org.eclipse.jface.text.reconciler.IReconcileResult;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension;
-import org.eclipse.jface.text.reconciler.DocumentAdapter;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.ISourceViewer;
-
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Reconciling strategy for Java parts in JSP files.
- *
- * @since 3.0
- */
-public class JspReconcilingStrategy implements IReconcilingStrategy, IReconcilingStrategyExtension {
-
-	private IReconcileStep fFirstStep;
-	private ITextEditor fTextEditor;
-	private IProgressMonitor fProgressMonitor;
-	
-	public JspReconcilingStrategy(ISourceViewer sourceViewer, ITextEditor textEditor) {
-		fTextEditor= textEditor;
-		IReconcileStep javaReconcileStep= new JavaReconcileStep(getFile());
-		fFirstStep= new Jsp2JavaReconcileStep(javaReconcileStep);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#setDocument(org.eclipse.jface.text.IDocument)
-	 */
-	public void setDocument(IDocument document) {
-		fFirstStep.setInputModel(new DocumentAdapter(document));
-	}
-	
-	/*
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.reconciler.DirtyRegion, org.eclipse.jface.text.IRegion)
-	 */
-	public void reconcile(DirtyRegion dirtyRegion, IRegion subRegion) {
-		removeTemporaryAnnotations();
-		process(fFirstStep.reconcile(dirtyRegion, subRegion));
-	}
-	
-	/*
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.IRegion)
-	 */
-	public void reconcile(IRegion partition) {
-		removeTemporaryAnnotations();
-		process(fFirstStep.reconcile(partition));
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void setProgressMonitor(IProgressMonitor monitor) {
-		fFirstStep.setProgressMonitor(monitor);
-		fProgressMonitor= monitor;
-		
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#initialReconcile()
-	 */
-	public void initialReconcile() {
-		fFirstStep.reconcile(null);
-		
-	}
-
-	private void process(final IReconcileResult[] results) {
-		
-		if (results == null)
-			return;
-
-		IRunnableWithProgress runnable= new WorkspaceModifyOperation(null) 	 {
-			/*
-			 * @see org.eclipse.ui.actions.WorkspaceModifyOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-				for (int i= 0; i < results.length; i++) {				
-
-					if (fProgressMonitor != null && fProgressMonitor.isCanceled())
-						return;
-		
-					if (!(results[i] instanceof AnnotationAdapter))
-						continue;
-				
-					AnnotationAdapter result= (AnnotationAdapter)results[i];
-					Position pos= result.getPosition();
-					
-					Annotation annotation= result.createAnnotation();
-					getAnnotationModel().addAnnotation(annotation, pos);
-				}
-			}
-		};
-		try {
-			runnable.run(null);
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	private IAnnotationModel getAnnotationModel()  {
-		return fTextEditor.getDocumentProvider().getAnnotationModel(fTextEditor.getEditorInput());
-	}
-
-	/*
-	 * XXX: A "real" implementation must be smarter
-	 * 		i.e. don't remove and add the annotations
-	 * 		which are the same.
-	 */	
-	private void removeTemporaryAnnotations() {
-		Iterator iter= getAnnotationModel().getAnnotationIterator();
-		while (iter.hasNext())  {
-			Object annotation= iter.next();
-			if (annotation instanceof Annotation)  {
-				Annotation extension= (Annotation)annotation;
-					if (!extension.isPersistent())
-						getAnnotationModel().removeAnnotation((Annotation)annotation);
-			}
-		}
-	}
-
-	private IFile getFile() {
-		IEditorInput input= fTextEditor.getEditorInput();
-		if (!(input instanceof IFileEditorInput))
-			return null;
-		
-		return ((IFileEditorInput)input).getFile();			
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspSourceViewerConfiguration.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspSourceViewerConfiguration.java
deleted file mode 100644
index 36c000b..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspSourceViewerConfiguration.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.ui.examples.jspeditor;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.MonoReconciler;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-
-import org.eclipse.ui.texteditor.ITextEditor;
-
-
-/**
- * Configuration information for a simple JSP source viewer.
- * 
- * @since 3.0
- */
-public class JspSourceViewerConfiguration extends SourceViewerConfiguration {
-
-	private ITextEditor fTextEditor;
-
-	/**
-	 * Creates a new JSP source viewer configuration that behaves
-	 * according to the specification of this class' methods.
-	 */
-	public JspSourceViewerConfiguration(ITextEditor textEditor) {
-		fTextEditor= textEditor;
-	}
-	
-	/*
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getReconciler(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IReconciler getReconciler(ISourceViewer sourceViewer) {
-		IReconcilingStrategy reconcilingStrategy= new JspReconcilingStrategy(sourceViewer, fTextEditor);
-		MonoReconciler reconciler= new MonoReconciler(reconcilingStrategy, false);
-		reconciler.setProgressMonitor(new NullProgressMonitor());		
-		reconciler.setDelay(500);
-		return reconciler;
-	}
-
-	/*
-	 * @see SourceViewerConfiguration#getAnnotationHover(ISourceViewer)
-	 */
-	public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
-		return new DefaultAnnotationHover();
-	}
-
-	/*
-	 * @see SourceViewerConfiguration#getTextHover(ISourceViewer, String)
-	 */
-	public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {
-		return new AnnotationTextHover(fTextEditor.getDocumentProvider().getAnnotationModel(fTextEditor.getEditorInput()));
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspTranslatorResultCollector.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspTranslatorResultCollector.java
deleted file mode 100644
index 7cd1582..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/examples/jspeditor/JspTranslatorResultCollector.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.ui.examples.jspeditor;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.text.source.ITranslatorResultCollector;
-
-/**
- * Collects the result for the JspTranslator.
- * 
- * @since 3.0
- */
-public class JspTranslatorResultCollector implements ITranslatorResultCollector {
-
-	private StringBuffer fDeclarations= new StringBuffer();
-	private StringBuffer fContent= new StringBuffer();
-	private StringBuffer fLocalDeclarations= new StringBuffer();
-	
-	private ArrayList fContentLines= new ArrayList();
-	private ArrayList fDeclarationLines= new ArrayList();
-	private ArrayList fLocalDeclarationLines= new ArrayList();
-
-	/**
-	 * @param declarations
-	 * @param localDeclarations
-	 * @param content
-	 * @param declarationLines
-	 * @param localDeclarationLines
-	 * @param contentLines
-	 */
-	public JspTranslatorResultCollector(StringBuffer declarations, StringBuffer localDeclarations, StringBuffer content, ArrayList declarationLines, ArrayList localDeclarationLines, ArrayList contentLines) {
-		fDeclarations= declarations;
-		fLocalDeclarations= localDeclarations;
-		fContent= content;
-		fDeclarationLines= declarationLines;
-		fLocalDeclarationLines= localDeclarationLines;
-		fContentLines= contentLines;
-	}
-
-	// XXX: In the real world we would need to pass a list of line numbers
-	public void appendDeclaration(String string, int lineNumber)  {
-		fDeclarations.append(string);
-		fDeclarationLines.add(new Integer(lineNumber));
-	}
-
-	// XXX: In the real world we would need to pass a list of line numbers
-	public void appendLocalDeclaration(String string, int lineNumber)  {
-		fLocalDeclarations.append(string);
-		fLocalDeclarationLines.add(new Integer(lineNumber));
-	}
-
-	// XXX: In the real world we would need to pass a list of line numbers
-	public void appendContent(String string, int lineNumber)  {
-		fContent.append(string);
-		fContentLines.add(new Integer(lineNumber));
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchOperation.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchOperation.java
deleted file mode 100644
index 0955b93..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchOperation.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.ui.search2;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jsp.*;
-import org.eclipse.jsp.JspTypeQuery;
-
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-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.ui.JavaUI;
-
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.search.PrettySignature;
-import org.eclipse.jdt.internal.ui.search.SearchMessages;
-
-
-public class JavaSearchOperation extends WorkspaceModifyOperation {
-	
-	private IWorkspace fWorkspace;
-	private IJavaElement fElementPattern;
-	private int fLimitTo;
-	private String fStringPattern;
-	private boolean fIsCaseSensitive;
-	private int fSearchFor;
-	private IJavaSearchScope fScope;
-	private String fScopeDescription;
-	private JavaSearchResultCollector fCollector;
-	
-	protected JavaSearchOperation(
-				IWorkspace workspace,
-				int limitTo,
-				IJavaSearchScope scope,
-				String scopeDescription,
-				JavaSearchResultCollector collector) {
-		super(null);
-		fWorkspace= workspace;
-		fLimitTo= limitTo;
-		fScope= scope;
-		fScopeDescription= scopeDescription;
-		fCollector= collector;
-		fCollector.setOperation(this);
-	}
-	
-	public JavaSearchOperation(
-				IWorkspace workspace,
-				IJavaElement pattern,
-				int limitTo,
-				IJavaSearchScope scope,
-				String scopeDescription,
-				JavaSearchResultCollector collector) {
-		this(workspace, limitTo, scope, scopeDescription, collector);
-		fElementPattern= pattern;
-	}
-	
-	public JavaSearchOperation(
-				IWorkspace workspace,
-				String pattern,
-				boolean caseSensitive,
-				int searchFor, 
-				int limitTo,
-				IJavaSearchScope scope,
-				String scopeDescription,
-				JavaSearchResultCollector collector) {
-		this(workspace, limitTo, scope, scopeDescription, collector);
-		fStringPattern= pattern;
-		fIsCaseSensitive= caseSensitive;
-		fSearchFor= searchFor;
-	}
-	
-	protected void execute(IProgressMonitor monitor) throws CoreException {
-		fCollector.setProgressMonitor(monitor);
-		
-		// A hack to temporarily disable the aboutToStart and done methods
-		IJavaSearchResultCollector collector= new IJavaSearchResultCollector() {
-			public void aboutToStart() {
-				// empty implementation
-			}
-			public void accept(IResource resource, int start, int end, IJavaElement enclosingElement, int accuracy) throws CoreException {
-				fCollector.accept(resource, start, end, enclosingElement, accuracy);
-			}
-			public void done() {
-				// empty implementation
-			}
-			public IProgressMonitor getProgressMonitor() {
-				return fCollector.getProgressMonitor();
-			}
-		};
-		
-		fCollector.aboutToStart();
-
-		// Also search working copies
-		SearchEngine engine= new SearchEngine(JavaUI.getSharedWorkingCopiesOnClasspath());
-		
-		if (fElementPattern != null)
-			engine.search(fWorkspace, fElementPattern, fLimitTo, fScope, collector);
-		else
-			engine.search(fWorkspace, SearchEngine.createSearchPattern(fStringPattern, fSearchFor, fLimitTo, fIsCaseSensitive), fScope, collector);
-
-		if (fElementPattern instanceof IType)
-			JspSearchEngine.search(collector, new JspTypeQuery((IType)fElementPattern), monitor);
-			
-		fCollector.done();
-	}
-
-	String getSingularLabel() {
-		String desc= null;
-		if (fElementPattern != null) {
-			if (fLimitTo == IJavaSearchConstants.REFERENCES
-			&& fElementPattern.getElementType() == IJavaElement.METHOD)
-				desc= PrettySignature.getUnqualifiedMethodSignature((IMethod)fElementPattern);
-			else
-				desc= fElementPattern.getElementName();
-			if ("".equals(desc) && fElementPattern.getElementType() == IJavaElement.PACKAGE_FRAGMENT) //$NON-NLS-1$
-				desc= SearchMessages.getString("JavaSearchOperation.default_package"); //$NON-NLS-1$
-		}
-		else
-			desc= fStringPattern;
-
-		String[] args= new String[] {desc, fScopeDescription}; //$NON-NLS-1$
-		switch (fLimitTo) {
-			case IJavaSearchConstants.IMPLEMENTORS:
-				return SearchMessages.getFormattedString("JavaSearchOperation.singularImplementorsPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.DECLARATIONS:
-				return SearchMessages.getFormattedString("JavaSearchOperation.singularDeclarationsPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.REFERENCES:
-				return SearchMessages.getFormattedString("JavaSearchOperation.singularReferencesPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.ALL_OCCURRENCES:
-				return SearchMessages.getFormattedString("JavaSearchOperation.singularOccurrencesPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.READ_ACCESSES:
-				return SearchMessages.getFormattedString("JavaSearchOperation.singularReadReferencesPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.WRITE_ACCESSES:
-				return SearchMessages.getFormattedString("JavaSearchOperation.singularWriteReferencesPostfix", args); //$NON-NLS-1$
-			default:
-				return SearchMessages.getFormattedString("JavaSearchOperation.singularOccurrencesPostfix", args); //$NON-NLS-1$;
-		}
-	}
-
-	String getPluralLabelPattern() {
-		String desc= null;
-		if (fElementPattern != null) {
-			if (fLimitTo == IJavaSearchConstants.REFERENCES
-			&& fElementPattern.getElementType() == IJavaElement.METHOD)
-				desc= PrettySignature.getUnqualifiedMethodSignature((IMethod)fElementPattern);
-			else
-				desc= fElementPattern.getElementName();
-			if ("".equals(desc) && fElementPattern.getElementType() == IJavaElement.PACKAGE_FRAGMENT) //$NON-NLS-1$
-				desc= SearchMessages.getString("JavaSearchOperation.default_package"); //$NON-NLS-1$
-		}
-		else
-			desc= fStringPattern;
-
-		String[] args= new String[] {desc, "{0}", fScopeDescription}; //$NON-NLS-1$
-		switch (fLimitTo) {
-			case IJavaSearchConstants.IMPLEMENTORS:
-				return SearchMessages.getFormattedString("JavaSearchOperation.pluralImplementorsPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.DECLARATIONS:
-				return SearchMessages.getFormattedString("JavaSearchOperation.pluralDeclarationsPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.REFERENCES:
-				return SearchMessages.getFormattedString("JavaSearchOperation.pluralReferencesPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.ALL_OCCURRENCES:
-				return SearchMessages.getFormattedString("JavaSearchOperation.pluralOccurrencesPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.READ_ACCESSES:
-				return SearchMessages.getFormattedString("JavaSearchOperation.pluralReadReferencesPostfix", args); //$NON-NLS-1$
-			case IJavaSearchConstants.WRITE_ACCESSES:
-				return SearchMessages.getFormattedString("JavaSearchOperation.pluralWriteReferencesPostfix", args); //$NON-NLS-1$
-			default:
-				return SearchMessages.getFormattedString("JavaSearchOperation.pluralOccurrencesPostfix", args); //$NON-NLS-1$;
-		}
-	}
-	
-	ImageDescriptor getImageDescriptor() {
-		if (fLimitTo == IJavaSearchConstants.IMPLEMENTORS || fLimitTo == IJavaSearchConstants.DECLARATIONS)
-			return JavaPluginImages.DESC_OBJS_SEARCH_DECL;
-		else
-			return JavaPluginImages.DESC_OBJS_SEARCH_REF;
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchPage2.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchPage2.java
deleted file mode 100644
index 86c9550..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchPage2.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.ui.search2;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.IAdaptable;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.jface.text.ITextSelection;
-
-import org.eclipse.jsp.JspUIPlugin;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-import org.eclipse.search.ui.ISearchPage;
-import org.eclipse.search.ui.ISearchPageContainer;
-import org.eclipse.search.ui.ISearchResultViewEntry;
-import org.eclipse.search.ui.SearchUI;
-
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IImportDeclaration;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMethod;
-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.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-
-import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
-
-import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.actions.SelectionConverter;
-import org.eclipse.jdt.internal.ui.browsing.LogicalPackage;
-import org.eclipse.jdt.internal.ui.search.JavaSearchScopeFactory;
-import org.eclipse.jdt.internal.ui.search.PrettySignature;
-import org.eclipse.jdt.internal.ui.search.SearchMessages;
-import org.eclipse.jdt.internal.ui.search.SearchUtil;
-import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
-import org.eclipse.jdt.internal.ui.util.RowLayouter;
-
-public class JavaSearchPage2 extends DialogPage implements ISearchPage, IJavaSearchConstants {
-
-	public static final String EXTENSION_POINT_ID= "org.eclipse.jdt.ui.JavaSearchPage"; //$NON-NLS-1$
-
-	// Dialog store id constants
-	private final static String PAGE_NAME= "JavaSearchPage"; //$NON-NLS-1$
-	private final static String STORE_CASE_SENSITIVE= PAGE_NAME + "CASE_SENSITIVE"; //$NON-NLS-1$
-
-
-	private static List fgPreviousSearchPatterns= new ArrayList(20);
-
-	private SearchPatternData fInitialData;
-	private IStructuredSelection fStructuredSelection;
-	private IJavaElement fJavaElement;
-	private boolean fFirstTime= true;
-	private IDialogSettings fDialogSettings;
-	private boolean fIsCaseSensitive;
-	
-	private Combo fPattern;
-	private ISearchPageContainer fContainer;
-	private Button fCaseSensitive;
-	
-	private Button[] fSearchFor;
-	private String[] fSearchForText= {
-		SearchMessages.getString("SearchPage.searchFor.type"), //$NON-NLS-1$
-		SearchMessages.getString("SearchPage.searchFor.method"), //$NON-NLS-1$
-		SearchMessages.getString("SearchPage.searchFor.package"), //$NON-NLS-1$
-		SearchMessages.getString("SearchPage.searchFor.constructor"), //$NON-NLS-1$
-		SearchMessages.getString("SearchPage.searchFor.field")}; //$NON-NLS-1$
-
-	private Button[] fLimitTo;
-	private String[] fLimitToText= {
-		SearchMessages.getString("SearchPage.limitTo.declarations"), //$NON-NLS-1$
-		SearchMessages.getString("SearchPage.limitTo.implementors"), //$NON-NLS-1$
-		SearchMessages.getString("SearchPage.limitTo.references"), //$NON-NLS-1$
-		SearchMessages.getString("SearchPage.limitTo.allOccurrences"), //$NON-NLS-1$
-		SearchMessages.getString("SearchPage.limitTo.readReferences"), //$NON-NLS-1$		
-		SearchMessages.getString("SearchPage.limitTo.writeReferences")}; //$NON-NLS-1$
-
-
-	private static class SearchPatternData {
-		int			searchFor;
-		int			limitTo;
-		String			pattern;
-		boolean		isCaseSensitive;
-		IJavaElement	javaElement;
-		int			scope;
-		IWorkingSet[]	 	workingSets;
-		
-		public SearchPatternData(int s, int l, boolean i, String p, IJavaElement element) {
-			this(s, l, p, i, element, ISearchPageContainer.WORKSPACE_SCOPE, null);
-		}
-		
-		public SearchPatternData(int s, int l, String p, boolean i, IJavaElement element, int scope0, IWorkingSet[] workingSets0) {
-			searchFor= s;
-			limitTo= l;
-			pattern= p;
-			isCaseSensitive= i;
-			javaElement= element;
-			this.scope= scope0;
-			this.workingSets= workingSets0;
-		}
-	}
-
-	//---- Action Handling ------------------------------------------------
-	
-	public boolean performAction() {
-		SearchUI.activateSearchResultView();
-
-		SearchPatternData data= getPatternData();
-		IWorkspace workspace= JavaPlugin.getWorkspace();
-
-		// Setup search scope
-		IJavaSearchScope scope= null;
-		String scopeDescription= ""; //$NON-NLS-1$
-		switch (getContainer().getSelectedScope()) {
-			case ISearchPageContainer.WORKSPACE_SCOPE:
-				scopeDescription= SearchMessages.getString("WorkspaceScope"); //$NON-NLS-1$
-				scope= SearchEngine.createWorkspaceScope();
-				break;
-			case ISearchPageContainer.SELECTION_SCOPE:
-				scopeDescription= SearchMessages.getString("SelectionScope"); //$NON-NLS-1$
-				scope= JavaSearchScopeFactory.getInstance().createJavaSearchScope(fStructuredSelection);
-				break;
-			case ISearchPageContainer.WORKING_SET_SCOPE:
-				IWorkingSet[] workingSets= getContainer().getSelectedWorkingSets();
-				// should not happen - just to be sure
-				if (workingSets == null || workingSets.length < 1)
-					return false;
-				scopeDescription= SearchMessages.getFormattedString("WorkingSetScope", SearchUtil.toString(workingSets)); //$NON-NLS-1$
-				scope= JavaSearchScopeFactory.getInstance().createJavaSearchScope(getContainer().getSelectedWorkingSets());
-				SearchUtil.updateLRUWorkingSets(getContainer().getSelectedWorkingSets());
-		}		
-		
-		JavaSearchResultCollector collector= new JavaSearchResultCollector();
-		JavaSearchOperation op= null;
-		if (data.javaElement != null && getPattern().equals(fInitialData.pattern)) {
-			op= new JavaSearchOperation(workspace, data.javaElement, data.limitTo, scope, scopeDescription, collector);
-			if (data.limitTo == IJavaSearchConstants.REFERENCES)
-				SearchUtil.warnIfBinaryConstant(data.javaElement, getShell());
-		} else {
-			data.javaElement= null;
-			op= new JavaSearchOperation(workspace, data.pattern, data.isCaseSensitive, data.searchFor, data.limitTo, scope, scopeDescription, collector);
-		}
-		Shell shell= getControl().getShell();
-		try {
-			getContainer().getRunnableContext().run(true, true, op);
-		} catch (InvocationTargetException ex) {
-			ExceptionHandler.handle(ex, shell, SearchMessages.getString("Search.Error.search.title"), SearchMessages.getString("Search.Error.search.message")); //$NON-NLS-2$ //$NON-NLS-1$
-			return false;
-		} catch (InterruptedException ex) {
-			return false;
-		}
-		return true;
-	}
-	
-	private int getLimitTo() {
-		for (int i= 0; i < fLimitTo.length; i++) {
-			if (fLimitTo[i].getSelection())
-				return i;
-		}
-		return -1;
-	}
-
-	private void setLimitTo(int searchFor) {
-		fLimitTo[DECLARATIONS].setEnabled(true);
-		fLimitTo[IMPLEMENTORS].setEnabled(false);
-		fLimitTo[REFERENCES].setEnabled(true);			
-		fLimitTo[ALL_OCCURRENCES].setEnabled(true);
-		fLimitTo[READ_ACCESSES].setEnabled(false);
-		fLimitTo[WRITE_ACCESSES].setEnabled(false);
-		
-		if (!(searchFor == TYPE || searchFor == INTERFACE) && fLimitTo[IMPLEMENTORS].getSelection()) {
-			fLimitTo[IMPLEMENTORS].setSelection(false);
-			fLimitTo[REFERENCES].setSelection(true);
-		}
-
-		if (!(searchFor == FIELD) && (getLimitTo() == READ_ACCESSES || getLimitTo() == WRITE_ACCESSES)) {
-			fLimitTo[getLimitTo()].setSelection(false);
-			fLimitTo[REFERENCES].setSelection(true);
-		}
-
-		switch (searchFor) {
-			case TYPE:
-			case INTERFACE:
-				fLimitTo[IMPLEMENTORS].setEnabled(true);
-				break;
-			case FIELD:
-				fLimitTo[READ_ACCESSES].setEnabled(true);
-				fLimitTo[WRITE_ACCESSES].setEnabled(true);
-				break;
-			default :
-				break;
-		}
-	}
-
-	private String[] getPreviousSearchPatterns() {
-		// Search results are not persistent
-		int patternCount= fgPreviousSearchPatterns.size();
-		String [] patterns= new String[patternCount];
-		for (int i= 0; i < patternCount; i++)
-			patterns[i]= ((SearchPatternData) fgPreviousSearchPatterns.get(patternCount - 1 - i)).pattern;
-		return patterns;
-	}
-	
-	private int getSearchFor() {
-		for (int i= 0; i < fSearchFor.length; i++) {
-			if (fSearchFor[i].getSelection())
-				return i;
-		}
-		Assert.isTrue(false, "shouldNeverHappen"); //$NON-NLS-1$
-		return -1;
-	}
-	
-	private String getPattern() {
-		return fPattern.getText();
-	}
-
-	/**
-	 * Return search pattern data and update previous searches.
-	 * An existing entry will be updated.
-	 */
-	private SearchPatternData getPatternData() {
-		String pattern= getPattern();
-		SearchPatternData match= null;
-		int i= 0;
-		int size= fgPreviousSearchPatterns.size();
-		while (match == null && i < size) {
-			match= (SearchPatternData) fgPreviousSearchPatterns.get(i);
-			i++;
-			if (!pattern.equals(match.pattern))
-				match= null;
-		}
-		if (match == null) {
-			match= new SearchPatternData(
-							getSearchFor(),
-							getLimitTo(),
-							pattern,
-							fCaseSensitive.getSelection(),
-							fJavaElement,
-							getContainer().getSelectedScope(),
-							getContainer().getSelectedWorkingSets());
-			fgPreviousSearchPatterns.add(match);
-		}
-		else {
-			match.searchFor= getSearchFor();
-			match.limitTo= getLimitTo();
-			match.isCaseSensitive= fCaseSensitive.getSelection();
-			match.javaElement= fJavaElement;
-			match.scope= getContainer().getSelectedScope();
-			match.workingSets= getContainer().getSelectedWorkingSets();
-		}
-		return match;
-	}
-
-	/*
-	 * Implements method from IDialogPage
-	 */
-	public void setVisible(boolean visible) {
-		if (visible && fPattern != null) {
-			if (fFirstTime) {
-				fFirstTime= false;
-				// Set item and text here to prevent page from resizing
-				fPattern.setItems(getPreviousSearchPatterns());
-				initSelections();
-			}
-			fPattern.setFocus();
-			getContainer().setPerformActionEnabled(fPattern.getText().length() > 0);
-		}
-		super.setVisible(visible);
-	}
-	
-	public boolean isValid() {
-		return true;
-	}
-
-	//---- Widget creation ------------------------------------------------
-
-	/**
-	 * Creates the page's content.
-	 */
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
-		readConfiguration();
-		
-		GridData gd;
-		Composite result= new Composite(parent, SWT.NONE);
-		GridLayout layout= new GridLayout(2, false);
-		layout.horizontalSpacing= 10;
-		result.setLayout(layout);
-		result.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		RowLayouter layouter= new RowLayouter(layout.numColumns);
-		gd= new GridData();
-		gd.horizontalAlignment= GridData.FILL;
-		gd.verticalAlignment= GridData.VERTICAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_FILL;
-	
-		layouter.setDefaultGridData(gd, 0);
-		layouter.setDefaultGridData(gd, 1);
-		layouter.setDefaultSpan();
-
-		layouter.perform(createExpression(result));
-		layouter.perform(createSearchFor(result), createLimitTo(result), -1);
-		
-		SelectionAdapter javaElementInitializer= new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				if (getSearchFor() == fInitialData.searchFor)
-					fJavaElement= fInitialData.javaElement;
-				else
-					fJavaElement= null;
-				setLimitTo(getSearchFor());
-				updateCaseSensitiveCheckbox();
-			}
-		};
-
-		fSearchFor[TYPE].addSelectionListener(javaElementInitializer);
-		fSearchFor[METHOD].addSelectionListener(javaElementInitializer);
-		fSearchFor[FIELD].addSelectionListener(javaElementInitializer);
-		fSearchFor[CONSTRUCTOR].addSelectionListener(javaElementInitializer);
-		fSearchFor[PACKAGE].addSelectionListener(javaElementInitializer);
-
-		setControl(result);
-
-		Dialog.applyDialogFont(result);
-		WorkbenchHelp.setHelp(result, IJavaHelpContextIds.JAVA_SEARCH_PAGE);	
-	}
-
-	private Control createExpression(Composite parent) {
-		Composite result= new Composite(parent, SWT.NONE);
-		GridLayout layout= new GridLayout(2, false);
-		result.setLayout(layout);
-		GridData gd= new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		gd.horizontalSpan= 2;
-		gd.horizontalIndent= 0;
-		result.setLayoutData(gd);
-
-		// Pattern text + info
-		Label label= new Label(result, SWT.LEFT);
-		label.setText(SearchMessages.getString("SearchPage.expression.label")); //$NON-NLS-1$
-		gd= new GridData(GridData.BEGINNING);
-		gd.horizontalSpan= 2;
-//		gd.horizontalIndent= -gd.horizontalIndent;
-		label.setLayoutData(gd);
-
-		// Pattern combo
-		fPattern= new Combo(result, SWT.SINGLE | SWT.BORDER);
-		fPattern.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handlePatternSelected();
-			}
-		});
-		fPattern.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				getContainer().setPerformActionEnabled(getPattern().length() > 0);
-				updateCaseSensitiveCheckbox();
-			}
-		});
-		gd= new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		gd.horizontalIndent= -gd.horizontalIndent;
-		fPattern.setLayoutData(gd);
-
-
-		// Ignore case checkbox		
-		fCaseSensitive= new Button(result, SWT.CHECK);
-		fCaseSensitive.setText(SearchMessages.getString("SearchPage.expression.caseSensitive")); //$NON-NLS-1$
-		gd= new GridData();
-		fCaseSensitive.setLayoutData(gd);
-		fCaseSensitive.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fIsCaseSensitive= fCaseSensitive.getSelection();
-				writeConfiguration();
-			}
-		});
-		
-		return result;
-	}
-
-	private void updateCaseSensitiveCheckbox() {
-		if (fInitialData != null && getPattern().equals(fInitialData.pattern) && fJavaElement != null) {
-			fCaseSensitive.setEnabled(false);
-			fCaseSensitive.setSelection(true);
-		}
-		else {
-			fCaseSensitive.setEnabled(true);
-			fCaseSensitive.setSelection(fIsCaseSensitive);
-		}
-	}
-
-	private void handlePatternSelected() {
-		if (fPattern.getSelectionIndex() < 0)
-			return;
-		int index= fgPreviousSearchPatterns.size() - 1 - fPattern.getSelectionIndex();
-		fInitialData= (SearchPatternData) fgPreviousSearchPatterns.get(index);
-		for (int i= 0; i < fSearchFor.length; i++)
-			fSearchFor[i].setSelection(false);
-		for (int i= 0; i < fLimitTo.length; i++)
-			fLimitTo[i].setSelection(false);
-		fSearchFor[fInitialData.searchFor].setSelection(true);
-		setLimitTo(fInitialData.searchFor);
-		fLimitTo[fInitialData.limitTo].setSelection(true);
-
-		fPattern.setText(fInitialData.pattern);
-		fIsCaseSensitive= fInitialData.isCaseSensitive;
-		fJavaElement= fInitialData.javaElement;
-		fCaseSensitive.setEnabled(fJavaElement == null);
-		fCaseSensitive.setSelection(fInitialData.isCaseSensitive);
-
-		if (fInitialData.workingSets != null)
-			getContainer().setSelectedWorkingSets(fInitialData.workingSets);
-		else
-			getContainer().setSelectedScope(fInitialData.scope);
-	}
-
-	private Control createSearchFor(Composite parent) {
-		Group result= new Group(parent, SWT.NONE);
-		result.setText(SearchMessages.getString("SearchPage.searchFor.label")); //$NON-NLS-1$
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 3;
-		result.setLayout(layout);
-
-		fSearchFor= new Button[fSearchForText.length];
-		for (int i= 0; i < fSearchForText.length; i++) {
-			Button button= new Button(result, SWT.RADIO);
-			button.setText(fSearchForText[i]);
-			fSearchFor[i]= button;
-		}
-
-		// Fill with dummy radio buttons
-		Button filler= new Button(result, SWT.RADIO);
-		filler.setVisible(false);
-		filler= new Button(result, SWT.RADIO);
-		filler.setVisible(false);
-
-		return result;		
-	}
-	
-	private Control createLimitTo(Composite parent) {
-		Group result= new Group(parent, SWT.NONE);
-		result.setText(SearchMessages.getString("SearchPage.limitTo.label")); //$NON-NLS-1$
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		result.setLayout(layout);
-
-		fLimitTo= new Button[fLimitToText.length];
-		for (int i= 0; i < fLimitToText.length; i++) {
-			Button button= new Button(result, SWT.RADIO);
-			button.setText(fLimitToText[i]);
-			fLimitTo[i]= button;
-		}
-		return result;		
-	}	
-	
-	private void initSelections() {
-		fStructuredSelection= asStructuredSelection();
-		fInitialData= tryStructuredSelection(fStructuredSelection);
-		if (fInitialData == null)
-			fInitialData= trySimpleTextSelection(getContainer().getSelection());
-		if (fInitialData == null)
-			fInitialData= getDefaultInitValues();
-
-		fJavaElement= fInitialData.javaElement;
-		fCaseSensitive.setSelection(fInitialData.isCaseSensitive);
-		fCaseSensitive.setEnabled(fInitialData.javaElement == null);
-		fSearchFor[fInitialData.searchFor].setSelection(true);
-		setLimitTo(fInitialData.searchFor);
-		fLimitTo[fInitialData.limitTo].setSelection(true);		
-		fPattern.setText(fInitialData.pattern);
-	}
-
-	private SearchPatternData tryStructuredSelection(IStructuredSelection selection) {
-		if (selection == null || selection.size() > 1)
-			return null;
-
-		Object o= selection.getFirstElement();
-		if (o instanceof IJavaElement) {
-			return determineInitValuesFrom((IJavaElement)o);
-		} else if (o instanceof ISearchResultViewEntry) {
-			IJavaElement element= SearchUtil.getJavaElement(((ISearchResultViewEntry)o).getSelectedMarker());
-			return determineInitValuesFrom(element);
-		} else if (o instanceof LogicalPackage) {
-			LogicalPackage lp= (LogicalPackage)o;
-			return new SearchPatternData(PACKAGE, REFERENCES, fIsCaseSensitive, lp.getElementName(), null);
-		} else if (o instanceof IAdaptable) {
-			IJavaElement element= (IJavaElement)((IAdaptable)o).getAdapter(IJavaElement.class);
-			if (element != null) {
-				return determineInitValuesFrom(element);
-			} else {
-				IWorkbenchAdapter adapter= (IWorkbenchAdapter)((IAdaptable)o).getAdapter(IWorkbenchAdapter.class);
-				if (adapter != null)
-					return new SearchPatternData(TYPE, REFERENCES, fIsCaseSensitive, adapter.getLabel(o), null);
-			}
-		}
-		return null;
-	}
-
-	private SearchPatternData determineInitValuesFrom(IJavaElement element) {
-		if (element == null)
-			return null;
-		int searchFor= UNKNOWN;
-		int limitTo= UNKNOWN;
-		String pattern= null; 
-		switch (element.getElementType()) {
-			case IJavaElement.PACKAGE_FRAGMENT:
-				searchFor= PACKAGE;
-				limitTo= REFERENCES;
-				pattern= element.getElementName();
-				break;
-			case IJavaElement.PACKAGE_FRAGMENT_ROOT:
-				searchFor= PACKAGE;
-				limitTo= REFERENCES;
-				pattern= element.getElementName();
-				break;
-			case IJavaElement.PACKAGE_DECLARATION:
-				searchFor= PACKAGE;
-				limitTo= REFERENCES;
-				pattern= element.getElementName();
-				break;
-			case IJavaElement.IMPORT_DECLARATION:
-				pattern= element.getElementName();
-				IImportDeclaration declaration= (IImportDeclaration)element;
-				if (declaration.isOnDemand()) {
-					searchFor= PACKAGE;
-					int index= pattern.lastIndexOf('.');
-					pattern= pattern.substring(0, index);
-				} else {
-					searchFor= TYPE;
-				}
-				limitTo= DECLARATIONS;
-				break;
-			case IJavaElement.TYPE:
-				searchFor= TYPE;
-				limitTo= REFERENCES;
-				pattern= JavaModelUtil.getFullyQualifiedName((IType)element);
-				break;
-			case IJavaElement.COMPILATION_UNIT:
-				ICompilationUnit cu= (ICompilationUnit)element;
-				String mainTypeName= element.getElementName().substring(0, element.getElementName().indexOf(".")); //$NON-NLS-1$
-				IType mainType= cu.getType(mainTypeName);
-				mainTypeName= JavaModelUtil.getTypeQualifiedName(mainType);
-				try {					
-					mainType= JavaModelUtil.findTypeInCompilationUnit(cu, mainTypeName);
-					if (mainType == null) {
-						// fetch type which is declared first in the file
-						IType[] types= cu.getTypes();
-						if (types.length > 0)
-							mainType= types[0];
-						else
-							break;
-					}
-				} catch (JavaModelException ex) {
-					ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.javaElementAccess.title"), SearchMessages.getString("Search.Error.javaElementAccess.message")); //$NON-NLS-2$ //$NON-NLS-1$
-					break;
-				}
-				searchFor= TYPE;
-				element= mainType;
-				limitTo= REFERENCES;
-				pattern= JavaModelUtil.getFullyQualifiedName(mainType);
-				break;
-			case IJavaElement.CLASS_FILE:
-				IClassFile cf= (IClassFile)element;
-				try {					
-					mainType= cf.getType();
-				} catch (JavaModelException ex) {
-					ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.javaElementAccess.title"), SearchMessages.getString("Search.Error.javaElementAccess.message")); //$NON-NLS-2$ //$NON-NLS-1$
-					break;
-				}
-				if (mainType == null)
-					break;
-				element= mainType;
-				searchFor= TYPE;
-				limitTo= REFERENCES;
-				pattern= JavaModelUtil.getFullyQualifiedName(mainType);
-				break;
-			case IJavaElement.FIELD:
-				searchFor= FIELD;
-				limitTo= REFERENCES;
-				IType type= ((IField)element).getDeclaringType();
-				StringBuffer buffer= new StringBuffer();
-				buffer.append(JavaModelUtil.getFullyQualifiedName(type));
-				buffer.append('.');
-				buffer.append(element.getElementName());
-				pattern= buffer.toString();
-				break;
-			case IJavaElement.METHOD:
-				searchFor= METHOD;
-				try {
-					IMethod method= (IMethod)element;
-					if (method.isConstructor())
-						searchFor= CONSTRUCTOR;
-				} catch (JavaModelException ex) {
-					ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.javaElementAccess.title"), SearchMessages.getString("Search.Error.javaElementAccess.message")); //$NON-NLS-2$ //$NON-NLS-1$
-					break;
-				}		
-				limitTo= REFERENCES;
-				pattern= PrettySignature.getMethodSignature((IMethod)element);
-				break;
-		}
-		if (searchFor != UNKNOWN && limitTo != UNKNOWN && pattern != null)
-			return new SearchPatternData(searchFor, limitTo, true, pattern, element);
-			
-		return null;	
-	}
-	
-	private SearchPatternData trySimpleTextSelection(ISelection selection) {
-		SearchPatternData result= null;
-		if (selection instanceof ITextSelection) {
-			BufferedReader reader= new BufferedReader(new StringReader(((ITextSelection)selection).getText()));
-			String text;
-			try {
-				text= reader.readLine();
-				if (text == null)
-					text= ""; //$NON-NLS-1$
-			} catch (IOException ex) {
-				text= ""; //$NON-NLS-1$
-			}
-			result= new SearchPatternData(TYPE, REFERENCES, fIsCaseSensitive, text, null);
-		}
-		return result;
-	}
-	
-	private SearchPatternData getDefaultInitValues() {
-		return new SearchPatternData(TYPE, REFERENCES, fIsCaseSensitive, "", null); //$NON-NLS-1$
-	}	
-
-	/*
-	 * Implements method from ISearchPage
-	 */
-	public void setContainer(ISearchPageContainer container) {
-		fContainer= container;
-	}
-	
-	/**
-	 * Returns the search page's container.
-	 */
-	private ISearchPageContainer getContainer() {
-		return fContainer;
-	}
-	
-	/**
-	 * Returns the structured selection from the selection.
-	 */
-	private IStructuredSelection asStructuredSelection() {
-		IWorkbenchWindow wbWindow= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (wbWindow != null) {
-			IWorkbenchPage page= wbWindow.getActivePage();
-			if (page != null) {
-				IWorkbenchPart part= page.getActivePart();
-				if (part != null)
-					try {
-						return SelectionConverter.getStructuredSelection(part);
-					} catch (JavaModelException ex) {
-						JspUIPlugin.log("internal error", ex); //$NON-NLS-1$
-					}
-			}
-		}
-		return StructuredSelection.EMPTY;
-	}
-	
-	//--------------- Configuration handling --------------
-	
-	/**
-	 * Returns the page settings for this Java search page.
-	 * 
-	 * @return the page settings to be used
-	 */
-	private IDialogSettings getDialogSettings() {
-		IDialogSettings settings= JavaPlugin.getDefault().getDialogSettings();
-		fDialogSettings= settings.getSection(PAGE_NAME);
-		if (fDialogSettings == null)
-			fDialogSettings= settings.addNewSection(PAGE_NAME);
-		return fDialogSettings;
-	}
-	
-	/**
-	 * Initializes itself from the stored page settings.
-	 */
-	private void readConfiguration() {
-		IDialogSettings s= getDialogSettings();
-		fIsCaseSensitive= s.getBoolean(STORE_CASE_SENSITIVE);
-	}
-	
-	/**
-	 * Stores it current configuration in the dialog store.
-	 */
-	private void writeConfiguration() {
-		IDialogSettings s= getDialogSettings();
-		s.put(STORE_CASE_SENSITIVE, fIsCaseSensitive);
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchResultCollector.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchResultCollector.java
deleted file mode 100644
index aa1bbc5..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/JavaSearchResultCollector.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.ui.search2;
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.actions.ActionGroup;
-
-import org.eclipse.search.ui.IActionGroupFactory;
-import org.eclipse.search.ui.ISearchResultView;
-import org.eclipse.search.ui.SearchUI;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.search.IJavaSearchResultCollector;
-
-import org.eclipse.jdt.ui.JavaUI;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-
-import org.eclipse.jdt.internal.ui.dialogs.OptionalMessageDialog;
-import org.eclipse.jdt.internal.ui.search.GotoMarkerAction;
-import org.eclipse.jdt.internal.ui.search.GroupByKeyComputer;
-import org.eclipse.jdt.internal.ui.search.IJavaSearchUIConstants;
-import org.eclipse.jdt.internal.ui.search.JavaSearchResultLabelProvider;
-import org.eclipse.jdt.internal.ui.search.SearchMessages;
-
-
-public class JavaSearchResultCollector implements IJavaSearchResultCollector {
-
-	private static final String MATCH= SearchMessages.getString("SearchResultCollector.match"); //$NON-NLS-1$
-	private static final String MATCHES= SearchMessages.getString("SearchResultCollector.matches"); //$NON-NLS-1$
-	private static final String DONE= SearchMessages.getString("SearchResultCollector.done"); //$NON-NLS-1$
-	private static final String SEARCHING= SearchMessages.getString("SearchResultCollector.searching"); //$NON-NLS-1$
-	private static final Boolean POTENTIAL_MATCH_VALUE= new Boolean(true);
-	private static final String POTENTIAL_MATCH_DIALOG_ID= "Search.PotentialMatchDialog"; //$NON-NLS-1$
-	
-	private IProgressMonitor fMonitor;
-	private ISearchResultView fView;
-	private JavaSearchOperation fOperation;
-	private int fMatchCount= 0;
-	private int fPotentialMatchCount= 0;
-	private long fLastUpdateTime;
-	private Integer[] fMessageFormatArgs= new Integer[1];
-	
-	private class ActionGroupFactory implements IActionGroupFactory {
-		public ActionGroup createActionGroup(ISearchResultView part) {
-			return new SearchViewActionGroup(part);
-		}
-	}
-	
-	public JavaSearchResultCollector() {
-		// This ensures that the image class is loaded correctly
-		JavaPlugin.getDefault().getImageRegistry();
-	}
-
-	/**
-	 * @see IJavaSearchResultCollector#aboutToStart().
-	 */
-	public void aboutToStart() {
-		fPotentialMatchCount= 0;
-		fView= SearchUI.getSearchResultView();
-		fMatchCount= 0;
-		fLastUpdateTime= 0;
-		if (fView != null) {
-			fView.searchStarted(
-				new ActionGroupFactory(),
-				fOperation.getSingularLabel(),
-				fOperation.getPluralLabelPattern(),
-				fOperation.getImageDescriptor(),
-				JavaSearchPage2.EXTENSION_POINT_ID,
-				new JavaSearchResultLabelProvider(),
-				new GotoMarkerAction(),
-				new GroupByKeyComputer(),
-				fOperation);
-		}
-		if (!getProgressMonitor().isCanceled())
-			getProgressMonitor().subTask(SEARCHING);
-	}
-	
-	/**
-	 * @see IJavaSearchResultCollector#accept
-	 */
-	public void accept(IResource resource, int start, int end, IJavaElement enclosingElement, int accuracy) throws CoreException {
-
-		if (enclosingElement == null) {	// non-Java match
-			IMarker marker= resource.createMarker(SearchUI.SEARCH_MARKER);
-			
-			String description= resource.getFullPath().lastSegment();
-			if (description == null)
-				description= "";  //$NON-NLS-1$
-			
-			HashMap attributes= new HashMap(3);
-			attributes.put(IMarker.CHAR_START, new Integer(Math.max(start, 0)));
-			attributes.put(IMarker.CHAR_END, new Integer(Math.max(end, 0)));
-			marker.setAttributes(attributes);
-			
-			fView.addMatch(description, resource, resource, marker);
-			fMatchCount++;
-			
-			if (!getProgressMonitor().isCanceled() && System.currentTimeMillis() - fLastUpdateTime > 1000) {
-				getProgressMonitor().subTask(getFormattedMatchesString(fMatchCount));
-				fLastUpdateTime= System.currentTimeMillis();
-			}
-			
-			return;
-		}
-
-		if (accuracy == POTENTIAL_MATCH && SearchUI.arePotentialMatchesIgnored())
-			return;
-		
-		IMarker marker= resource.createMarker(SearchUI.SEARCH_MARKER);
-		HashMap attributes;
-		Object groupKey= enclosingElement;
-		attributes= new HashMap(7);
-		if (accuracy == POTENTIAL_MATCH) {
-			fPotentialMatchCount++;
-			attributes.put(SearchUI.POTENTIAL_MATCH, POTENTIAL_MATCH_VALUE);
-			if (groupKey == null)
-				groupKey= "?:null"; //$NON-NLS-1$
-			else
-				groupKey= "?:" + enclosingElement.getHandleIdentifier(); //$NON-NLS-1$
-		}			
-		ICompilationUnit cu= SearchUtil.findCompilationUnit(enclosingElement);
-		if (cu != null && cu.isWorkingCopy())
-			attributes.put(IJavaSearchUIConstants.ATT_IS_WORKING_COPY, new Boolean(true)); //$NON-NLS-1$
-			
-		JavaCore.addJavaElementMarkerAttributes(attributes, enclosingElement);
-		attributes.put(IJavaSearchUIConstants.ATT_JE_HANDLE_ID, enclosingElement.getHandleIdentifier());
-		attributes.put(IMarker.CHAR_START, new Integer(Math.max(start, 0)));
-		attributes.put(IMarker.CHAR_END, new Integer(Math.max(end, 0)));
-		if (enclosingElement instanceof IMember && ((IMember)enclosingElement).isBinary())
-			attributes.put(IWorkbenchPage.EDITOR_ID_ATTR, JavaUI.ID_CF_EDITOR);
-		else
-			attributes.put(IWorkbenchPage.EDITOR_ID_ATTR, JavaUI.ID_CU_EDITOR);
-		marker.setAttributes(attributes);
-
-		fView.addMatch(enclosingElement.getElementName(), groupKey, resource, marker);
-		fMatchCount++;
-		if (!getProgressMonitor().isCanceled() && System.currentTimeMillis() - fLastUpdateTime > 1000) {
-			getProgressMonitor().subTask(getFormattedMatchesString(fMatchCount));
-			fLastUpdateTime= System.currentTimeMillis();
-		}
-	}
-	
-	/**
-	 * @see IJavaSearchResultCollector#done().
-	 */
-	public void done() {
-		if (!getProgressMonitor().isCanceled()) {
-			String matchesString= getFormattedMatchesString(fMatchCount);
-			getProgressMonitor().setTaskName(MessageFormat.format(DONE, new String[]{matchesString}));
-		}
-
-		if (fView != null) {
-			if (fPotentialMatchCount > 0)
-				explainPotentialMatch(fPotentialMatchCount);
-			fView.searchFinished();
-		}
-
-		// Cut no longer unused references because the collector might be re-used
-		fView= null;
-		fMonitor= null;
-	}
-
-	private void explainPotentialMatch(final int potentialMatchCount) {
-		// Make sure we are doing it in the right thread.
-		final Shell shell= fView.getSite().getShell();
-		final String title;
-		if (potentialMatchCount == 1)
-			title= new String(SearchMessages.getString("Search.potentialMatchDialog.title.foundPotentialMatch")); //$NON-NLS-1$
-		else
-			title= new String(SearchMessages.getFormattedString("Search.potentialMatchDialog.title.foundPotentialMatches", "" + potentialMatchCount)); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		shell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				OptionalMessageDialog.open(
-					POTENTIAL_MATCH_DIALOG_ID, //$NON-NLS-1$,
-					shell,
-					title,
-					null,
-					SearchMessages.getString("Search.potentialMatchDialog.message"), //$NON-NLS-1$,
-					MessageDialog.INFORMATION,
-					new String[] { IDialogConstants.OK_LABEL },
-					0);
-			}
-		});
-	}
-	
-	/*
-	 * @see IJavaSearchResultCollector#getProgressMonitor().
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		return fMonitor;
-	}
-	
-	void setProgressMonitor(IProgressMonitor pm) {
-		fMonitor= pm;
-	}	
-	
-	void setOperation(JavaSearchOperation operation) {
-		fOperation= operation;
-	}
-	
-	private String getFormattedMatchesString(int count) {
-		if (fMatchCount == 1)
-			return MATCH;
-		fMessageFormatArgs[0]= new Integer(count);
-		return MessageFormat.format(MATCHES, fMessageFormatArgs);
-
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchMessages.properties b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchMessages.properties
deleted file mode 100644
index 8f5d952..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchMessages.properties
+++ /dev/null
@@ -1,162 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-group.search=S&earch
-group.declarations= Dec&larations
-group.references= Re&ferences
-group.readReferences= &Read Access
-group.writeReferences= &Write Access
-group.implementors= &Implementors
-
-Search.Error.search.title=Search Error
-Search.Error.search.message=An error occurred during the search operation
-
-Search.Error.javaElementAccess.title=Search Error
-Search.Error.javaElementAccess.message=An error occurred while accessing a Java element
-
-Search.Error.markerAttributeAccess.title=Search Error
-Search.Error.markerAttributeAccess.message=An error occurred while accessing a marker attribute
-
-Search.Error.createJavaElement.title=Search Error
-Search.Error.createJavaElement.message=An error occurred while creating a Java element
-
-Search.Error.openEditor.title=Search Error
-Search.Error.openEditor.message=Could not open the editor
-
-Search.Error.codeResolve= Code resolve error
-
-Search.Error.setDescription.title=Search Error
-Search.Error.setDescription.message=Cannot save workspace description
-
-SearchElementSelectionDialog.title=Search
-SearchElementSelectionDialog.message=Select the element to search for.
-
-SearchResultCollector.match= 1 match
-SearchResultCollector.matches= {0} matches
-SearchResultCollector.done= Search done: {0}.
-SearchResultCollector.searching= Searching...
-
-Search.potentialMatchDialog.title.foundPotentialMatch= Search: Found 1 Inexact Match
-Search.potentialMatchDialog.title.foundPotentialMatches= Search: Found {0} Inexact Matches
-Search.potentialMatchDialog.message= Inexact matches were found and will be displayed with a different\nforeground color. This can be configured on the Search preference page.
-
-SearchPage.searchFor.label= Search For
-SearchPage.searchFor.type= &Type
-SearchPage.searchFor.method= &Method
-SearchPage.searchFor.field= &Field
-SearchPage.searchFor.package= &Package
-SearchPage.searchFor.constructor= Co&nstructor
-
-SearchPage.limitTo.label= Limit To
-SearchPage.limitTo.declarations= Dec&larations
-SearchPage.limitTo.implementors= &Implementors
-SearchPage.limitTo.references= &References
-SearchPage.limitTo.allOccurrences= All &Occurrences
-SearchPage.limitTo.readReferences= Read A&ccess
-SearchPage.limitTo.writeReferences= Writ&e Access
-
-SearchPage.expression.label= Se&arch string (* = any string, ? = any character):
-SearchPage.expression.caseSensitive= Case sens&itive
-
-# Concatenate two working set names e.g. "Source, Lib"
-SearchUtil.workingSetConcatenation= {0}, {1}
-
-Search.FindDeclarationAction.label= &Workspace
-Search.FindDeclarationAction.tooltip= Search for Declarations of the Selected Element in the Workspace
-
-Search.FindDeclarationsInWorkingSetAction.label= Working &Set...
-Search.FindDeclarationsInWorkingSetAction.tooltip= Search for Declarations of the Selected Element in a Working Set
-
-Search.FindHierarchyDeclarationsAction.label= &Hierarchy
-Search.FindHierarchyDeclarationsAction.tooltip= Search for Declarations of the Selected Element in its Hierarchy
-
-Search.FindImplementorsAction.label= &Workspace
-Search.FindImplementorsAction.tooltip= Search for Implementors of the Selected Interface
-
-Search.FindImplementorsInWorkingSetAction.label= Working &Set...
-Search.FindImplementorsInWorkingSetAction.tooltip= Search for Implementors of the Selected Interface in a Working Set
-
-Search.FindReferencesAction.label= &Workspace
-Search.FindReferencesAction.tooltip= Search for References to the Selected Element in the Workspace
-
-Search.FindReferencesAction.BinPrimConstWarnDialog.title= Search for References to a Binary Constant
-Search.FindReferencesAction.BinPrimConstWarnDialog.message= Matches to this constant will only be discovered in source files and binary files where the constant value is not inlined.
-
-Search.FindReferencesInWorkingSetAction.label= Working &Set...
-Search.FindReferencesInWorkingSetAction.tooltip= Search for References to the Selected Element in a Working Set
-
-Search.FindHierarchyReferencesAction.label= &Hierarchy
-Search.FindHierarchyReferencesAction.tooltip= Search for References of the Selected Element in its Hierarchy
-
-Search.FindReadReferencesAction.label= &Workspace
-Search.FindReadReferencesAction.tooltip= Search for Read References to the Selected Element in the Workspace
-
-Search.FindReadReferencesInWorkingSetAction.label= Working &Set...
-Search.FindReadReferencesInWorkingSetAction.tooltip= Search for Read References to the Selected Element in a Working Set
-
-Search.FindReadReferencesInHierarchyAction.label= &Hierarchy
-Search.FindReadReferencesInHierarchyAction.tooltip= Search for Read References of the Selected Element in its Hierarchy
-
-Search.FindWriteReferencesAction.label= &Workspace
-Search.FindWriteReferencesAction.tooltip= Search for Write References to the Selected Element in the Workspace
-
-Search.FindWriteReferencesInWorkingSetAction.label= Working &Set...
-Search.FindWriteReferencesInWorkingSetAction.tooltip= Search for Write References to the Selected Element in a Working Set
-
-Search.FindWriteReferencesInHierarchyAction.label= &Hierarchy
-Search.FindWriteReferencesInHierarchyAction.tooltip= Search for Write References of the Selected Element in its Hierarchy
-
-Search.FindOccurrencesInFile.label= Occurre&nces in File
-Search.FindOccurrencesInFile.tooltip= Find occurrences of selected element in the editor
-
-FindOccurrencesEngine.noSource.text= No source available. To perform this operation you need to attach source.
-FindOccurrencesEngine.noJavaElement.text= Cannot search for the current selection. Please select a valid Java element name.
-FindOccurrencesEngine.cannotParse.text= Cannot analyze the compilation unit or class file. 
-
-
-JavaSearchOperation.default_package=(default package)
-
-# The first argument will be replaced by the pattern and the second by the scope
-JavaSearchOperation.singularDeclarationsPostfix={0} - 1 Declaration in {1}
-JavaSearchOperation.singularReferencesPostfix={0} - 1 Reference in {1}
-JavaSearchOperation.singularReadReferencesPostfix={0} - 1 Read Reference in {1}
-JavaSearchOperation.singularWriteReferencesPostfix={0} - 1 Write Reference in {1}
-JavaSearchOperation.singularImplementorsPostfix={0} - 1 Implementor in {1}
-JavaSearchOperation.singularOccurrencesPostfix={0} - 1 Occurrence in {1}
-
-# The first argument will be replaced by the pattern, the second by the count and the last by the scope
-JavaSearchOperation.pluralDeclarationsPostfix={0} - {1} Declarations in {2}
-JavaSearchOperation.pluralReferencesPostfix={0} - {1} References in {2}
-JavaSearchOperation.pluralReadReferencesPostfix={0} - {1} Read References in {2}
-JavaSearchOperation.pluralWriteReferencesPostfix={0} - {1} Write References in {2}
-JavaSearchOperation.pluralImplementorsPostfix={0} - {1} Implementors in {2}
-JavaSearchOperation.pluralOccurrencesPostfix={0} - {1} Occurrences in {2}
-
-# The first argument will be replaced by the element name and the second one by the file name
-JavaSearchInFile.singularPostfix={0} - 1 Occurrence in {1}
-# The first argument will be replaced by the element name, the second by the count and the last by the file name
-JavaSearchInFile.pluralPostfix={0} - {1} Occurrences in {2}
-
-JavaElementAction.typeSelectionDialog.title=Search
-JavaElementAction.typeSelectionDialog.message=&Select the type to search:
-JavaElementAction.error.open.message=An exception occurred while opening the type.
-
-JavaElementAction.operationUnavailable.title= Operation Unavailable
-JavaElementAction.operationUnavailable.generic= The operation is unavailable on the current selection. Please select a valid Java element name.
-JavaElementAction.operationUnavailable.field= The operation is unavailable on the current selection. Please select the name of a field.
-JavaElementAction.operationUnavailable.interface= The operation is unavailable on the current selection. Please select the name of an interface.
-
-JavaSearchResultLabelProvider.potentialMatch= \ (inexact)
-
-WorkspaceScope= Workspace
-WorkingSetScope= Working Set - {0}
-SelectionScope= Selection
-HierarchyScope= Hierarchy - {0}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchUtil.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchUtil.java
deleted file mode 100644
index 53104ac..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchUtil.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.ui.search2;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.search.ui.ISearchResultViewEntry;
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-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.core.Signature;
-
-import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.dialogs.OptionalMessageDialog;
-import org.eclipse.jdt.internal.ui.search.IJavaSearchUIConstants;
-import org.eclipse.jdt.internal.ui.search.LRUWorkingSetsList;
-import org.eclipse.jdt.internal.ui.search.SearchMessages;
-import org.eclipse.jdt.internal.ui.search.WorkingSetComparator;
-import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
-
-/**
- * This class contains some utility methods for J Search.
- */
-/**
- * This class contains some utility methods for J Search.
- */
-public class SearchUtil {
-
-	// LRU working sets
-	public static int LRU_WORKINGSET_LIST_SIZE= 3;
-	private static LRUWorkingSetsList fgLRUWorkingSets;
-
-	// Settings store
-	private static final String DIALOG_SETTINGS_KEY= "JavaElementSearchActions"; //$NON-NLS-1$
-	private static final String STORE_LRU_WORKING_SET_NAMES= "lastUsedWorkingSetNames"; //$NON-NLS-1$
-	
-	private static IDialogSettings fgSettingsStore;
-
-	private static final String BIN_PRIM_CONST_WARN_DIALOG_ID= "BinaryPrimitiveConstantWarningDialog"; //$NON-NLS-1$
-
-
-	public static IJavaElement getJavaElement(IMarker marker) {
-		if (marker == null || !marker.exists())
-			return null;
-		try {
-			String handleId= (String)marker.getAttribute(IJavaSearchUIConstants.ATT_JE_HANDLE_ID);
-			IJavaElement je= JavaCore.create(handleId);
-			if (je == null)
-				return null;
-
-			if (!marker.getAttribute(IJavaSearchUIConstants.ATT_IS_WORKING_COPY, false)) {
-				if (je.exists())
-					return je;
-			}
-			
-			ICompilationUnit cu= (ICompilationUnit) je.getAncestor(IJavaElement.COMPILATION_UNIT);
-			if (cu == null) {
-				return je;
-			}
-			if (!cu.exists()) {
-				IResource res= marker.getResource();
-				if (res instanceof IFile) {
-					cu= JavaCore.createCompilationUnitFrom((IFile) res);
-					if (cu == null) {
-						return je;
-					}
-					
-				}
-			}
-			
-			if (!JavaPlugin.USE_WORKING_COPY_OWNERS) {
-				IJavaElement wcElem= JavaModelUtil.toWorkingCopy(je);
-				if (wcElem.exists()) {
-					return wcElem;
-				}
-			}
-
-			if (!je.exists()) {
-				IJavaElement[] jElements= cu.findElements(je);
-				if (jElements == null || jElements.length == 0)
-					je= cu.getElementAt(marker.getAttribute(IMarker.CHAR_START, 0));
-				else
-					je= jElements[0];
-			}
-			return je;
-		} catch (JavaModelException ex) {
-			if (!ex.isDoesNotExist())
-				ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.createJavaElement.title"), SearchMessages.getString("Search.Error.createJavaElement.message")); //$NON-NLS-2$ //$NON-NLS-1$
-			return null;
-		} catch (CoreException ex) {
-			ExceptionHandler.handle(ex, SearchMessages.getString("Search.Error.createJavaElement.title"), SearchMessages.getString("Search.Error.createJavaElement.message")); //$NON-NLS-2$ //$NON-NLS-1$
-			return null;
-		}
-	}
-
-	public static IJavaElement getJavaElement(Object entry) {
-		if (entry != null && isISearchResultViewEntry(entry))
-			return getJavaElement((ISearchResultViewEntry)entry);
-		return null;
-	}
-
-	public static IResource getResource(Object entry) {
-		if (entry != null && isISearchResultViewEntry(entry))
-			return ((ISearchResultViewEntry)entry).getResource();
-		return null;
-	}
-
-	public static IJavaElement getJavaElement(ISearchResultViewEntry entry) {
-		if (entry != null)
-			return getJavaElement(entry.getSelectedMarker());
-		return null;
-	}
-
-	public static boolean isSearchPlugInActivated() {
-		return Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.search").isPluginActivated(); //$NON-NLS-1$
-	}
-
-	public static boolean isISearchResultViewEntry(Object object) {
-		return object != null && isSearchPlugInActivated() && (object instanceof ISearchResultViewEntry);
-	}
-	
-	/**
-	 * Returns the compilation unit for the given java element.
-	 * 
-	 * @param	element the java element whose compilation unit is searched for
-	 * @return	the compilation unit of the given java element
-	 */
-	static ICompilationUnit findCompilationUnit(IJavaElement element) {
-		if (element == null)
-			return null;
-		return (ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT);
-	}
-
-	/*
-	 * Copied from JavaModelUtil and patched to allow members which do not exist.
-	 * The only case where this is a problem is for methods which have same name and
-	 * paramters as a constructor. The constructor will win in such a situation.
-	 * 
-	 * @see JavaModelUtil#findMemberInCompilationUnit(ICompilationUnit, IMember)
-	 */		
-	public static IMember findInCompilationUnit(ICompilationUnit cu, IMember member) throws JavaModelException {
-		if (member.getElementType() == IJavaElement.TYPE) {
-			return JavaModelUtil.findTypeInCompilationUnit(cu, JavaModelUtil.getTypeQualifiedName((IType)member));
-		} else {
-			IType declaringType= JavaModelUtil.findTypeInCompilationUnit(cu, JavaModelUtil.getTypeQualifiedName(member.getDeclaringType()));
-			if (declaringType != null) {
-				IMember result= null;
-				switch (member.getElementType()) {
-				case IJavaElement.FIELD:
-					result= declaringType.getField(member.getElementName());
-					break;
-				case IJavaElement.METHOD:
-					IMethod meth= (IMethod) member;
-					// XXX: Begin patch ---------------------
-					boolean isConstructor;
-					if (meth.exists())
-						isConstructor= meth.isConstructor();
-					else
-						isConstructor= declaringType.getElementName().equals(meth.getElementName());
-					// XXX: End patch -----------------------
-					result= JavaModelUtil.findMethod(meth.getElementName(), meth.getParameterTypes(), isConstructor, declaringType);
-					break;
-				case IJavaElement.INITIALIZER:
-					result= declaringType.getInitializer(1);
-					break;					
-				}
-				if (result != null && result.exists()) {
-					return result;
-				}
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * XXX: Unchanged copy from JavaModelUtil
-	 */
-	public static IJavaElement findInCompilationUnit(ICompilationUnit cu, IJavaElement element) throws JavaModelException {
-		
-		if (element instanceof IMember)
-			return findInCompilationUnit(cu, (IMember)element);
-		
-		int type= element.getElementType();
-		switch (type) {
-			case IJavaElement.IMPORT_CONTAINER:
-				return cu.getImportContainer();
-			
-			case IJavaElement.PACKAGE_DECLARATION:
-				return find(cu.getPackageDeclarations(), element.getElementName());
-			
-			case IJavaElement.IMPORT_DECLARATION:
-				return find(cu.getImports(), element.getElementName());
-			
-			case IJavaElement.COMPILATION_UNIT:
-				return cu;
-		}
-		
-		return null;
-	}
-	
-	/*
-	 * XXX: Unchanged copy from JavaModelUtil
-	 */
-	private static IJavaElement find(IJavaElement[] elements, String name) {
-		if (elements == null || name == null)
-			return null;
-			
-		for (int i= 0; i < elements.length; i++) {
-			if (name.equals(elements[i].getElementName()))
-				return elements[i];
-		}
-		
-		return null;
-	}
-
-	public static String toString(IWorkingSet[] workingSets) {
-		Arrays.sort(workingSets, new WorkingSetComparator());
-		String result= ""; //$NON-NLS-1$
-		if (workingSets != null && workingSets.length > 0) {
-			boolean firstFound= false;
-			for (int i= 0; i < workingSets.length; i++) {
-				String workingSetName= workingSets[i].getName();
-				if (firstFound)
-					result= SearchMessages.getFormattedString("SearchUtil.workingSetConcatenation", new String[] {result, workingSetName}); //$NON-NLS-1$
-				else {
-					result= workingSetName;
-					firstFound= true;
-				}
-			}
-		}
-		return result;
-	}
-
-	// ---------- LRU working set handling ----------
-
-	/**
-	 * Updates the LRU list of working sets.
-	 * 
-	 * @param workingSets	the workings sets to be added to the LRU list
-	 */
-	public static void updateLRUWorkingSets(IWorkingSet[] workingSets) {
-		if (workingSets == null || workingSets.length < 1)
-			return;
-		
-		getLRUWorkingSets().add(workingSets);
-		saveState();
-	}
-
-	private static void saveState() {
-		IWorkingSet[] workingSets;
-		Iterator iter= fgLRUWorkingSets.iterator();
-		int i= 0;
-		while (iter.hasNext()) {
-			workingSets= (IWorkingSet[])iter.next();
-			String[] names= new String[workingSets.length];
-			for (int j= 0; j < workingSets.length; j++)
-				names[j]= workingSets[j].getName();
-			fgSettingsStore.put(STORE_LRU_WORKING_SET_NAMES + i, names);
-			i++;
-		}
-	}
-
-	public static LRUWorkingSetsList getLRUWorkingSets() {
-		if (fgLRUWorkingSets == null) {
-			restoreState();
-		}
-		return fgLRUWorkingSets;
-	}
-
-	static void restoreState() {
-		fgLRUWorkingSets= new LRUWorkingSetsList(LRU_WORKINGSET_LIST_SIZE);
-		fgSettingsStore= JavaPlugin.getDefault().getDialogSettings().getSection(DIALOG_SETTINGS_KEY);
-		if (fgSettingsStore == null)
-			fgSettingsStore= JavaPlugin.getDefault().getDialogSettings().addNewSection(DIALOG_SETTINGS_KEY);
-		
-		boolean foundLRU= false;
-		for (int i= LRU_WORKINGSET_LIST_SIZE - 1; i >= 0; i--) {
-			String[] lruWorkingSetNames= fgSettingsStore.getArray(STORE_LRU_WORKING_SET_NAMES + i);
-			if (lruWorkingSetNames != null) {
-				Set workingSets= new HashSet(2);
-				for (int j= 0; j < lruWorkingSetNames.length; j++) {
-					IWorkingSet workingSet= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(lruWorkingSetNames[j]);
-					if (workingSet != null) {
-						workingSets.add(workingSet);
-					}
-				}
-				foundLRU= true;
-				if (!workingSets.isEmpty())
-					fgLRUWorkingSets.add((IWorkingSet[])workingSets.toArray(new IWorkingSet[workingSets.size()]));
-			}
-		}
-		if (!foundLRU)
-			// try old preference format
-			restoreFromOldFormat();
-	}
-
-	private static void restoreFromOldFormat() {
-		fgLRUWorkingSets= new LRUWorkingSetsList(LRU_WORKINGSET_LIST_SIZE);
-		fgSettingsStore= JavaPlugin.getDefault().getDialogSettings().getSection(DIALOG_SETTINGS_KEY);
-		if (fgSettingsStore == null)
-			fgSettingsStore= JavaPlugin.getDefault().getDialogSettings().addNewSection(DIALOG_SETTINGS_KEY);
-
-		boolean foundLRU= false;
-		String[] lruWorkingSetNames= fgSettingsStore.getArray(STORE_LRU_WORKING_SET_NAMES);
-		if (lruWorkingSetNames != null) {
-			for (int i= lruWorkingSetNames.length - 1; i >= 0; i--) {
-				IWorkingSet workingSet= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(lruWorkingSetNames[i]);
-				if (workingSet != null) {
-					foundLRU= true;
-					fgLRUWorkingSets.add(new IWorkingSet[]{workingSet});
-				}
-			}
-		}
-		if (foundLRU)
-			// save in new format
-			saveState();
-	}
-
-	public static void warnIfBinaryConstant(IJavaElement element, Shell shell) {
-		if (isBinaryPrimitveConstantOrString(element))
-			OptionalMessageDialog.open(
-				BIN_PRIM_CONST_WARN_DIALOG_ID,
-				shell,
-				SearchMessages.getString("Search.FindReferencesAction.BinPrimConstWarnDialog.title"), //$NON-NLS-1$
-				null,
-				SearchMessages.getString("Search.FindReferencesAction.BinPrimConstWarnDialog.message"), //$NON-NLS-1$
-				MessageDialog.INFORMATION,
-				new String[] { IDialogConstants.OK_LABEL },
-				0);
-	}
-	
-	private static boolean isBinaryPrimitveConstantOrString(IJavaElement element) {
-		if (element != null && element.getElementType() == IJavaElement.FIELD) {
-			IField field= (IField)element;
-			int flags;
-			try {
-				flags= field.getFlags();
-			} catch (JavaModelException ex) {
-				return false;
-			}
-			return field.isBinary() && Flags.isStatic(flags) && Flags.isFinal(flags) && isPrimitiveOrString(field);
-		}
-		return false;
-	}
-
-	private static boolean isPrimitiveOrString(IField field) {
-		String fieldType;
-		try {
-			fieldType= field.getTypeSignature();
-		} catch (JavaModelException ex) {
-			return false;
-		}
-		char first= fieldType.charAt(0);
-		return (first != Signature.C_RESOLVED && first != Signature.C_UNRESOLVED && first != Signature.C_ARRAY)
-			|| (first == Signature.C_RESOLVED && fieldType.substring(1, fieldType.length() - 1).equals(String.class.getName()));
-	}
-	
-	public static String getProjectScopeDescription(IType type) {
-		IJavaProject project= type.getJavaProject();
-		if (project != null)
-			return SearchMessages.getFormattedString("ProjectScope", project.getElementName()); //$NON-NLS-1$
-		else 
-			return SearchMessages.getFormattedString("ProjectScope", ""); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewActionGroup.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewActionGroup.java
deleted file mode 100644
index 82ace6c..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewActionGroup.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.ui.search2;
-
-import org.eclipse.jface.util.Assert;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.actions.ActionGroup;
-
-import org.eclipse.jdt.ui.actions.JavaSearchActionGroup;
-import org.eclipse.jdt.ui.actions.NavigateActionGroup;
-
-import org.eclipse.jdt.internal.ui.actions.CompositeActionGroup;
-
-class SearchViewActionGroup extends CompositeActionGroup {
-
-	public SearchViewActionGroup(IViewPart part) {
-		Assert.isNotNull(part);
-		setGroups(new ActionGroup[] {
-			new JavaSearchActionGroup(part),
-			new NavigateActionGroup(new SearchViewAdapter(new SearchViewSiteAdapter(part.getSite())))});
-	}
-}
-
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewAdapter.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewAdapter.java
deleted file mode 100644
index 3777971..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewAdapter.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.ui.search2;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.PartInitException;
-
-/**
- * This class adapts a Search view to return an adapted Search view site.
- * 
- * @see org.eclipse.jdt.internal.ui.search.SearchViewSiteAdapter
- * @since 2.1
- */
-class SearchViewAdapter implements IViewPart {
-	
-	private IWorkbenchPartSite fSite;
-
-	/**
-	 * Constructor for SearchViewAdapter.
-	 */
-	public SearchViewAdapter(IWorkbenchPartSite site) {
-		fSite= site;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#getSite()
-	 */
-	public IWorkbenchPartSite getSite() {
-		return fSite;
-	}
-
-	// --------- only empty stubs below ---------
-
-	/*
-	 * @see org.eclipse.ui.IViewPart#getViewSite()
-	 */
-	public IViewSite getViewSite() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IViewPart#init(IViewSite)
-	 */
-	public void init(IViewSite site) throws PartInitException {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.ui.IViewPart#init(IViewSite, IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.ui.IViewPart#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#addPropertyListener(IPropertyListener)
-	 */
-	public void addPropertyListener(IPropertyListener listener) {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleImage()
-	 */
-	public Image getTitleImage() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleToolTip()
-	 */
-	public String getTitleToolTip() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#removePropertyListener(IPropertyListener)
-	 */
-	public void removePropertyListener(IPropertyListener listener) {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewSiteAdapter.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewSiteAdapter.java
deleted file mode 100644
index 9ae3195..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jdt/internal/ui/search2/SearchViewSiteAdapter.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.ui.search2;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.PlatformObject;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.IWorkbenchWindow;
-
-import org.eclipse.search.ui.ISearchResultViewEntry;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.search.IJavaSearchUIConstants;
-import org.eclipse.jdt.internal.ui.search.SearchMessages;
-import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
-import org.eclipse.jdt.internal.ui.util.SelectionUtil;
-
-/**
- * This class adapts a Search view site.
- * It converts selection of Search view entries to
- * be a selection of Java elements.
- * 
- * @since 2.0
- */
-class SearchViewSiteAdapter extends PlatformObject implements IWorkbenchPartSite {
-	
-	private ISelectionProvider fProvider;
-	private IWorkbenchSite fSite;
-	
-	private ISelectionChangedListener fListener;
-
-	public SearchViewSiteAdapter(IWorkbenchSite site){
-		fSite= site;
-		setSelectionProvider(site.getSelectionProvider());
-	}
-	
-	public IWorkbenchPage getPage() {
-		return fSite.getPage();
-	}
-
-	public ISelectionProvider getSelectionProvider() {
-		return fProvider;
-	}
-
-	public Shell getShell() {
-		return JavaPlugin.getActiveWorkbenchShell();
-	}
-
-	public IWorkbenchWindow getWorkbenchWindow() {
-		return fSite.getWorkbenchWindow();
-	}
-	
-	public void setSelectionProvider(final ISelectionProvider provider) {
-		Assert.isNotNull(provider);
-		fProvider= 
-			new ISelectionProvider() {
-				public void addSelectionChangedListener(final ISelectionChangedListener listener) {
-					fListener=
-						new ISelectionChangedListener() {
-							public void selectionChanged(SelectionChangedEvent event) {
-								listener.selectionChanged(new SelectionChangedEvent(fProvider, convertSelection(event.getSelection())));
-							}
-						};
-					provider.addSelectionChangedListener(fListener);
-				}
-				public ISelection getSelection() {
-					return convertSelection(provider.getSelection());
-				}
-				public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-					provider.removeSelectionChangedListener(fListener);
-				}
-				public void setSelection(ISelection selection) {
-					// empty implementation
-				}
-			};
-	}
-
-	private ISelection convertSelection(ISelection selection) {
-		Object element= SelectionUtil.getSingleElement(selection);
-		if (element instanceof ISearchResultViewEntry) {
-			IMarker marker= ((ISearchResultViewEntry)element).getSelectedMarker();
-			if (marker != null && marker.exists())
-				try {
-					IJavaElement je= JavaCore.create((String) marker.getAttribute(IJavaSearchUIConstants.ATT_JE_HANDLE_ID));
-					if (je != null)
-						return new StructuredSelection(je);
-				} catch (CoreException ex) {
-					ExceptionHandler.log(ex, SearchMessages.getString("Search.Error.createJavaElement.message")); //$NON-NLS-1$
-				}
-		}
-		return StructuredSelection.EMPTY;		
-	}
-	
-	// --------- only empty stubs below ---------
-		
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPartSite#getId()
-	 */
-	public String getId() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPartSite#getKeyBindingService()
-	 */
-	public IKeyBindingService getKeyBindingService() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPartSite#getPluginId()
-	 */
-	public String getPluginId() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPartSite#getRegisteredName()
-	 */
-	public String getRegisteredName() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPartSite#registerContextMenu(MenuManager, ISelectionProvider)
-	 */
-	public void registerContextMenu(MenuManager menuManager, ISelectionProvider selectionProvider) {
-		// empty implementation
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPartSite#registerContextMenu(String, MenuManager, ISelectionProvider)
-	 */
-	public void registerContextMenu(String menuId, MenuManager menuManager, ISelectionProvider selectionProvider) {
-		// empty implementation
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/AbstractJspParser.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/AbstractJspParser.java
deleted file mode 100644
index 834f57e..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/AbstractJspParser.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import java.io.IOException;
-import java.io.Reader;
-
-public abstract class AbstractJspParser { 
-	
-	private Reader fReader;
-	private boolean fHasUnread;
-	private int fUnread;
-	private int fPos;
-	protected int fLines= 1;
-	
-	AbstractJspParser() {
-		super();
-	}
-	
-	private int getc() throws IOException {
-		fPos++;
-		if (fHasUnread) {
-			fHasUnread= false;
-			return fUnread;
-		}
-
-		int ch= fReader.read();
-
-		if (ch == '\n') // LF
-			fLines++;
-		else if (ch == '\r')  { // CR
-			int nextCh= getc();
-			if (nextCh != '\n')
-				fLines++;
-			return nextCh;
-		}
-		return ch;
-	}
-	
-	private void ungetc(int c) {
-		fHasUnread= true;
-		fUnread= c;
-		fPos--;
-	}
-	
-	private void parseDirective() throws IOException {
-		StringBuffer sb= new StringBuffer();
-		int pos= fPos;
-		while (true) {
-			int c = getc();
-			if (c == '%') {
-				c= getc();
-				if (c == '>') {
-					// get attributes
-					parseAttributes(pos, sb.toString());
-					return;
-				}
-			}
-			sb.append((char)c);
-		}
-	}
-	
-	private void parseTag(boolean endTag) throws IOException {
-		StringBuffer sb= new StringBuffer();
-		int pos= fPos;
-		while (true) {
-			int c= getc();
-			if (c == '/') {
-				c= getc();
-				if (c == '>') {
-					// get attributes
-					parseAttributes(pos, sb.toString());
-					return;
-				} else {
-					ungetc(c);
-				}
-			} else if (c == '>') {
-				// get attributes
-				parseAttributes(pos, sb.toString());
-				return;
-			}
-			sb.append((char)c);
-		}
-	}
-	
-	private void parseComment() throws IOException {
-		while (true) {
-			int c = getc();
-			if (c == '-') {
-				c= getc();
-				if (c == '-') {
-					c= getc();
-					if (c == '%') {
-						c= getc();
-						if (c == '>') {
-							return;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	private void parseJava(char type) throws IOException {
-		StringBuffer sb= new StringBuffer();
-		int line= fLines;
-		while (true) {
-			int c = getc();
-			if (c == '%') {
-				c= getc();
-				if (c == '>') {
-					java(type, sb.toString(), line);
-					return;
-				}
-			}
-			sb.append((char)c);
-		}
-	}
-	
-	protected void java(char tagType, String contents, int line) {
-		// empty implementation
-	}
-
-	private void parseAttributes(int pos, String s) {
-		
-		boolean hasValue= false;
-		StringBuffer name= new StringBuffer();
-		StringBuffer value= new StringBuffer();
-		String startTag= ""; //$NON-NLS-1$
-		int i= 0;
-		int ix= 0;
-		int startName= 0;
-		int startValue= 0;
-		char c= s.charAt(i++);
-		
-		try {
-			while (true) {
-				
-				// whitespace		
-				while (Character.isWhitespace(c))
-					c= s.charAt(i++);
-					
-				startName= i;
-				while (Character.isLetterOrDigit(c) || c == ':') {
-					name.append(c);
-					c= s.charAt(i++);
-				}
-				
-				// whitespace		
-				while (Character.isWhitespace(c))
-					c= s.charAt(i++);
-					
-				hasValue= false;
-				if (c == '=') {
-					c= s.charAt(i++);
-					
-					// value
-					while (Character.isWhitespace(c))
-						c= s.charAt(i++);
-						
-					startValue= i;
-
-					// Special handling for this taglib tag
-					if (startTag.equals("c:out"))  { //$NON-NLS-1$
-						value= value.append(s.substring(startValue, Math.max(startValue, s.length() - 2)));
-						name.setLength(0);
-						tagAttribute(name.toString(), value.toString(), startName+pos, startValue+pos);
-						break;
-					} else if (c == '"') {
-						c= s.charAt(i++);
-						while (c != '"') {
-							value.append(c);
-							c= s.charAt(i++);
-						}
-						c= s.charAt(i++);
-
-					} else {
-						while (Character.isLetterOrDigit(c)) {
-							value.append(c);
-							c= s.charAt(i++);
-						}
-					}
-					hasValue= true;
-				}
-					
-				if (ix == 0)  {
-					startTag= name.toString();
-					startTag(false, startTag, startName+pos);
-				} else 
-					tagAttribute(name.toString(), hasValue ? value.toString() : null, startName+pos, startValue+pos);
-				ix++;
-				
-				name.setLength(0);
-				value.setLength(0);
-			}
-		} catch (StringIndexOutOfBoundsException e) {
-			// we don't log this exception because it is used
-			// as one way to exit the scanning loop
-		}
-		
-		if (name.length() > 0) {
-			if (ix == 0)
-				startTag(false, name.toString(), startName+pos);
-			else 
-				tagAttribute(name.toString(), hasValue ? value.toString() : null, startName+pos, startValue+pos);
-		}
-		
-		endTag(false);
-	}
-	
-	protected void startTag(boolean endTag, String name, int startName) {
-		// empty implementation
-	}
-	
-	protected void tagAttribute(String attrName, String value, int startName, int startValue) {
-		// empty implementation
-	}
-	
-	protected void endTag(boolean end) {
-		// empty implementation
-	}
-	
-	protected void text(String t, int line) {
-		// empty implementation
-	}
-	
-	void parse(Reader reader) throws IOException {
-		int c;
-		StringBuffer buffer= new StringBuffer();
-		fPos= 0;
-		fLines= 1;
-		int line= fLines;
-		fReader= reader;	
-
-		while (true) {
-			c= getc();
-			switch (c) {
-			case -1:
-				if (buffer.length() > 0)
-					text(buffer.toString(), line);
-				return;
-			case '<':
-				c= getc();
-				if (c == '%') {
-					// flush buffer
-					if (buffer.length() > 0) {
-						text(buffer.toString(), line);
-						buffer.setLength(0);
-						line= fLines;
-					}
-					c= getc();
-					switch (c) {
-					case '-':
-						c= getc();
-						if (c == '-') {
-							parseComment();
-						} else {
-							ungetc(c);
-							continue;
-						}	
-						break;
-					case '@':
-						parseDirective();
-						break;
-					case ' ':
-					case '!':
-					case '=':
-						parseJava((char)c);
-						break;
-					default:
-						parseComment();
-						break;
-					}
-				} else if (c == '/') {
-					parseTag(true);
-				} else {
-					ungetc(c);
-					parseTag(false);
-				}
-				break;
-			default:
-				buffer.append((char)c);
-				break;
-			}
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JavaFamilyExamplePreferencePage.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JavaFamilyExamplePreferencePage.java
deleted file mode 100644
index 0bdabcc..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JavaFamilyExamplePreferencePage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-
-public class JavaFamilyExamplePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite c= new Composite(parent, SWT.NULL);
-		//c.setLayout(new FillLayout());
-		
-		final Button b= new Button(c, SWT.NULL);
-		b.setText(getButtonLabel());
-		b.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				JspUIPlugin.getDefault().controlJSPIndexing(!JspUIPlugin.getDefault().isJSPIndexingOn());
-				b.setText(getButtonLabel());
-			}
-		});
-		b.pack();
-		
-		return c;
-	}
-	
-	private String getButtonLabel() {
-		if (JspUIPlugin.getDefault().isJSPIndexingOn())
-			return "Stop JSP Indexing"; //$NON-NLS-1$
-		return "Start JSP Indexing"; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-		// empty implementation
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspIndexParser.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspIndexParser.java
deleted file mode 100644
index a5a3811..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspIndexParser.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import java.io.*;
-import java.io.Reader;
-
-import org.eclipse.core.indexsearch.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-
-/**
- * @author weinand
- */
-public class JspIndexParser extends AbstractJspParser implements IIndexer {
-	
-	public static final String JSP_TYPE_REF= "jsp_typeRef";	//$NON-NLS-1$
-	
-	IFile fFile;
-	String fFilePath;
-	boolean fInUseBean;
-	String fId;
-	String fClass;
-	IIndex fOutput;
-	
-
-	JspIndexParser(IFile resource) {
-		fFile= resource;
-	}
-	
-	protected void startTag(boolean endTag, String name, int startName) {
-		fInUseBean= "jsp:useBean".equals(name); //$NON-NLS-1$
-	}
-	
-	protected void tagAttribute(String attrName, String value, int startName, int startValue) {
-		if (fInUseBean) {
-			if ("id".equals(attrName)) //$NON-NLS-1$
-				fId= value;
-			else if ("class".equals(attrName)) //$NON-NLS-1$
-				fClass= value;
-		}
-	}
-	
-	protected void endTag(boolean end) {
-		if (fInUseBean) {
-			if (fId != null && fClass != null) {
-
-				String s= JSP_TYPE_REF + "/" + fClass; //$NON-NLS-1$
-				System.out.println("  " + s); //$NON-NLS-1$
-				fOutput.addRef(s, fFilePath);				
-
-				fId= fClass= null;
-			}
-			fInUseBean= false;
-		}
-	}
-	
-	public void index(IIndex indexerOutput) throws IOException {
-		
-		String type= fFile.getFileExtension();
-		if (type != null && JspUIPlugin.JSP_TYPE.equalsIgnoreCase(type)) {
-			
-			// Add the name of the file to the index
-			String path= fFile.getFullPath().toString();
-			
-			String encoding= null;
-			try {
-				encoding= fFile.getCharset();
-			} catch (CoreException e1) {
-			}
-			if (encoding == null)
-				encoding= ResourcesPlugin.getEncoding();
-			
-			String s= null;
-			IPath location= fFile.getLocation();
-			if (location == null)
-				s= "";
-			else
-				s= new String(Util.getFileCharContent(location.toFile(), encoding));
-			
-			try {
-				Reader reader= new StringReader(s);
-				fOutput= indexerOutput;
-				fFilePath= path;			
-				parse(reader);
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspMatchLocatorParser.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspMatchLocatorParser.java
deleted file mode 100644
index d7a8995..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspMatchLocatorParser.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.indexsearch.*;
-
-
-public class JspMatchLocatorParser extends AbstractJspParser {
-
-	IFile fResource;
-	String fMatchString;
-	ISearchResultCollector fCollector;
-
-	boolean fInUseBean;
-	String fId;
-	String fClass;
-
-	public JspMatchLocatorParser() {
-		super();
-	}
-
-	protected void startTag(boolean endTag, String name, int startName) {
-		fInUseBean= "jsp:useBean".equals(name); //$NON-NLS-1$
-	}
-
-	protected void tagAttribute(String attrName, String value, int startName, int startValue) {
-		if (fInUseBean && "class".equals(attrName) && fMatchString.equals(value)) { //$NON-NLS-1$
-			try {
-				fCollector.accept(fResource, startValue, value.length());
-			} catch (CoreException e) {
-				e.printStackTrace();
-			}
-		}
-	}
-
-	public void match(IFile resource, String matchString, ISearchResultCollector collector) {
-		
-		fResource= resource;
-		fMatchString= matchString;
-		fCollector= collector;
-		Reader reader= null;
-		
-		try {
-			reader= new InputStreamReader(fResource.getContents());
-		} catch (CoreException e1) {
-			e1.printStackTrace();
-		}
-				
-		try {
-			parse(reader);
-		} catch (IOException e2) {
-			e2.printStackTrace();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspPluginImages.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspPluginImages.java
deleted file mode 100644
index 9a74eec..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspPluginImages.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.jsp;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * The images provided by the debug plugin.
- */
-public class JspPluginImages {
-
-	/** 
-	 * The image registry containing <code>Image</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-	
-	/**
-	 * A table of all the <code>ImageDescriptor</code>s.
-	 */
-	private static HashMap imageDescriptors;
-	
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$
-			
-		try {
-			ICON_BASE_URL= new URL(JspUIPlugin.getDefault().getDescriptor().getInstallURL(), pathSuffix);
-		} catch (MalformedURLException e) {
-			// do nothing
-		}
-	}
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	//private final static String CTOOL= "ctool16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	//private final static String LOCALTOOL= "clcl16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	//private final static String DLCL= "dlcl16/"; //disabled - size 16x16 //$NON-NLS-1$
-	//private final static String ELCL= "elcl16/"; //enabled - size 16x16 //$NON-NLS-1$
-	private final static String OBJECT= "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	//private final static String WIZBAN= "wizban/"; //basic colors - size 16x16 //$NON-NLS-1$
-	//private final static String OVR= "ovr16/"; //basic colors - size 7x8 //$NON-NLS-1$
-	//private final static String VIEW= "cview16/"; // views //$NON-NLS-1$
-	
-	public final static String IMG_OBJ_TOMCAT = "IMG_TOMCAT"; //$NON-NLS-1$
-	public final static String IMG_OBJ_JSP = "IMG_OBJ_JSP"; //$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {
-
-		declareRegistryImage(IMG_OBJ_TOMCAT, OBJECT + "tomcat_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IMG_OBJ_JSP, OBJECT + "jsp_obj.gif"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Declare an Image in the registry table.
-	 * @param key 	The key to use when registering the image
-	 * @param path	The path where the image can be found. This path is relative to where
-	 *				this plugin class is found (i.e. typically the packages directory)
-	 */
-	private final static void declareRegistryImage(String key, String path) {
-		ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
-		try {
-			desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
-		} catch (MalformedURLException me) {
-			DebugPlugin.log(me);
-		}
-		imageRegistry.put(key, desc);
-		imageDescriptors.put(key, desc);
-	}
-	
-	/**
-	 * Returns the ImageRegistry.
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry;
-	}
-
-	/**
-	 *	Initialize the image registry by declaring all of the required
-	 *	graphics. This involves creating JFace image descriptors describing
-	 *	how to create/find the image should it be needed.
-	 *	The image is not actually allocated until requested.
-	 *
-	 * 	Prefix conventions
-	 *		Wizard Banners			WIZBAN_
-	 *		Preference Banners		PREF_BAN_
-	 *		Property Page Banners	PROPBAN_
-	 *		Color toolbar			CTOOL_
-	 *		Enable toolbar			ETOOL_
-	 *		Disable toolbar			DTOOL_
-	 *		Local enabled toolbar	ELCL_
-	 *		Local Disable toolbar	DLCL_
-	 *		Object large			OBJL_
-	 *		Object small			OBJS_
-	 *		View 					VIEW_
-	 *		Product images			PROD_
-	 *		Misc images				MISC_
-	 *
-	 *	Where are the images?
-	 *		The images (typically gifs) are found in the same location as this plugin class.
-	 *		This may mean the same package directory as the package holding this class.
-	 *		The images are declared using this.getClass() to ensure they are looked up via
-	 *		this plugin class.
-	 *	@see JFace's ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(JspUIPlugin.getStandardDisplay());
-		imageDescriptors = new HashMap(30);
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageDescriptors == null) {
-			initializeImageRegistry();
-		}
-		return (ImageDescriptor)imageDescriptors.get(key);
-	}
-	
-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-			
-		return new URL(ICON_BASE_URL, iconPath);
-	}
-}
-
-
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspSearchEngine.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspSearchEngine.java
deleted file mode 100644
index c9bc908..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspSearchEngine.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import org.eclipse.core.indexsearch.IIndexQuery;
-import org.eclipse.core.indexsearch.ISearchResultCollector;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.search.IJavaSearchResultCollector;
-
-
-public class JspSearchEngine {
-
-	public static void search(final IJavaSearchResultCollector collector, final IIndexQuery query, IProgressMonitor pm) {
-		
-		System.out.println("JspSearchEngine.search: " + query); //$NON-NLS-1$
-									
-		JspUIPlugin.getDefault().search(
-			query,
-			new ISearchResultCollector() {
-				public void accept(IResource resource, int start, int length) throws CoreException {
-					System.out.println("  accept: " + resource); //$NON-NLS-1$
-					collector.accept(resource, start, start+length, null, 999);
-				}
-			},
-			pm
-		);
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspTranslator.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspTranslator.java
deleted file mode 100644
index 3bab3ac..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspTranslator.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-
-import org.eclipse.jface.text.source.ITagHandler;
-import org.eclipse.jface.text.source.ITagHandlerFactory;
-import org.eclipse.jface.text.source.ITranslator;
-
-import org.eclipse.jdt.internal.ui.examples.jspeditor.JspTranslatorResultCollector;
-
-
-public class JspTranslator extends AbstractJspParser implements ITranslator {
-	
-	private StringBuffer fDeclarations= new StringBuffer();
-	private StringBuffer fContent= new StringBuffer();
-	private StringBuffer fLocalDeclarations= new StringBuffer();
-	
-	private ArrayList fContentLines= new ArrayList();
-	private ArrayList fDeclarationLines= new ArrayList();
-	private ArrayList fLocalDeclarationLines= new ArrayList();
-	private int[] fSmap;
-	
-	private ITagHandlerFactory fTagHandlerFactor;
-	private ITagHandler fCurrentTagHandler;
-
-	private JspTranslatorResultCollector fResultCollector;
-	
-	
-	public JspTranslator() {
-		
-		// Links for passing parameters to the tag handlers 
-		fResultCollector= new JspTranslatorResultCollector(fDeclarations, fLocalDeclarations, fContent, fDeclarationLines, fLocalDeclarationLines, fContentLines);
-	}
-		
-	protected void startTag(boolean endTag, String name, int startName) {
-
-		fCurrentTagHandler= fTagHandlerFactor.getHandler(name);
-	}
-	
-	protected void tagAttribute(String attrName, String value, int startName, int startValue) {
-
-		if (fCurrentTagHandler != null)
-			fCurrentTagHandler.addAttribute(attrName, value, fLines);
-	}
-	
-	protected void endTag(boolean end) {
-
-		if (fCurrentTagHandler != null)
-			try  {
-				fCurrentTagHandler.processEndTag(fResultCollector, fLines);
-			} catch (IOException ex)  {
-				ex.printStackTrace();
-			}
-	}
-	
-	protected void java(char ch, String java, int line) {
-
-		if (ch == '!')
-			fCurrentTagHandler= fTagHandlerFactor.getHandler("<%!"); //$NON-NLS-1$
-		else
-			fCurrentTagHandler= fTagHandlerFactor.getHandler("<%"); //$NON-NLS-1$
-
-		/*
-		 * XXX: This is needed because the used parser does not treat
-		 *      "<%" like every other tag.
-		 */
-		fCurrentTagHandler.addAttribute("source", java, line); //$NON-NLS-1$
-
-		try {
-			fCurrentTagHandler.processEndTag(fResultCollector, line);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	protected void text(String t, int line) {
-		int i= 0;
-		StringBuffer out= new StringBuffer();
-		while (i < t.length()) {
-			char c= t.charAt(i++);
-			if (c == '\n') {
-				fContent.append("    System.out.println(\"" + out.toString() + "\");  //$NON-NLS-1$\n");  //$NON-NLS-1$//$NON-NLS-2$
-				fContentLines.add(new Integer(line++));
-				out.setLength(0);
-			} else {
-				out.append(c);	
-			}
-		}
-		if (out.length() > 0)  {
-			fContent.append("    System.out.print(\"" + out.toString() + "\");  //$NON-NLS-1$\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			fContentLines.add(new Integer(line));
-		}
-	}
-	
-	private void resetTranslator() {
-		fDeclarations.setLength(0);
-		fContent.setLength(0);
-		fLocalDeclarations.setLength(0);
-		
-		fLocalDeclarationLines.clear();
-		fContentLines.clear();
-		fDeclarationLines.clear();
-		
-	}
-
-	public String translate(Reader reader, String name) throws IOException  {
-
-		StringBuffer buffer= new StringBuffer();
-		
-		resetTranslator();
-		parse(reader);
-
-		int lineCount= 2 + fDeclarationLines.size() + 1 + 1 + fLocalDeclarationLines.size() + fContentLines.size() + 3;
-		fSmap= new int[lineCount];
-		int line= 0;
-		fSmap[line++]= 1;
-
-		buffer.append("public class " + name + " {\n\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		fSmap[line++]= 1;
-		fSmap[line++]= 1;
-
-		buffer.append(fDeclarations.toString() + "\n"); //$NON-NLS-1$
-		System.out.println(fDeclarations.toString());
-		for (int i= 0; i < fDeclarationLines.size(); i++)  {
-			fSmap[line++]= ((Integer)fDeclarationLines.get(i)).intValue();
-			System.out.println("" + ((Integer)fDeclarationLines.get(i)).intValue()); //$NON-NLS-1$
-		}
-		fSmap[line]= fSmap[line - 1] + 1;
-		line++;
-
-		buffer.append("  public void out() {\n"); //$NON-NLS-1$
-		fSmap[line]= fSmap[line - 1] + 1;
-		line++;
-		
-		if (fLocalDeclarations.length() > 0)  {
-			buffer.append(fLocalDeclarations.toString());
-			System.out.println(fLocalDeclarations);
-			for (int i= 0; i < fLocalDeclarationLines.size(); i++) {
-				System.out.println("" + ((Integer)fLocalDeclarationLines.get(i)).intValue()); //$NON-NLS-1$
-				fSmap[line++]= ((Integer)fLocalDeclarationLines.get(i)).intValue();
-			}
-		}
-		
-		buffer.append(fContent.toString());
-		System.out.println(fContent);
-		for (int i= 0; i < fContentLines.size(); i++)  {
-			fSmap[line++]= ((Integer)fContentLines.get(i)).intValue();
-			System.out.println("" + ((Integer)fContentLines.get(i)).intValue()); //$NON-NLS-1$
-		}
-
-		buffer.append("  }\n"); //$NON-NLS-1$
-		fSmap[line]= fSmap[line - 1];
-
-		line++;
-		
-		buffer.append("}\n"); //$NON-NLS-1$
-		fSmap[line]= fSmap[line - 2];
-		
-		for (int i= 0; i < fSmap.length; i++)
-			System.out.println("" + i + " -> " + fSmap[i]); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		System.out.println(buffer.toString());
-		
-		return buffer.toString();
-	}
-	
-	public int[] getLineMapping()  {
-		return fSmap;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.ITranslator#setTagHandlerFactory(org.eclipse.jface.text.source.ITagHandlerFactory)
-	 */
-	public void setTagHandlerFactory(ITagHandlerFactory tagHandlerFactory) {
-		fTagHandlerFactor= tagHandlerFactory;
-	}
-
-	/*
-	 * @see ITranslator#backTranslateOffsetInLine(String, String, int)
-	 */
-	public int backTranslateOffsetInLine(String originalLine, String translatedLine, int offsetInTranslatedLine, String tag)  {
-
-		ITagHandler handler;
-		if (tag != null)
-			handler= fTagHandlerFactor.getHandler(tag);
-		else
-			handler= fTagHandlerFactor.findHandler(originalLine);
-
-		if (handler != null)
-			return handler.backTranslateOffsetInLine(originalLine, translatedLine, offsetInTranslatedLine);
-
-		return -1;
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspTypeQuery.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspTypeQuery.java
deleted file mode 100644
index 44a15e1..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspTypeQuery.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import java.io.IOException;
-import java.util.*;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.indexsearch.*;
-import org.eclipse.core.indexsearch.IIndexQuery;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-
-/**
- * Implementation for a JSP type query.
- */
-public class JspTypeQuery implements IIndexQuery {
-
-	private IType fType;
-	private JspMatchLocatorParser fParser;
-	
-	public JspTypeQuery(IType type) {
-		fType= type;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.search.ISearch#computePathsKeyingIndexFiles(java.util.ArrayList)
-	 */
-	public void computePathsKeyingIndexFiles(ArrayList requiredIndexKeys) {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IProject[] projects= workspace.getRoot().getProjects();
-		try {
-			for (int i= 0; i < projects.length; i++) {
-				IProject project= projects[i];
-				if (!project.isAccessible() || !project.hasNature(JavaCore.NATURE_ID))
-					continue;
-				IPath path= project.getFullPath();
-				if (requiredIndexKeys.indexOf(path) == -1) {
-					requiredIndexKeys.add(path);
-				}
-			}
-		} catch (CoreException ex) {
-			JspUIPlugin.log("jsp query internal error", ex); //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.search.ISearch#findIndexMatches(org.eclipse.jdt.internal.core.index.IIndex, org.eclipse.jdt.internal.core.search.PathCollector, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void findIndexMatches(IIndex index, HashSet pathCollector, IProgressMonitor progressMonitor) throws IOException {
-
-		String typeName= fType.getFullyQualifiedName();
-		String s= JspIndexParser.JSP_TYPE_REF + "/" + typeName; //$NON-NLS-1$
-		index.queryPrefix(pathCollector, s);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.search.ISearch#locateMatches(org.eclipse.core.resources.IFile, org.eclipse.jsp.IJspSearchResultCollector)
-	 */
-	public void locateMatches(IFile candidate, ISearchResultCollector resultCollector) {
-		if (fParser== null)
-			fParser= new JspMatchLocatorParser();
-		String typeName= fType.getFullyQualifiedName();
-		fParser.match(candidate, typeName, resultCollector);
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspUIPlugin.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspUIPlugin.java
deleted file mode 100644
index 0b25dc5..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/JspUIPlugin.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import org.eclipse.core.indexsearch.IIndexQuery;
-import org.eclipse.core.indexsearch.ISearchResultCollector;
-import org.eclipse.core.indexsearch.SearchEngine;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageRegistry;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.editors.text.TextEditorPreferenceConstants;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- */
-public class JspUIPlugin extends AbstractUIPlugin implements IResourceChangeListener {
-		
-	/**
-	 * The id of the JavaFamilyExample plugin (value <code>"org.eclipse.jdt.ui.examples.javafamily"</code>).
-	 */	
-	public static final String ID_PLUGIN= "org.eclipse.jdt.ui.examples.javafamily"; //$NON-NLS-1$
-
-	public static final String JSP_TYPE= "jsp"; //$NON-NLS-1$
-	
-	private static final boolean DEBUG= false;
-	private static JspUIPlugin fgDefault;
-	private static boolean fgJSPIndexingIsEnabled= false;
-	
-	private SearchEngine fSearchEngine;
-	
-	/**
-	 * @param descriptor
-	 */
-	public JspUIPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgDefault= this;
-		fSearchEngine= SearchEngine.getSearchEngine();
-	}
-	
-	public static JspUIPlugin getDefault() {
-		return fgDefault;
-	}
-
-	void controlJSPIndexing(boolean enable) {
-		if (fgJSPIndexingIsEnabled != enable) {
-			fgJSPIndexingIsEnabled= enable;
-			IWorkspace workspace= ResourcesPlugin.getWorkspace();
-			if (enable) {
-				
-				IResourceProxyVisitor visitor=
-					new IResourceProxyVisitor() {
-						public boolean visit(IResourceProxy proxy) throws CoreException {
-							String name= proxy.getName();
-							int pos= name.lastIndexOf('.');
-							if (pos >= 0) {
-								String extension= name.substring(pos+1);
-								if (JSP_TYPE.equalsIgnoreCase(extension)) {
-									IResource r= proxy.requestResource();
-									if (r instanceof IFile)
-										jspAdded((IFile)r);
-								}
-							}
-							return true;
-						}
-					};
-				try {
-					workspace.getRoot().accept(visitor, 0);
-				} catch (CoreException e) {
-					log("visiting jsp files", e); //$NON-NLS-1$
-				}
-				
-				workspace.addResourceChangeListener(this,
-	//					IResourceChangeEvent.PRE_AUTO_BUILD |
-	//					IResourceChangeEvent.POST_AUTO_BUILD |
-						IResourceChangeEvent.POST_CHANGE |
-						IResourceChangeEvent.PRE_DELETE |
-						IResourceChangeEvent.PRE_CLOSE
-				);					
-			} else {
-				workspace.removeResourceChangeListener(this);					
-			}
-		}
-	}
-		
-	boolean isJSPIndexingOn() {
-		return fgJSPIndexingIsEnabled;
-	}
-	
-	public void resourceChanged(IResourceChangeEvent event) {
-		if ( !fgJSPIndexingIsEnabled || event == null)
-			return;
-		IResourceDelta d= event.getDelta();
-		if (d == null)
-			return;
-		try {
-			d.accept(
-				new IResourceDeltaVisitor() {
-					public boolean visit(IResourceDelta delta) {
-						if (delta != null) {
-							IResource r= delta.getResource();
-							if (r instanceof IFile) {
-								IFile file= (IFile) r;
-								String type= file.getFileExtension();
-								if (JSP_TYPE.equalsIgnoreCase(type)) {
-									switch (delta.getKind()) {
-									case IResourceDelta.ADDED:
-										jspAdded(file);
-										break;
-									case IResourceDelta.REMOVED:
-										jspRemoved(file);
-										break;
-									case IResourceDelta.CHANGED:
-										// no need to index if the content has not changed
-										if ((delta.getFlags() & IResourceDelta.CONTENT) != 0)
-											jspAdded(file);
-										break;
-									}					
-								}
-							}
-						}
-						return true;
-					}
-				}
-			);
-		} catch (CoreException e) {
-			log("processing resource delta", e); //$NON-NLS-1$
-		}
-	}
-	
-	public static void log(String message, Throwable e) {
-		getDefault().getLog().log(new Status(IStatus.ERROR, ID_PLUGIN, IStatus.ERROR, message, e));
-	}
-	
-	void jspAdded(IFile jspFile) {
-		if (DEBUG) System.out.println("Added: " + jspFile); //$NON-NLS-1$		
-		JspIndexParser indexer= new JspIndexParser(jspFile);
-		fSearchEngine.add(jspFile.getProject().getFullPath(), indexer);
-	}
-	
-	void jspRemoved(IFile jspFile) {
-		if (DEBUG) System.out.println("Removed: " + jspFile); //$NON-NLS-1$
-		fSearchEngine.remove(jspFile.getFullPath().toString(), jspFile.getProject().getFullPath());
-	}
-	
-	public void search(IIndexQuery query, ISearchResultCollector resultCollector, IProgressMonitor pm) {
-		fSearchEngine.search(query, resultCollector, pm, SearchEngine.WAIT_UNTIL_READY_TO_SEARCH);
-	}
-		
-	/**
-	 * Shutdown the JspCore plug-in.
-	 * <p>
-	 * De-registers the resource changed listener.
-	 * <p>
-	 * @see org.eclipse.core.runtime.Plugin#shutdown()
-	 */
-	public void shutdown() {
-		controlJSPIndexing(false);
-	}
-	
-	protected void initializeDefaultPreferences(IPreferenceStore prefs) {
-		TextEditorPreferenceConstants.initializeDefaultValues(prefs);
-	}
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display= Display.getCurrent();
-		if (display == null) {
-			display= Display.getDefault();
-		}
-		return display;		
-	}
-	
-	protected ImageRegistry createImageRegistry() {
-		return JspPluginImages.initializeImageRegistry();
-	}	
-		
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/RenameTypeParticipant.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/RenameTypeParticipant.java
deleted file mode 100644
index a8c27b2..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/RenameTypeParticipant.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jsp;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.text.edits.ReplaceEdit;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.core.indexsearch.ISearchResultCollector;
-
-import org.eclipse.jdt.core.IType;
-
-import org.eclipse.jdt.internal.corext.refactoring.changes.TextChangeCompatibility;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.TextFileChange;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-
-public class RenameTypeParticipant extends RenameParticipant {
-
-	private IType fType;
-
-	protected boolean initialize(Object element) {
-		fType= (IType)element;
-		return true;
-	}
-
-	public String getName() {
-		return "JSP participant";
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.corext.refactoring.participants.IRenameParticipant#checkInput(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) {
-		return new RefactoringStatus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.corext.refactoring.participants.IRenameParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		final Map changes= new HashMap();
-		final String newName= computeNewName();
-		ISearchResultCollector collector= new ISearchResultCollector() {
-			public void accept(IResource resource, int start, int length) throws CoreException {
-				TextFileChange change= (TextFileChange)changes.get(resource);
-				if (change == null) {
-					change= new TextFileChange(resource.getName(), (IFile)resource);
-					changes.put(resource, change);
-				}
-				TextChangeCompatibility.addTextEdit(change, "Update type reference", new ReplaceEdit(start, length, newName)); //$NON-NLS-1$
-			}
-		};
-		JspUIPlugin.getDefault().search(new JspTypeQuery(fType), collector, pm);
-		
-		if (changes.size() == 0)
-			return null;
-		CompositeChange result= new CompositeChange("JSP updates"); //$NON-NLS-1$
-		for (Iterator iter= changes.values().iterator(); iter.hasNext();) {
-			result.add((Change)iter.next());
-		}
-		return result;
-	}
-	
-	private String computeNewName() {
-		String newName= getArguments().getNewName();
-		String currentName= fType.getFullyQualifiedName();
-		int pos= currentName.lastIndexOf('.');
-		if (pos == -1)
-			return newName;
-		return currentName.substring(0, pos + 1) + newName;
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/Util.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/Util.java
deleted file mode 100644
index b83b9f2..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/Util.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp;
-
-import java.io.*;
-import java.io.File;
-
-public class Util {
-	
-	static char[] getChars(String s) {
-		int l= s.length();
-		char[] cc= new char[l];
-		if (l > 0)
-			s.getChars(0, l, cc, 0);
-		return cc;
-	}
-	
-	static char[] getFileCharContent(File file, String encoding) throws IOException {
-		System.out.println("****jdt.internal.compiler.util.Util.getFileCharContent: " + file + " " + encoding);
-		InputStream stream = null;
-		try {
-			stream = new BufferedInputStream(new FileInputStream(file));
-			return Util.getInputStreamAsCharArray(stream, (int) file.length(), encoding);
-		} finally {
-			if (stream != null) {
-				try {
-					stream.close();
-				} catch (IOException e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	public static char[] getInputStreamAsCharArray(InputStream stream, int length, String encoding) throws IOException {
-		InputStreamReader reader = (encoding == null)
-			? new InputStreamReader(stream)
-			: new InputStreamReader(stream, encoding);
-		char[] contents;
-		if (length == -1) {
-			contents = new char[0];
-			int contentsLength = 0;
-			int amountRead = -1;
-			do {
-				int amountRequested = Math.max(stream.available(), 8192);  // read at least 8K
-
-				// resize contents if needed
-				if (contentsLength + amountRequested > contents.length) {
-					System.arraycopy(
-							contents,
-							0,
-							contents = new char[contentsLength + amountRequested],
-							0,
-							contentsLength);
-				}
-
-				// read as many chars as possible
-				amountRead = reader.read(contents, contentsLength, amountRequested);
-
-				if (amountRead > 0) {
-					// remember length of contents
-					contentsLength += amountRead;
-				}
-			} while (amountRead != -1);
-
-			// resize contents if necessary
-			if (contentsLength < contents.length) {
-				System.arraycopy(
-						contents,
-						0,
-						contents = new char[contentsLength],
-						0,
-						contentsLength);
-			}
-		} else {
-			contents = new char[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 = reader.read(contents, len, length - len);
-			}
-			// See PR 1FMS89U
-			// Now we need to resize in case the default encoding used more than one byte for each
-			// character
-			if (len != length)
-				System.arraycopy(contents, 0, (contents = new char[len]), 0, len);
-		}
-
-		return contents;
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/LaunchingMessages.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/LaunchingMessages.java
deleted file mode 100644
index f0c7c3d..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/LaunchingMessages.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.jsp.launching;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * LaunchingMessages
- */
-public class LaunchingMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.jsp.launching.LaunchingMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	/**
-	 * 
-	 */
-	private LaunchingMessages() {
-		super();
-	}
-	/**
-	 * @param key
-	 * @return
-	 */
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/LaunchingMessages.properties b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/LaunchingMessages.properties
deleted file mode 100644
index 1c314cd..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/LaunchingMessages.properties
+++ /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
-###############################################################################
-
-ToggleJspBreakpointAction.2=Toggle Breakpoint
-
-TomcatLaunchDelegate.6=Unable to resolve ${catalina_home}
-TomcatLaunchDelegate.7=Specified $catalina_home does not exist: {0}
-TomcatLaunchDelegate.8=Unable to resolve ${catalina_home}
-TomcatLaunchDelegate.9=${catalina_home} variable does not exist.
-
-TomcatTab.3=&Tomcat install location:
-TomcatTab.4=Select a Tomcat installation directory
-TomcatTab.5=Tomcat installation directory does not exist.
-TomcatTab.6=Tomcat installation directory is not a directory.
-TomcatTab.7=Tomcat
-TomcatTab.21=&Browse...
-TomcatTab.22=W&eb application root:
-TomcatTab.23=B&rowse...
-TomcatTab.24=Select a single folder
-TomcatTab.25=Select a folder
-TomcatTab.27=Selected folder does not contain a WEB-INF folder
-TomcatTab.28=Web Application Selection
-TomcatTab.29=Choose the root folder of a web application
-TomcatTab.30=Specified web application root does not exist.
-TomcatTab.31=Specified web application root must be a folder or project.
-
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/ToggleJspBreakpointAction.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/ToggleJspBreakpointAction.java
deleted file mode 100644
index f1722c4..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/ToggleJspBreakpointAction.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.jsp.launching;
-
-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.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jdt.debug.core.IJavaStratumLineBreakpoint;
-import org.eclipse.jdt.debug.core.JDIDebugModel;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * ToggleJspBreakpointAction
- */
-public class ToggleJspBreakpointAction extends Action implements IAction {
-	
-	private ITextEditor fEditor;
-	private IVerticalRulerInfo fRulerInfo;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint[] breakpoints = manager.getBreakpoints();
-		IResource resource = getResource();
-		int lineNumber = fRulerInfo.getLineOfLastMouseButtonActivity() + 1;
-		for (int i = 0; i < breakpoints.length; i++) {
-			IBreakpoint bp = breakpoints[i];
-			if (bp instanceof IJavaStratumLineBreakpoint) {
-				IJavaStratumLineBreakpoint breakpoint = (IJavaStratumLineBreakpoint)bp;
-				if (breakpoint.getMarker().getResource().equals(resource)) {
-					try {
-						if (breakpoint.getLineNumber() == lineNumber) {
-							// remove
-							breakpoint.delete();
-							return;
-						}
-					} catch (CoreException e) {
-						e.printStackTrace();
-					}
-				} 
-			}
-		}
-		createBreakpoint();
-	}
-	
-	protected void createBreakpoint() {
-		IResource resource = getResource();
-		int lineNumber = fRulerInfo.getLineOfLastMouseButtonActivity() + 1;
-		try {
-			JDIDebugModel.createStratumBreakpoint(resource, "JSP", resource.getName(), null, "*_jsp", lineNumber, -1, -1, 0, true, null); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * @param editor
-	 * @param rulerInfo
-	 */
-	public ToggleJspBreakpointAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		super(LaunchingMessages.getString("ToggleJspBreakpointAction.2")); //$NON-NLS-1$
-		fEditor = editor;
-		fRulerInfo = rulerInfo; 
-	}
-
-	protected IResource getResource() {
-		IEditorInput input= fEditor.getEditorInput();
-		IResource resource= (IResource) input.getAdapter(IFile.class);
-		if (resource == null) {
-			resource= (IResource) input.getAdapter(IResource.class);
-		}
-		return resource;
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/ToggleJspBreakpointRulerActionDelegate.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/ToggleJspBreakpointRulerActionDelegate.java
deleted file mode 100644
index 85cafef..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/ToggleJspBreakpointRulerActionDelegate.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp.launching;
-
-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;
-
-/**
- * ToggleJspBreakpointActionDelegate
- */
-public class ToggleJspBreakpointRulerActionDelegate extends AbstractRulerActionDelegate {
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractRulerActionDelegate#createAction(org.eclipse.ui.texteditor.ITextEditor, org.eclipse.jface.text.source.IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		return new ToggleJspBreakpointAction(editor, rulerInfo);
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatClasspathProvider.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatClasspathProvider.java
deleted file mode 100644
index d6eb4b5..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatClasspathProvider.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsp.launching;
-
-import java.util.ArrayList;
-import java.util.List;
-
-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.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.jdt.launching.StandardClasspathProvider;
-
-/**
- * TomcatClasspathProvider
- */
-public class TomcatClasspathProvider extends StandardClasspathProvider {
-
-	/**
-	 * Tomcat requires <code>tools.jar</code> and <code>bootstrap.jar</code> on its
-	 * classpath.
-	 * 
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathProvider#computeUnresolvedClasspath(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] computeUnresolvedClasspath(ILaunchConfiguration configuration) throws CoreException {
-		boolean useDefault = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, true);
-		if (useDefault) {
-			IVMInstall vm = JavaRuntime.computeVMInstall(configuration);
-			LibraryLocation[] libs = JavaRuntime.getLibraryLocations(vm);
-			if (libs == null) {
-				return new IRuntimeClasspathEntry[0];
-			} else {
-				List rtes = new ArrayList();
-				// add bootstrap.jar
-				String catalinaHome = TomcatLaunchDelegate.getCatalinaHome();
-				IPath path = new Path(catalinaHome).append("bin").append("bootstrap.jar"); //$NON-NLS-1$ //$NON-NLS-2$
-				IRuntimeClasspathEntry r = JavaRuntime.newArchiveRuntimeClasspathEntry(path);
-				rtes.add(r);
-				// add class libraries to bootpath			
-				boolean tools = false; // keeps track of whether a tools.jar was found	
-				for (int i = 0; i < libs.length; i++) {
-					LibraryLocation lib = libs[i];
-					r = JavaRuntime.newArchiveRuntimeClasspathEntry(lib.getSystemLibraryPath());
-					r.setSourceAttachmentPath(lib.getSystemLibrarySourcePath());
-					r.setSourceAttachmentRootPath(lib.getPackageRootPath());
-					r.setClasspathProperty(IRuntimeClasspathEntry.STANDARD_CLASSES);
-					rtes.add(r);
-					if (lib.getSystemLibraryPath().toString().endsWith("tools.jar")) { //$NON-NLS-1$
-						tools = true;
-					}
-				}
-				if (!tools) {
-					// add a tools.jar
-					IPath toolsPath = new Path(vm.getInstallLocation().getAbsolutePath()).append("lib").append("tools.jar"); //$NON-NLS-1$ //$NON-NLS-2$
-					if (toolsPath.toFile().exists()) {
-						r = JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath);
-						r.setClasspathProperty(IRuntimeClasspathEntry.USER_CLASSES);
-						rtes.add(r);
-					}
-				}
-				return (IRuntimeClasspathEntry[])rtes.toArray(new IRuntimeClasspathEntry[rtes.size()]);
-			}				
-		} else {
-			// recover persisted classpath
-			return recoverRuntimePath(configuration, IJavaLaunchConfigurationConstants.ATTR_CLASSPATH);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatLaunchDelegate.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatLaunchDelegate.java
deleted file mode 100644
index 1d7946a..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatLaunchDelegate.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.jsp.launching;
-
-import java.io.File;
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.debug.core.IJavaDebugTarget;
-import org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDelegate;
-import org.eclipse.jsp.JspUIPlugin;
-
-/**
- * Launch delegate for a local Tomcat server
- */
-public class TomcatLaunchDelegate extends JavaLocalApplicationLaunchConfigurationDelegate {
-
-	/**
-	 * Identifier for Tomcat launch configurations.
-	 */
-	public static final String ID_TOMCAT_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.jsp.TomcatConfigurationType"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for Tomcat classpath provider.
-	 */
-	public static final String ID_TOMCAT_CLASSPATH_PROVIDER = "org.eclipse.jsp.tomcatClasspathProvider"; //$NON-NLS-1$
-		
-	/**
-	 * Launch configuration attribute - value is path to local installation of Tomcat.
-	 * The path may be encoded in a launch variable.
-	 */
-	public static final String ATTR_CATALINA_HOME = "org.eclipse.jsp.CATALINA_HOME"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute - value is a workspace relative path to the root
-	 * folder of a web application.
-	 */
-	public static final String ATTR_WEB_APP_ROOT= "org.eclipse.jsp.WEB_APP_ROOT"; //$NON-NLS-1$	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		super.launch(configuration, mode, launch, monitor);
-		
-		// set default stratum
-		IJavaDebugTarget target = (IJavaDebugTarget)launch.getDebugTarget();
-		if (target != null) {
-			// only available in debug mode
-			target.setDefaultStratum("JSP"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Constructs a new launch delegate
-	 */
-	public TomcatLaunchDelegate() {
-		super();
-	}
-
-	/**
-	 * Returns the value of the <code>${catalina_home}</code> launch variable.
-	 * 
-	 * @return the value of the <code>${catalina_home}</code> launch variable
-	 * @exception CoreException if the variable or value is undefined
-	 */
-	public static String getCatalinaHome() throws CoreException {
-		IValueVariable variable = VariablesPlugin.getDefault().getStringVariableManager().getValueVariable("catalina_home"); //$NON-NLS-1$
-		IStatus err = null;
-		if (variable == null) {
-			err = new Status(IStatus.ERROR, JspUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, LaunchingMessages.getString("TomcatLaunchDelegate.9"), null); //$NON-NLS-1$
-		} else {
-			String home = variable.getValue();	
-			if (home != null && home.length() > 0) {
-				File file = new File(home);
-				if (file.exists() && file.isDirectory()) {
-					return home;
-				} else {
-					err = new Status(IStatus.ERROR, JspUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, MessageFormat.format(LaunchingMessages.getString("TomcatLaunchDelegate.7"), new String[]{home}), null); //$NON-NLS-1$
-				}
-			} else {
-				err = new Status(IStatus.ERROR, JspUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, LaunchingMessages.getString("TomcatLaunchDelegate.8"), null); //$NON-NLS-1$
-			}
-		}
-		throw new CoreException(err);
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatSourceLocator.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatSourceLocator.java
deleted file mode 100644
index e47dfc9..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatSourceLocator.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.jsp.launching;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jdt.debug.core.IJavaStackFrame;
-import org.eclipse.jdt.debug.ui.JavaUISourceLocator;
-
-/**
- * A source locator for a Tomcat launch configuration
- */
-public class TomcatSourceLocator extends JavaUISourceLocator {
-	
-	/**
-	 * Root web app folder, or <code>null</code> if none
-	 */
-	private IContainer fWebAppRoot;
-	
-	public static final String ID_TOMCAT_SOURCE_LOCATOR = "org.eclipse.jsp.TOMCAT_SOURCE_LOCATOR"; //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public Object getSourceElement(IStackFrame stackFrame) {
-		if (fWebAppRoot != null) {
-			IJavaStackFrame frame = (IJavaStackFrame)stackFrame.getAdapter(IJavaStackFrame.class);
-			if (frame != null) {
-				String sourceName;
-				try {
-					sourceName = frame.getSourceName();
-					if (sourceName != null && sourceName.endsWith("jsp")) { //$NON-NLS-1$
-						String sourcePath = frame.getSourcePath("JSP"); //$NON-NLS-1$
-						if (sourcePath == null) {
-							sourcePath = sourceName;
-						}
-						IPath path = new Path(sourcePath);
-						IFile file = fWebAppRoot.getFile(path);
-						if (file.exists()) {
-							return file;
-						} else {
-							return null;
-						}
-					}
-				} catch (DebugException e) {
-					e.printStackTrace();
-				}
-			}
-		}
-		return super.getSourceElement(stackFrame);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeDefaults(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException {
-		super.initializeDefaults(configuration);
-		String root = configuration.getAttribute(TomcatLaunchDelegate.ATTR_WEB_APP_ROOT, (String)null);
-		if (root != null) {
-			IPath path = new Path(root);
-			IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
-			if (resource != null && resource instanceof IContainer) {
-				fWebAppRoot = (IContainer)resource;
-			} 
-		}
-	}
-	
-	
-
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatSourceLookupTab.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatSourceLookupTab.java
deleted file mode 100644
index 3335ac1..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatSourceLookupTab.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.jsp.launching;
-
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaSourceLookupTab;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-
-/**
- * A source locator tab for a Tomcat launch confiugration
- */
-public class TomcatSourceLookupTab extends JavaSourceLookupTab {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, TomcatSourceLocator.ID_TOMCAT_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#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		super.performApply(configuration);
-		configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, TomcatSourceLocator.ID_TOMCAT_SOURCE_LOCATOR);
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatTab.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatTab.java
deleted file mode 100644
index 4d6b382..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatTab.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.jsp.launching;
-
- 
-import java.io.File;
-
-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.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jsp.JspPluginImages;
-import org.eclipse.jsp.JspUIPlugin;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-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;
-
-/**
- * Specifies the install location of Tomcat.
- */
-public class TomcatTab extends AbstractLaunchConfigurationTab {
-		
-		
-	// Tomcat location
-	private Button fBrowseButton;
-	private Text fTomcatDir;
-	
-	// WebApp location
-	private Button fWebAppButton;
-	private Text fWebAppDir;
-	
-	/**
-	 * Constructs a new Tomcat tab
-	 */
-	public TomcatTab() {
-		super();
-	}
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		
-		Font font = parent.getFont();
-				
-		Composite composite = new Composite(parent, SWT.NONE);		
-		GridLayout workingDirLayout = new GridLayout();
-		workingDirLayout.numColumns = 3;
-		workingDirLayout.marginHeight = 0;
-		workingDirLayout.marginWidth = 0;
-		composite.setLayout(workingDirLayout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		composite.setLayoutData(gd);
-		composite.setFont(font);
-		setControl(composite);
-		
-		createVerticalSpacer(composite, 3);
-				
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(LaunchingMessages.getString("TomcatTab.3")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 3;
-		label.setLayoutData(gd);
-		label.setFont(font);
-				
-		fTomcatDir = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fTomcatDir.setLayoutData(gd);
-		fTomcatDir.setFont(font);
-		fTomcatDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fBrowseButton = createPushButton(composite, LaunchingMessages.getString("TomcatTab.21"), null); //$NON-NLS-1$
-		fBrowseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleTomcatBrowseButtonSelected();
-			}
-		});
-		
-		createVerticalSpacer(composite, 3);
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(LaunchingMessages.getString("TomcatTab.22")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 3;
-		label.setLayoutData(gd);
-		label.setFont(font);
-				
-		fWebAppDir = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fWebAppDir.setLayoutData(gd);
-		fWebAppDir.setFont(font);
-		fWebAppDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fWebAppButton = createPushButton(composite, LaunchingMessages.getString("TomcatTab.23"), null); //$NON-NLS-1$
-		fWebAppButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleWebAppBrowseButtonSelected();
-			}
-		});		
-	}
-		
-	/**
-	 * Show a dialog that lets the user select a root WebApp directory
-	 * from the workspace
-	 */
-	protected void handleWebAppBrowseButtonSelected() {
-		ISelectionStatusValidator validator= new ISelectionStatusValidator() {
-			public IStatus validate(Object[] selection) {
-				if (selection.length != 1) {
-					return new Status(IStatus.ERROR, JspUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, LaunchingMessages.getString("TomcatTab.24"), null); //$NON-NLS-1$
-				}
-				if (!(selection[0] instanceof IContainer)) {
-					return new Status(IStatus.ERROR, JspUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, LaunchingMessages.getString("TomcatTab.25"), null); //$NON-NLS-1$
-				}
-				// check for "WEB-INF"
-				IContainer container = (IContainer)selection[0];
-				if (!container.getFolder(new Path("WEB-INF")).exists()) { //$NON-NLS-1$
-					return new Status(IStatus.WARNING, JspUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, LaunchingMessages.getString("TomcatTab.27"), null); //$NON-NLS-1$
-				}		
-				return new Status(IStatus.OK, JspUIPlugin.getDefault().getDescriptor().getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-			}			
-		};
-		
-		ILabelProvider lp= new WorkbenchLabelProvider();
-		ITreeContentProvider cp= new WorkbenchContentProvider();
-
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), lp, cp);
-		dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-		dialog.addFilter(new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				return element instanceof IContainer;
-			}
-		});
-		dialog.setValidator(validator);
-		dialog.setTitle(LaunchingMessages.getString("TomcatTab.28")); //$NON-NLS-1$
-		dialog.setMessage(LaunchingMessages.getString("TomcatTab.29")); //$NON-NLS-1$
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());	
-
-		if (dialog.open() == Window.OK) {
-			Object[] elements= dialog.getResult();
-			if (elements != null && elements.length == 1) {
-				fWebAppDir.setText(((IResource)elements[0]).getFullPath().toString());
-			}
-		}
-		
-	}
-
-	/**
-	 * Show a dialog that lets the user select a tomcat install directory
-	 */
-	protected void handleTomcatBrowseButtonSelected() {
-		DirectoryDialog dialog = new DirectoryDialog(getShell());
-		dialog.setMessage(LaunchingMessages.getString("TomcatTab.4")); //$NON-NLS-1$
-		String currentWorkingDir = fTomcatDir.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) {
-			fTomcatDir.setText(selectedDirectory);
-		}		
-	}
-					
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-		// empty implementation
-	}
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		setErrorMessage(null);
-		setMessage(null);
-		
-		String workingDirPath = fTomcatDir.getText().trim();
-		// resolve variables (if any)
-		String expansion;
-		try {
-			expansion = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(workingDirPath);
-		} catch (CoreException e) {
-			setErrorMessage(e.getMessage());
-			return false;
-		}
-		if (workingDirPath.length() > 0) {
-			File dir = new File(expansion);
-			if (!dir.exists()) {
-				setErrorMessage(LaunchingMessages.getString("TomcatTab.5")); //$NON-NLS-1$
-				return false;
-			}
-			if (!dir.isDirectory()) {
-				setErrorMessage(LaunchingMessages.getString("TomcatTab.6")); //$NON-NLS-1$
-				return false;
-			}
-		}	
-		
-		String webappDirPath = fWebAppDir.getText().trim();
-		if (webappDirPath.length() > 0) {
-			IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(webappDirPath));
-			if (resource == null) {
-				setErrorMessage(LaunchingMessages.getString("TomcatTab.30")); //$NON-NLS-1$
-				return false;
-			}
-			if (!(resource instanceof IContainer)) {
-				setErrorMessage(LaunchingMessages.getString("TomcatTab.31")); //$NON-NLS-1$
-				return false;
-			}
-		}	
-					
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		config.setAttribute(TomcatLaunchDelegate.ATTR_CATALINA_HOME, "${catalina_home}"); //$NON-NLS-1$
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER, TomcatLaunchDelegate.ID_TOMCAT_CLASSPATH_PROVIDER);
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.apache.catalina.startup.Bootstrap"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		try {
-			fTomcatDir.setText(configuration.getAttribute(TomcatLaunchDelegate.ATTR_CATALINA_HOME, "")); //$NON-NLS-1$
-			fWebAppDir.setText(configuration.getAttribute(TomcatLaunchDelegate.ATTR_WEB_APP_ROOT, "")); //$NON-NLS-1$
-			if (configuration.isWorkingCopy()) {
-				// set VM args
-				ILaunchConfigurationWorkingCopy workingCopy = (ILaunchConfigurationWorkingCopy)configuration;
-				String home = TomcatLaunchDelegate.getCatalinaHome();
-				IPath endorsed = new Path(home).append("common").append("endorsed");  //$NON-NLS-1$//$NON-NLS-2$
-				IPath temp = new Path(home).append("temp"); //$NON-NLS-1$
-				StringBuffer args = new StringBuffer();
-				args.append("-Djava.endorsed.dirs=\""); //$NON-NLS-1$
-				args.append(endorsed.toOSString());
-				args.append("\" "); //$NON-NLS-1$
-				args.append("-Dcatalina.base=\""); //$NON-NLS-1$
-				args.append(home);
-				args.append("\" "); //$NON-NLS-1$
-				args.append("-Dcatalina.home=\""); //$NON-NLS-1$
-				args.append(home);
-				args.append("\" "); //$NON-NLS-1$
-				args.append("-Djava.io.tmpdir=\""); //$NON-NLS-1$
-				args.append(temp.toOSString());
-				args.append("\"");  //$NON-NLS-1$
-				workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, args.toString());
-				workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, "start"); //$NON-NLS-1$
-			}
-		} catch (CoreException e) {
-			setErrorMessage(e.getMessage());
-			DebugPlugin.log(e);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(TomcatLaunchDelegate.ATTR_CATALINA_HOME, getAttributeValueFrom(fTomcatDir));
-		String webApp = getAttributeValueFrom(fWebAppDir);
-		configuration.setAttribute(TomcatLaunchDelegate.ATTR_WEB_APP_ROOT, webApp);
-		// set project (if there is one)
-		if (webApp != null) {
-			IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(webApp));
-			if (resource != null) {
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, resource.getProject().getName());
-			}
-		}		
-	}
-
-	/**
-	 * 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 LaunchingMessages.getString("TomcatTab.7"); //$NON-NLS-1$
-	}	
-		
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return JspPluginImages.getImage(JspPluginImages.IMG_OBJ_TOMCAT);
-	}	
-
-}
-
diff --git a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatTabGroup.java b/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatTabGroup.java
deleted file mode 100644
index ba95321..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/src/org/eclipse/jsp/launching/TomcatTabGroup.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.jsp.launching;
-
-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.JavaClasspathTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
-
-/**
- * Tab group for launching a local Tomcat server.
- */
-public class TomcatTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new TomcatTab(),
-			new JavaJRETab(),
-			new JavaClasspathTab(),
-			new TomcatSourceLookupTab(),
-			new CommonTab(),
-		};
-		setTabs(tabs);
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/stuff/Search.java b/org.eclipse.jdt.ui.examples.javafamily/stuff/Search.java
deleted file mode 100644
index e669ad0..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/stuff/Search.java
+++ /dev/null
@@ -1,461 +0,0 @@
-/*
- * Created on Apr 24, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code Template
- */
-package org.eclipse.jsp.core.search;
-
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Hashtable;
-
-import javax.servlet.jsp.tagext.TagInfo;
-import javax.servlet.jsp.tagext.TagLibraryInfo;
-
-import org.apache.jasper.CommandLineContext;
-import org.apache.jasper.JasperException;
-import org.apache.jasper.JspCompilationContext;
-import org.apache.jasper.Options;
-import org.apache.jasper.compiler.*;
-import org.apache.jasper.compiler.Compiler;
-import org.xml.sax.Attributes;
-
-/**
- * @author weinand
- */
-public class Search {
-	
-	static JspCompilationContext context= new JspCompilationContext() {
-		public String getClassPath() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public JspReader getReader() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public ServletWriter getWriter() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public ClassLoader getClassLoader() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public boolean isErrorPage() {
-			// TODO Auto-generated method stub
-			return false;
-		}
-
-		public String getOutputDir() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String getJavacOutputDir() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String getJspFile() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String getServletClassName() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String getServletPackageName() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String getServletJavaFileName() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public boolean keepGenerated() {
-			// TODO Auto-generated method stub
-			return false;
-		}
-
-		public String getContentType() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public Options getOptions() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public void setContentType(String arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void setReader(JspReader arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void setWriter(ServletWriter arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void setServletClassName(String arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void setServletPackageName(String arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void setServletJavaFileName(String arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void setErrorPage(boolean arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public Compiler createCompiler() throws JasperException {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String resolveRelativeUri(String arg0) {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public InputStream getResourceAsStream(String arg0) {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public URL getResource(String arg0) throws MalformedURLException {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String getRealPath(String arg0) {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public String[] getTldLocation(String arg0) throws JasperException {
-			// TODO Auto-generated method stub
-			return null;
-		}
-	};
-	
-	static ParseEventListener pel= new ParseEventListener() {
-		public void setReader(JspReader arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void setDefault(boolean arg0) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void setTemplateInfo(Mark arg0, Mark arg1) {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void beginPageProcessing() throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleComment(Mark arg0, Mark arg1, char[] arg2)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleDirective(
-			String arg0,
-			Mark arg1,
-			Mark arg2,
-			Attributes arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleDeclaration(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			char[] arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleScriptlet(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			char[] arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleExpression(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			char[] arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleBean(Mark arg0, Mark arg1, Attributes arg2)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleBean(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			boolean arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleBeanEnd(Mark arg0, Mark arg1, Attributes arg2)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleGetProperty(Mark arg0, Mark arg1, Attributes arg2)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleSetProperty(Mark arg0, Mark arg1, Attributes arg2)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleSetProperty(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			boolean arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handlePlugin(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			Hashtable arg3,
-			String arg4)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handlePlugin(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			Hashtable arg3,
-			String arg4,
-			boolean arg5)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleCharData(Mark arg0, Mark arg1, char[] arg2)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public TagLibraries getTagLibraries() {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		public void handleTagBegin(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			String arg3,
-			String arg4,
-			TagLibraryInfo arg5,
-			TagInfo arg6,
-			boolean arg7)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleTagBegin(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			String arg3,
-			String arg4,
-			TagLibraryInfo arg5,
-			TagInfo arg6,
-			boolean arg7,
-			boolean arg8)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleTagEnd(
-			Mark arg0,
-			Mark arg1,
-			String arg2,
-			String arg3,
-			Attributes arg4,
-			TagLibraryInfo arg5,
-			TagInfo arg6,
-			boolean arg7)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleForward(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			Hashtable arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleForward(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			Hashtable arg3,
-			boolean arg4)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleInclude(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			Hashtable arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleInclude(
-			Mark arg0,
-			Mark arg1,
-			Attributes arg2,
-			Hashtable arg3,
-			boolean arg4)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void endPageProcessing() throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleRootBegin(Attributes arg0) throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleRootEnd() {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleUninterpretedTagBegin(
-			Mark arg0,
-			Mark arg1,
-			String arg2,
-			Attributes arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleUninterpretedTagEnd(
-			Mark arg0,
-			Mark arg1,
-			String arg2,
-			char[] arg3)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-
-		public void handleJspCdata(Mark arg0, Mark arg1, char[] arg2)
-			throws JasperException {
-			// TODO Auto-generated method stub
-
-		}
-	};
-
-	public static void main(String[] args) {
-				
-		String file= null;
-		String encoding= null;
-		InputStreamReader reader= null;
-		
-		try {
-			Parser p= new Parser(context, file, encoding, reader, pel);
-			p.parse();
-		} catch (ParseException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (FileNotFoundException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (JasperException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/stuff/easy.jsp b/org.eclipse.jdt.ui.examples.javafamily/stuff/easy.jsp
deleted file mode 100644
index ace438a..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/stuff/easy.jsp
+++ /dev/null
@@ -1,15 +0,0 @@
-<%@ page contentType="text/html" %>

-<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

-<html>

-  <head>

-    <title>JSP is Easy</title>

-  </head>

-  <body bgcolor="white">

-

-    <h1>JSP is as easy as ...</h1>

-

-    <%-- Calculate the sum of 1 + 2 + 3 dynamically --%>

-    1 + 2 + 3 = <c:out value="${1 + 2 + 3}" />

-

-  </body>

-</html>

diff --git a/org.eclipse.jdt.ui.examples.javafamily/stuff/easy_jsp.java b/org.eclipse.jdt.ui.examples.javafamily/stuff/easy_jsp.java
deleted file mode 100644
index c95b485..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/stuff/easy_jsp.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.apache.jsp;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.jsp.*;
-import org.apache.jasper.runtime.*;
-
-public class easy_jsp extends HttpJspBase {
-
-
-  private static java.util.Vector _jspx_includes;
-
-  private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_c_out_value;
-
-  public easy_jsp() {
-    _jspx_tagPool_c_out_value = new org.apache.jasper.runtime.TagHandlerPool();
-  }
-
-  public java.util.List getIncludes() {
-    return _jspx_includes;
-  }
-
-  public void _jspDestroy() {
-    _jspx_tagPool_c_out_value.release();
-  }
-
-  public void _jspService(HttpServletRequest request, HttpServletResponse response)
-        throws java.io.IOException, ServletException {
-
-    JspFactory _jspxFactory = null;
-    javax.servlet.jsp.PageContext pageContext = null;
-    HttpSession session = null;
-    ServletContext application = null;
-    ServletConfig config = null;
-    JspWriter out = null;
-    Object page = this;
-    JspWriter _jspx_out = null;
-
-
-    try {
-      _jspxFactory = JspFactory.getDefaultFactory();
-      response.setContentType("text/html;charset=ISO-8859-1");
-      pageContext = _jspxFactory.getPageContext(this, request, response,
-      			null, true, 8192, true);
-      application = pageContext.getServletContext();
-      config = pageContext.getServletConfig();
-      session = pageContext.getSession();
-      out = pageContext.getOut();
-      _jspx_out = out;
-
-      out.write("\r\n");
-      out.write("\r\n");
-      out.write("<html>\r\n  ");
-      out.write("<head>\r\n    ");
-      out.write("<title>JSP is Easy");
-      out.write("</title>\r\n  ");
-      out.write("</head>\r\n  ");
-      out.write("<body bgcolor=\"white\">\r\n\r\n    ");
-      out.write("<h1>JSP is as easy as ...");
-      out.write("</h1>\r\n\r\n    ");
-      out.write("\r\n    1 + 2 + 3 = ");
-      if (_jspx_meth_c_out_0(pageContext))
-        return;
-      out.write("\r\n\r\n  ");
-      out.write("</body>\r\n");
-      out.write("</html>\r\n");
-    } catch (Throwable t) {
-      out = _jspx_out;
-      if (out != null && out.getBufferSize() != 0)
-        out.clearBuffer();
-      if (pageContext != null) pageContext.handlePageException(t);
-    } finally {
-      if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
-    }
-  }
-
-  private boolean _jspx_meth_c_out_0(javax.servlet.jsp.PageContext pageContext)
-          throws Throwable {
-    JspWriter out = pageContext.getOut();
-    /* ----  c:out ---- */
-    org.apache.taglibs.standard.tag.el.core.OutTag _jspx_th_c_out_0 = (org.apache.taglibs.standard.tag.el.core.OutTag) _jspx_tagPool_c_out_value.get(org.apache.taglibs.standard.tag.el.core.OutTag.class);
-    _jspx_th_c_out_0.setPageContext(pageContext);
-    _jspx_th_c_out_0.setParent(null);
-    _jspx_th_c_out_0.setValue("${1 + 2 + 3}");
-    int _jspx_eval_c_out_0 = _jspx_th_c_out_0.doStartTag();
-    if (_jspx_th_c_out_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
-      return true;
-    _jspx_tagPool_c_out_value.reuse(_jspx_th_c_out_0);
-    return false;
-  }
-}
diff --git a/org.eclipse.jdt.ui.examples.javafamily/stuff/exampleJspProject.zip b/org.eclipse.jdt.ui.examples.javafamily/stuff/exampleJspProject.zip
deleted file mode 100644
index fc299767..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/stuff/exampleJspProject.zip
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.javafamily/stuff/index-format11 b/org.eclipse.jdt.ui.examples.javafamily/stuff/index-format11
deleted file mode 100644
index 1303041..0000000
--- a/org.eclipse.jdt.ui.examples.javafamily/stuff/index-format11
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.projects/.classpath b/org.eclipse.jdt.ui.examples.projects/.classpath
deleted file mode 100644
index 6c25ac1..0000000
--- a/org.eclipse.jdt.ui.examples.projects/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="examples"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.ui.examples.projects/.cvsignore b/org.eclipse.jdt.ui.examples.projects/.cvsignore
deleted file mode 100644
index fe99505..0000000
--- a/org.eclipse.jdt.ui.examples.projects/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-
diff --git a/org.eclipse.jdt.ui.examples.projects/.project b/org.eclipse.jdt.ui.examples.projects/.project
deleted file mode 100644
index c1ce1fb..0000000
--- a/org.eclipse.jdt.ui.examples.projects/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.ui.examples.projects</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.ide</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.ui.examples.projects/about.html b/org.eclipse.jdt.ui.examples.projects/about.html
deleted file mode 100644
index 6df85fe..0000000
--- a/org.eclipse.jdt.ui.examples.projects/about.html
+++ /dev/null
@@ -1,43 +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>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as follows:</p>
-
-<p><b>JUnit 3.7</b></p>
-<p>The plug-in is based on software developed by JUnit.org.  Your use of JUnit 3.7 in both source and binary code
-form contained in the plug-in is subject to the terms and conditions of the IBM Public License 1.0 which is available at
-<a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>.
-The source code is located in archive/junit/junit37src.jar.</p>
-
-<p>i) IBM effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;</p>
-<p>ii) IBM effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;</p>
-<p>iii) IBM states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party.</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.ui.examples.projects/archive/junit/junit37src.jar b/org.eclipse.jdt.ui.examples.projects/archive/junit/junit37src.jar
deleted file mode 100644
index 083466c..0000000
--- a/org.eclipse.jdt.ui.examples.projects/archive/junit/junit37src.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.projects/build.properties b/org.eclipse.jdt.ui.examples.projects/build.properties
deleted file mode 100644
index ce36198..0000000
--- a/org.eclipse.jdt.ui.examples.projects/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.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 = doc-html/,\
-               plugin.xml,\
-               about.html,\
-               icons/,\
-               plugin.properties,\
-               archive/,\
-               *.jar
-source.jdtexamples.jar = examples/
diff --git a/org.eclipse.jdt.ui.examples.projects/doc-html/hglegal.htm b/org.eclipse.jdt.ui.examples.projects/doc-html/hglegal.htm
deleted file mode 100644
index c598113..0000000
--- a/org.eclipse.jdt.ui.examples.projects/doc-html/hglegal.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">
-   <meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">
-   <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.jdt.ui.examples.projects/doc-html/hglegal2003.htm b/org.eclipse.jdt.ui.examples.projects/doc-html/hglegal2003.htm
deleted file mode 100644
index f5871b7..0000000
--- a/org.eclipse.jdt.ui.examples.projects/doc-html/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.ui.examples.projects/doc-html/jdt_projects_ex.html b/org.eclipse.jdt.ui.examples.projects/doc-html/jdt_projects_ex.html
deleted file mode 100644
index d569c9e..0000000
--- a/org.eclipse.jdt.ui.examples.projects/doc-html/jdt_projects_ex.html
+++ /dev/null
@@ -1,37 +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="Microsoft FrontPage 4.0">

-   <title>JDT - Java Example Projects</title>

-</head>

-<body>

-

-<h2>

-<b>Java Example Projects</b></h2>

-

-<h3>

-Introduction</h3>

-The Java examples provide you with sample code for exploring the Eclipse Java

-tools.

-

-<h3>

-Loading the Samples</h3>

-

-<ol>

-<li>

-Open the New wizard.</li>

-

-<li>

-Select Java in the Examples category.</li>

-

-<li>

-Select the project to be added to your workspace.</li>

-

-</ol>

-

-<p>The wizard creates a new Java project for you and imports the sample code

-into this project.</p>

-    <p><a href="hglegal2003.htm"><img src="ngibmcpy2003.gif" alt="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved." border="0"></a></p>

-</body>

-</html>

diff --git a/org.eclipse.jdt.ui.examples.projects/doc-html/ngibmcpy.gif b/org.eclipse.jdt.ui.examples.projects/doc-html/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/org.eclipse.jdt.ui.examples.projects/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.projects/doc-html/ngibmcpy2003.gif b/org.eclipse.jdt.ui.examples.projects/doc-html/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.jdt.ui.examples.projects/doc-html/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationOperation.java b/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationOperation.java
deleted file mode 100644
index b8cd002..0000000
--- a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationOperation.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.ui.exampleprojects;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-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.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-import org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider;
-
-public class ExampleProjectCreationOperation implements IRunnableWithProgress {
-
-	private IResource fElementToOpen;
-	
-	private ExampleProjectCreationWizardPage[] fPages;
-	private IOverwriteQuery fOverwriteQuery;
-	
-	/**
-	 * Constructor for ExampleProjectCreationOperation
-	 */
-	public ExampleProjectCreationOperation(ExampleProjectCreationWizardPage[] pages, IOverwriteQuery overwriteQuery) {
-		fElementToOpen= null;
-		fPages= pages;
-		fOverwriteQuery= overwriteQuery;
-	}
-	
-	/*
-	 * @see IRunnableWithProgress#run(IProgressMonitor)
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}
-		try {
-			monitor.beginTask(ExampleProjectMessages.getString("ExampleProjectCreationOperation.op_desc"), fPages.length); //$NON-NLS-1$
-			IWorkspaceRoot root= ExampleProjectsPlugin.getWorkspace().getRoot();
-			
-			for (int i= 0; i < fPages.length; i++) {
-				createProject(root, fPages[i], new SubProgressMonitor(monitor, 1));
-			}
-		} finally {
-			monitor.done();
-		}
-	}		
-	
-	public IResource getElementToOpen() {
-		return fElementToOpen;
-	}
-	
-
-	private void createProject(IWorkspaceRoot root, ExampleProjectCreationWizardPage page, IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		IConfigurationElement desc= page.getConfigurationElement();
-		
-		IConfigurationElement[] imports= desc.getChildren("import"); //$NON-NLS-1$
-		IConfigurationElement[] natures= desc.getChildren("nature"); //$NON-NLS-1$
-		IConfigurationElement[] references= desc.getChildren("references"); //$NON-NLS-1$
-		int nImports= (imports == null) ? 0 : imports.length;
-		int nNatures= (natures == null) ? 0 : natures.length;
-		int nReferences= (references == null) ? 0 : references.length;
-		
-		monitor.beginTask(ExampleProjectMessages.getString("ExampleProjectCreationOperation.op_desc_proj"), nImports + 1); //$NON-NLS-1$
-
-		String name= page.getName();
-		
-		String[] natureIds= new String[nNatures];
-		for (int i= 0; i < nNatures; i++) {
-			natureIds[i]= natures[i].getAttribute("id"); //$NON-NLS-1$
-		}
-		IProject[] referencedProjects= new IProject[nReferences];
-		for (int i= 0; i < nReferences; i++) {
-			referencedProjects[i]= root.getProject(references[i].getAttribute("id")); //$NON-NLS-1$
-		}		
-		
-		IProject proj= configNewProject(root, name, natureIds, referencedProjects, monitor);
-			
-		for (int i= 0; i < nImports; i++) {
-			doImports(proj, imports[i], new SubProgressMonitor(monitor, 1));
-		}
-		
-		String open= desc.getAttribute("open"); //$NON-NLS-1$
-		if (open != null && open.length() > 0) {
-			IResource fileToOpen= proj.findMember(new Path(open));
-			if (fileToOpen != null) {
-				fElementToOpen= fileToOpen;
-			}
-		}		
-		
-	}
-	
-	private IProject configNewProject(IWorkspaceRoot root, String name, String[] natureIds, IProject[] referencedProjects, IProgressMonitor monitor) throws InvocationTargetException {
-		try {
-			IProject project= root.getProject(name);
-			if (!project.exists()) {
-				project.create(null);
-			}
-			if (!project.isOpen()) {
-				project.open(null);
-			}
-			IProjectDescription desc= project.getDescription();
-			desc.setLocation(null);
-			desc.setNatureIds(natureIds);
-			desc.setReferencedProjects(referencedProjects);
-			
-			project.setDescription(desc, new SubProgressMonitor(monitor, 1));
-
-			return project;
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-	
-	private void doImports(IProject project, IConfigurationElement curr, IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		try {
-			IPath destPath;
-			String name= curr.getAttribute("dest"); //$NON-NLS-1$
-			if (name == null || name.length() == 0) {
-				destPath= project.getFullPath();
-			} else {
-				IFolder folder= project.getFolder(name);
-				if (!folder.exists()) {
-					folder.create(true, true, null);
-				}
-				destPath= folder.getFullPath();
-			}
-			String importPath= curr.getAttribute("src"); //$NON-NLS-1$
-			if (importPath == null) {
-				importPath= ""; //$NON-NLS-1$
-				ExampleProjectsPlugin.log("projectsetup descriptor: import missing"); //$NON-NLS-1$
-				return;
-			}
-		
-			ZipFile zipFile= getZipFileFromPluginDir(importPath, getContributingPlugin(curr));
-			importFilesFromZip(zipFile, destPath, new SubProgressMonitor(monitor, 1));
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-	
-	private IPluginDescriptor getContributingPlugin(IConfigurationElement configurationElement) {
-		Object parent= configurationElement;
-		while(parent != null) {
-			if (parent instanceof IExtension)
-				return ((IExtension)parent).getDeclaringPluginDescriptor();
-			parent= ((IConfigurationElement)parent).getParent();
-		}
-		return null;
-	}
-
-	private ZipFile getZipFileFromPluginDir(String pluginRelativePath, IPluginDescriptor pluginDescriptor) throws CoreException {
-		try {
-			URL starterURL= new URL(pluginDescriptor.getInstallURL(), pluginRelativePath);
-			return new ZipFile(Platform.asLocalURL(starterURL).getFile());
-		} catch (IOException e) {
-			String message= pluginRelativePath + ": " + e.getMessage(); //$NON-NLS-1$
-			Status status= new Status(IStatus.ERROR, ExampleProjectsPlugin.getPluginId(), IStatus.ERROR, message, e);
-			throw new CoreException(status);
-		}
-	}
-	
-	private void importFilesFromZip(ZipFile srcZipFile, IPath destPath, IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {		
-		ZipFileStructureProvider structureProvider=	new ZipFileStructureProvider(srcZipFile);
-		ImportOperation op= new ImportOperation(destPath, structureProvider.getRoot(), structureProvider, fOverwriteQuery);
-		op.run(monitor);
-	}
-}
diff --git a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationWizard.java b/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationWizard.java
deleted file mode 100644
index 005fc2b..0000000
--- a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationWizard.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.ui.exampleprojects;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-public class ExampleProjectCreationWizard extends Wizard implements INewWizard, IExecutableExtension {
-
-	private ExampleProjectCreationWizardPage[] fPages;
-	private IConfigurationElement fConfigElement;
-
-	public ExampleProjectCreationWizard() {
-		super();
-		setDialogSettings(ExampleProjectsPlugin.getDefault().getDialogSettings());
-		setWindowTitle(ExampleProjectMessages.getString("ExampleProjectCreationWizard.title"));		 //$NON-NLS-1$
-		setNeedsProgressMonitor(true);
-	}
-	
-	private void initializeDefaultPageImageDescriptor() {
-		if (fConfigElement != null) {
-			String banner= fConfigElement.getAttribute("banner"); //$NON-NLS-1$
-			if (banner != null) {
-				ImageDescriptor desc= ExampleProjectsPlugin.getDefault().getImageDescriptor(banner);
-				setDefaultPageImageDescriptor(desc);
-			}
-		}
-	}
-
-	/*
-	 * @see Wizard#addPages
-	 */	
-	public void addPages() {
-		super.addPages();
-		
-		IConfigurationElement[] children = fConfigElement.getChildren("projectsetup"); //$NON-NLS-1$
-		if (children == null || children.length == 0) {
-			ExampleProjectsPlugin.log("descriptor must contain one ore more projectsetup tags"); //$NON-NLS-1$
-			return;
-		}
-		
-		fPages=  new ExampleProjectCreationWizardPage[children.length];
-		
-		for (int i= 0; i < children.length; i++) {
-			fPages[i]= new ExampleProjectCreationWizardPage(i, children[i]);
-			addPage(fPages[i]);
-		}
-	}
-	
-	/*
-	 * @see Wizard#performFinish
-	 */		
-	public boolean performFinish() {
-		ExampleProjectCreationOperation runnable= new ExampleProjectCreationOperation(fPages, new ImportOverwriteQuery());
-		
-		IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(runnable);
-		try {
-			getContainer().run(false, true, op);
-		} catch (InvocationTargetException e) {
-			handleException(e.getTargetException());
-			return false;
-		} catch  (InterruptedException e) {
-			return false;
-		}
-		BasicNewProjectResourceWizard.updatePerspective(fConfigElement);
-		IResource res= runnable.getElementToOpen();
-		if (res != null) {
-			openResource(res);
-		}
-		return true;
-	}
-	
-	private void handleException(Throwable target) {
-		String title= ExampleProjectMessages.getString("ExampleProjectCreationWizard.op_error.title"); //$NON-NLS-1$
-		String message= ExampleProjectMessages.getString("ExampleProjectCreationWizard.op_error.message"); //$NON-NLS-1$
-		if (target instanceof CoreException) {
-			IStatus status= ((CoreException)target).getStatus();
-			ErrorDialog.openError(getShell(), title, message, status);
-			ExampleProjectsPlugin.log(status);
-		} else {
-			MessageDialog.openError(getShell(), title, target.getMessage());
-			ExampleProjectsPlugin.log(target);
-		}
-	}
-	
-	private void openResource(final IResource resource) {
-		if (resource.getType() != IResource.FILE) {
-			return;
-		}
-		IWorkbenchWindow window= ExampleProjectsPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
-		if (window == null) {
-			return;
-		}
-		final IWorkbenchPage activePage= window.getActivePage();
-		if (activePage != null) {
-			final Display display= getShell().getDisplay();
-			display.asyncExec(new Runnable() {
-				public void run() {
-					try {
-						IDE.openEditor(activePage, (IFile)resource, true);
-					} catch (PartInitException e) {
-						ExampleProjectsPlugin.log(e);
-					}
-				}
-			});
-			BasicNewResourceWizard.selectAndReveal(resource, activePage.getWorkbenchWindow());
-		}
-	}	
-		
-	/**
-	 * Stores the configuration element for the wizard.  The config element will be used
-	 * in <code>performFinish</code> to set the result perspective.
-	 */
-	public void setInitializationData(IConfigurationElement cfig, String propertyName, Object data) {
-		fConfigElement= cfig;
-		
-		initializeDefaultPageImageDescriptor();
-	}
-	
-	// overwrite dialog
-	
-	private class ImportOverwriteQuery implements IOverwriteQuery {
-		public String queryOverwrite(String file) {
-			String[] returnCodes= { YES, NO, ALL, CANCEL};
-			int returnVal= openDialog(file);
-			return returnVal < 0 ? CANCEL : returnCodes[returnVal];
-		}	
-		
-		private int openDialog(final String file) {
-			final int[] result= { IDialogConstants.CANCEL_ID };
-			getShell().getDisplay().syncExec(new Runnable() {
-				public void run() {
-					String title= ExampleProjectMessages.getString("ExampleProjectCreationWizard.overwritequery.title"); //$NON-NLS-1$
-					String msg= ExampleProjectMessages.getFormattedString("ExampleProjectCreationWizard.overwritequery.message", file); //$NON-NLS-1$
-					String[] options= {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.CANCEL_LABEL};
-					MessageDialog dialog= new MessageDialog(getShell(), title, null, msg, MessageDialog.QUESTION, options, 0);
-					result[0]= dialog.open();
-				}
-			});
-			return result[0];
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-
-	}		
-}
diff --git a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationWizardPage.java b/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationWizardPage.java
deleted file mode 100644
index c77379b..0000000
--- a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectCreationWizardPage.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.ui.exampleprojects;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.wizard.WizardPage;
-
-public class ExampleProjectCreationWizardPage extends WizardPage {
-
-	private IStatus fCurrStatus;
-	
-	private boolean fPageVisible;
-	
-	private IConfigurationElement fConfigurationElement;
-	
-	private String fNameLabel;
-	private String fProjectName;
-	
-	private Text fTextControl;
-	
-	public ExampleProjectCreationWizardPage(int pageNumber, IConfigurationElement elem) {
-		super("page" + pageNumber); //$NON-NLS-1$
-		fCurrStatus= createStatus(IStatus.OK, ""); //$NON-NLS-1$
-		
-		fConfigurationElement= elem;
-		
-		setTitle(getAttribute(elem, "pagetitle")); //$NON-NLS-1$
-		setDescription(getAttribute(elem, "pagedescription")); //$NON-NLS-1$
-		
-		fNameLabel= getAttribute(elem, "label"); //$NON-NLS-1$
-		fProjectName= getAttribute(elem, "name");		 //$NON-NLS-1$
-		
-	}
-	
-	private String getAttribute(IConfigurationElement elem, String tag) {
-		String res= elem.getAttribute(tag);
-		if (res == null) {
-			return '!' + tag + '!';
-		}
-		return res;
-	}
-	
-	/*
-	 * @see IDialogPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite composite= new Composite(parent, SWT.NONE);
-		GridLayout gd= new GridLayout();
-		gd.numColumns= 2;
-		composite.setLayout(gd);
-		
-		Label label= new Label(composite, SWT.LEFT);
-		label.setText(fNameLabel);
-		label.setLayoutData(new GridData());
-		
-		fTextControl= new Text(composite, SWT.SINGLE | SWT.BORDER);
-		fTextControl.setText(fProjectName);
-		fTextControl.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (!fTextControl.isDisposed()) {
-					validateText(fTextControl.getText());
-				}
-			}
-		});
-		fTextControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		setControl(composite);
-		Dialog.applyDialogFont(composite);
-	}
-
-	private void validateText(String text) {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IStatus status= workspace.validateName(text, IResource.PROJECT);
-		if (status.isOK()) {
-			if (workspace.getRoot().getProject(text).exists()) {
-				status= createStatus(IStatus.ERROR, ExampleProjectMessages.getString("ExampleProjectCreationWizardPage.error.alreadyexists")); //$NON-NLS-1$
-			}
-		}	
-		updateStatus(status);
-		
-		fProjectName= text;
-	}	
-	
-	
-	/*
-	 * @see WizardPage#becomesVisible
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		fPageVisible= visible;
-		// policy: wizards are not allowed to come up with an error message
-		if (visible && fCurrStatus.matches(IStatus.ERROR)) {
-			// keep the error state, but remove the message
-			fCurrStatus= createStatus(IStatus.ERROR, ""); //$NON-NLS-1$
-		} 
-		updateStatus(fCurrStatus);
-	}	
-
-	/**
-	 * Updates the status line and the ok button depending on the status
-	 */
-	private void updateStatus(IStatus status) {
-		fCurrStatus= status;
-		setPageComplete(!status.matches(IStatus.ERROR));
-		if (fPageVisible) {
-			applyToStatusLine(this, status);
-		}
-	}
-
-	/**
-	 * Applies the status to a dialog page
-	 */
-	private static void applyToStatusLine(DialogPage page, IStatus status) {
-		String errorMessage= null;
-		String warningMessage= null;
-		String statusMessage= status.getMessage();
-		if (statusMessage.length() > 0) {
-			if (status.matches(IStatus.ERROR)) {
-				errorMessage= statusMessage;
-			} else if (!status.isOK()) {
-				warningMessage= statusMessage;
-			}
-		}
-		page.setErrorMessage(errorMessage);
-		page.setMessage(warningMessage);
-	}
-	
-	
-	private static IStatus createStatus(int severity, String message) {
-		return new Status(severity, ExampleProjectsPlugin.getPluginId(), severity, message, null);
-	}
-	
-	/**
-	 * Returns the name entered by the user
-	 */
-	public String getName() {
-		return fProjectName;
-	}
-
-	/**
-	 * Returns the configuration element of this page.
-	 * @return Returns a IConfigurationElement
-	 */
-	public IConfigurationElement getConfigurationElement() {
-		return fConfigurationElement;
-	}
-
-}
-
diff --git a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectMessages.java b/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectMessages.java
deleted file mode 100644
index 213e5df..0000000
--- a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectMessages.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.internal.ui.exampleprojects;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExampleProjectMessages {
-
-	private static final String RESOURCE_BUNDLE= ExampleProjectMessages.class.getName();
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private ExampleProjectMessages() {
-	}
-
-	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.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectMessages.properties b/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectMessages.properties
deleted file mode 100644
index cf8c062..0000000
--- a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectMessages.properties
+++ /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
-###############################################################################
-
-ExampleProjectCreationWizard.title=New
-ExampleProjectCreationWizard.op_error.title=Project Creation Failed
-ExampleProjectCreationWizard.op_error.message=Project could not be created.
-
-ExampleProjectCreationWizard.overwritequery.title=Overwrite
-ExampleProjectCreationWizard.overwritequery.message=Do you want to overwrite {0}?
-
-
-ExampleProjectCreationOperation.op_desc=Creating example projects...
-ExampleProjectCreationOperation.op_desc_proj=Configuring project...
-
-ExampleProjectCreationWizardPage.error.alreadyexists=Project already exists.
diff --git a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectsPlugin.java b/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectsPlugin.java
deleted file mode 100644
index c1d5471..0000000
--- a/org.eclipse.jdt.ui.examples.projects/examples/org/eclipse/jdt/internal/ui/exampleprojects/ExampleProjectsPlugin.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.ui.exampleprojects;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ExampleProjectsPlugin extends AbstractUIPlugin {
-
-	// The shared instance.
-	private static ExampleProjectsPlugin fgPlugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public ExampleProjectsPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgPlugin= this;
-	}
-
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ExampleProjectsPlugin getDefault() {
-		return fgPlugin;
-	}
-	
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	public ImageDescriptor getImageDescriptor(String name) {
-		try {
-			URL url= new URL(getDescriptor().getInstallURL(), name);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}	
-	
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}	
-
-
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-
-
-	public static void log(String message) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, message, null));
-	}
-
-
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, "Internal Error", e)); //$NON-NLS-1$
-	}
-
-
-}
diff --git a/org.eclipse.jdt.ui.examples.projects/icons/full/ctool16/newjprjex_wiz.gif b/org.eclipse.jdt.ui.examples.projects/icons/full/ctool16/newjprjex_wiz.gif
deleted file mode 100644
index 60b2806..0000000
--- a/org.eclipse.jdt.ui.examples.projects/icons/full/ctool16/newjprjex_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.projects/icons/full/dtool16/newjprjex_wiz.gif b/org.eclipse.jdt.ui.examples.projects/icons/full/dtool16/newjprjex_wiz.gif
deleted file mode 100644
index bb7be20..0000000
--- a/org.eclipse.jdt.ui.examples.projects/icons/full/dtool16/newjprjex_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.projects/icons/full/etool16/newjprjex_wiz.gif b/org.eclipse.jdt.ui.examples.projects/icons/full/etool16/newjprjex_wiz.gif
deleted file mode 100644
index 2b41e51..0000000
--- a/org.eclipse.jdt.ui.examples.projects/icons/full/etool16/newjprjex_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.projects/icons/full/wizban/newjprjex_wiz.gif b/org.eclipse.jdt.ui.examples.projects/icons/full/wizban/newjprjex_wiz.gif
deleted file mode 100644
index b5dab66..0000000
--- a/org.eclipse.jdt.ui.examples.projects/icons/full/wizban/newjprjex_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.examples.projects/plugin.properties b/org.eclipse.jdt.ui.examples.projects/plugin.properties
deleted file mode 100644
index f062fd9..0000000
--- a/org.eclipse.jdt.ui.examples.projects/plugin.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
-###############################################################################
-
-# --- string from plugin.xml ----
-
-pluginName=Java Development Tools Example Projects
-providerName=Eclipse.org
-
-JUnitProjectExampleCreationWizard.title=Example Project - JUnit
-JUnitProjectExampleCreationWizard.description=Create a new JUnit project
-
-JUnitProjectExampleCreationWizard.pagetitle=JUnit
-JUnitProjectExampleCreationWizard.pagedescription=Create a Java project containing the JUnit source
-JUnitProjectExampleCreationWizard.label=&Project Name:
-
-JUnitProjectExampleCreationWizard.categoryName=Java
diff --git a/org.eclipse.jdt.ui.examples.projects/plugin.xml b/org.eclipse.jdt.ui.examples.projects/plugin.xml
deleted file mode 100644
index 55368ae..0000000
--- a/org.eclipse.jdt.ui.examples.projects/plugin.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jdt.ui.examples.projects"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.jdt.internal.ui.exampleprojects.ExampleProjectsPlugin">
-
-   <runtime>
-      <library name="jdtexamples.jar"/>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%JUnitProjectExampleCreationWizard.categoryName"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.jdt.ui.java">
-      </category>
-      <wizard
-            banner="icons/full/wizban/newjprjex_wiz.gif"
-            name="%JUnitProjectExampleCreationWizard.title"
-            icon="icons/full/ctool16/newjprjex_wiz.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.exampleprojects.ExampleProjectCreationWizard"
-            project="true"
-            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
-            id="org.eclipse.jdt.examples.projects.JUnitProjectExampleCreationWizard">
-         <description>
-            %JUnitProjectExampleCreationWizard.description
-         </description>
-         <projectsetup
-               pagetitle="%JUnitProjectExampleCreationWizard.pagetitle"
-               name="JUnit"
-               label="%JUnitProjectExampleCreationWizard.label"
-               pagedescription="%JUnitProjectExampleCreationWizard.pagedescription">
-            <nature
-                  id="org.eclipse.jdt.core.javanature">
-            </nature>
-            <import
-                  dest=""
-                  src="archive/junit/junit37src.jar">
-            </import>
-         </projectsetup>
-      </wizard>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.jdt.ui.examples.projects/scripts/exportplugin.xml b/org.eclipse.jdt.ui.examples.projects/scripts/exportplugin.xml
deleted file mode 100644
index f3e63d8..0000000
--- a/org.eclipse.jdt.ui.examples.projects/scripts/exportplugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<project name="org.eclipse.jdt.ui.examples.projects" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.jdt.ui.examples.projects" />
-		<property name="version"  value="_3.0.0" />
-		<property name="dest"  value="${destdir}/${plugin}${version}" />
-	</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}/jdtexamples.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>
-			<copy todir="${dest}/archive">
-			<fileset dir="archive" />
-		</copy>
-			<copy todir="${dest}/doc-html">
-			<fileset dir="doc-html" />
-		</copy>
-		<zip zipfile="${dest}/jdtexamplessrc.zip">
-		    <fileset dir="examples" />
-  		</zip>				
-	</target>
-</project>
diff --git a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/nls/NLSHintTest.java b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/nls/NLSHintTest.java
index d507468..8db74a6 100644
--- a/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/nls/NLSHintTest.java
+++ b/org.eclipse.jdt.ui.tests.refactoring/test cases/org/eclipse/jdt/ui/tests/nls/NLSHintTest.java
@@ -68,6 +68,22 @@
     protected void tearDown() throws Exception {        
         JavaProjectHelper.clear(javaProject, ProjectTestSetup.getDefaultClasspath());        
     }
+    
+    /**
+     * documents bug 57622.
+     */
+    public void testNlsedButNotTranslated() throws Exception {
+    	IPackageFragment pack = fSourceFolder.createPackageFragment("test", false, null);
+    	String klazz = 
+    		"package test;\n" +
+    		"public class Test {" +
+			"	private String str=\"whateverKey\";//$NON-NLS-1$\n" +
+			"}\n";
+    	ICompilationUnit cu= pack.createCompilationUnit("Test.java", klazz, false, null);
+        NLSHolder nlsHolder = NLSHolder.create(cu);
+        NLSHint hint = new NLSHint(nlsHolder.getLines(), cu);
+        assertEquals(null, hint.getMessageClass());    	
+    }
 
     public void testNoMessageClassHint() throws Exception {
         IPackageFragment pack = fSourceFolder.createPackageFragment("test", false, null);
diff --git a/org.eclipse.jdt.ui.tests/.classpath b/org.eclipse.jdt.ui.tests/.classpath
deleted file mode 100644
index 02a550e..0000000
--- a/org.eclipse.jdt.ui.tests/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="examples"/>
-	<classpathentry kind="src" path="test plugin"/>
-	<classpathentry kind="src" path="ui"/>
-	<classpathentry kind="src" path="chkpii"/>
-	<classpathentry kind="src" path="leaks"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.ui.tests/.cvsignore b/org.eclipse.jdt.ui.tests/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.jdt.ui.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests/.plugins-path b/org.eclipse.jdt.ui.tests/.plugins-path
deleted file mode 100644
index 36f1716..0000000
--- a/org.eclipse.jdt.ui.tests/.plugins-path
+++ /dev/null
@@ -1 +0,0 @@
-platformPath = file:/d:/workspaces/eclipse-sh1/plugins/
diff --git a/org.eclipse.jdt.ui.tests/.project b/org.eclipse.jdt.ui.tests/.project
deleted file mode 100644
index b27d919..0000000
--- a/org.eclipse.jdt.ui.tests/.project
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.ui.tests</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.jdt.core</project>
-		<project>org.eclipse.jdt.launching</project>
-		<project>org.eclipse.jdt.ui</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.search</project>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench.texteditor</project>
-		<project>org.junit</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.ui.tests/about.html b/org.eclipse.jdt.ui.tests/about.html
deleted file mode 100644
index fad1e4a..0000000
--- a/org.eclipse.jdt.ui.tests/about.html
+++ /dev/null
@@ -1,44 +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>Third Party Content</h3>
-
-<p>The Content includes items that may be have been sourced from third parties as follows:</p>
-
-<p><b>JUnit 3.7</b></p>
-<p>The plug-in is based on software developed by JUnit.org.  Your use of JUnit 3.7 in both source and binary code
-form contained in the plug-in is subject to the terms and conditions of the IBM Public License 1.0 which is available at
-<a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>.
-The source code is located in testresources/junit37-noUI-src.zip.</p>
-
-<p>i) IBM effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;</p>
-<p>ii) IBM effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;</p>
-<p>iii) IBM states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party.</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.ui.tests/activation/org/eclipse/jdt/ui/tests/activation/JavaActivationTest.java b/org.eclipse.jdt.ui.tests/activation/org/eclipse/jdt/ui/tests/activation/JavaActivationTest.java
deleted file mode 100644
index d4804c5..0000000
--- a/org.eclipse.jdt.ui.tests/activation/org/eclipse/jdt/ui/tests/activation/JavaActivationTest.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.ui.tests.activation;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-public class JavaActivationTest extends TestCase {
-	
-	private IJavaProject project;
-
-	protected void setUp() throws Exception {
-		project= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-	}
-
-	protected void tearDown() throws Exception {
-	    getPage().closeAllEditors(false);
-		JavaProjectHelper.delete(project);
-	}
-
-	private IWorkbenchPage getPage() {
-	    IWorkbench workbench= PlatformUI.getWorkbench();
-	    return workbench.getActiveWorkbenchWindow().getActivePage();
-	}
-	
-	private ICompilationUnit createTestCU() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(project, "src");
-		IPackageFragment pack= sourceFolder.createPackageFragment("pack0", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("public class List1 {\n}\n");
-		return pack.createCompilationUnit("List1.java", buf.toString(), false, null);
-	}
-	
-	public void testOpenJavaEditor() throws Exception {
-		String[] expectedActivations= {
-		        // activated since running tests
-		        "org.eclipse.jdt.junit.runtime", 
-		        "org.eclipse.pde.junit.runtime",
-		        "org.eclipse.jdt.ui.tests", 
-		        "org.junit", 
-		        
-		        // expected activations
-		        "org.osgi.framework",
-		        "org.eclipse.osgi.services",
-		        "org.eclipse.osgi.util",
-		        "org.eclipse.core.runtime",
-		        "org.eclipse.update.configurator",
-		        "org.eclipse.compare",
-		        "org.eclipse.core.filebuffers",
-		        "org.eclipse.core.resources",
-		        "org.eclipse.core.runtime.compatibility",
-		        "org.eclipse.debug.core",
-		        "org.eclipse.debug.ui", // ???
-		        "org.eclipse.help",
-		        "org.eclipse.jdt.core",
-		        "org.eclipse.jdt.ui",
-		        "org.eclipse.jface",
-		        "org.eclipse.jface.text",
-		        "org.eclipse.swt",
-		        "org.eclipse.team.core",
-		        "org.eclipse.text",
-		        "org.eclipse.ui",
-		        "org.eclipse.ui.editors",
-		        "org.eclipse.ui.externaltools", // ???
-		        "org.eclipse.ui.ide",
-		        "org.eclipse.ui.views",
-		        "org.eclipse.ui.workbench",
-		        "org.eclipse.ui.workbench.texteditor",
-		        "org.eclipse.update.core",
-		        "org.eclipse.update.scheduler" // ???
-		};
-		ICompilationUnit unit= createTestCU();
-		EditorUtility.openInEditor(unit);
-		IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors();
-		
-		Set set= new HashSet();
-		set.addAll(Arrays.asList(expectedActivations));
-		
-		for (int i = 0; i < descriptors.length; i++) {
-		    IPluginDescriptor descriptor= descriptors[i];
-		    String uniqueIdentifier= descriptor.getUniqueIdentifier();
-		    if (descriptor.isPluginActivated())
-		        assertTrue ("plugin should not be activated: "+uniqueIdentifier,  set.contains(uniqueIdentifier)) ;
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/build.properties b/org.eclipse.jdt.ui.tests/build.properties
deleted file mode 100644
index 24d2e47..0000000
--- a/org.eclipse.jdt.ui.tests/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               test.xml,\
-               about.html,\
-               testresources/,\
-               *.jar,\
-               leaks/ProfileNatives.dll
-source.javauitests.jar = examples/,\
-                         test plugin/,\
-                         ui/,\
-                         leaks/
diff --git a/org.eclipse.jdt.ui.tests/chkpii/ignoreErrorsUnix.txt b/org.eclipse.jdt.ui.tests/chkpii/ignoreErrorsUnix.txt
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.jdt.ui.tests/chkpii/ignoreErrorsUnix.txt
+++ /dev/null
diff --git a/org.eclipse.jdt.ui.tests/chkpii/ignoreErrorsWindows.txt b/org.eclipse.jdt.ui.tests/chkpii/ignoreErrorsWindows.txt
deleted file mode 100644
index 3a88561..0000000
--- a/org.eclipse.jdt.ui.tests/chkpii/ignoreErrorsWindows.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-127
-128
diff --git a/org.eclipse.jdt.ui.tests/chkpii/ignoreFiles.txt b/org.eclipse.jdt.ui.tests/chkpii/ignoreFiles.txt
deleted file mode 100644
index d28dc42..0000000
--- a/org.eclipse.jdt.ui.tests/chkpii/ignoreFiles.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-feature.properties
-feature.xml
-cpl*.html
-license.html
-notice.html
-buildnotes*.htm
-buildnotes*.html
-*/bin/*
-*/plugin-export/*
-*/.metadata/*
-*/doc_zip/*
-*/scripts/*
-com.oti.zrh.contextids/*
-com.oti.zrh.eclipse.tools/*
-com.oti.zrh.eclipse.doc.tools-feature/*
-com.oti.zrh.eclipse.tools-updateSite/*
-Eclipse*JDT*Builds/*
-org.eclipse.jdt.launching/*
-org.eclipse.jdt.launching.j9/*
-org.eclipse.jdt.ui.tests.refactoring/resources/*
-platform-search-home/*
-platform-text-home/*
-jdt-ui-home/*
-org.eclipse.jdt.ui/core*extension\org/eclipse/jdt/internal/corext/template/default-codetemplates.xml
-org.eclipse.platform.doc.isv/buildDoc.xml
-org.eclipse.jdt.doc.isv/buildDoc.xml
-org.eclipse.jdt.core/*
-org.eclipse.tomcat/conf/*
-org.eclipse.ui/plugin.xml
-org.eclipse.platform.source/*
-org.apache.ant/*
-org.eclipse.help.webapp/*
-org.eclipse.pde.ui/*
-org.eclipse.pde.build/*
-org.eclipse.debug.core/*
-org.eclipse.jdt.debug.ui/*
-org.eclipse.jdt.debug/*
-org.eclipse.debug.ui/*
-org.eclipse.releng.tools/*
-org.eclipse.ui.console/*
-org.eclipse.sdk.tests-feature/plugins/*
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests/chkpii/org/eclipse/jdt/ui/tests/chkpii/ChkpiiTests.java b/org.eclipse.jdt.ui.tests/chkpii/org/eclipse/jdt/ui/tests/chkpii/ChkpiiTests.java
deleted file mode 100644
index 522f267..0000000
--- a/org.eclipse.jdt.ui.tests/chkpii/org/eclipse/jdt/ui/tests/chkpii/ChkpiiTests.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.chkpii;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.boot.BootLoader;
-
-public class ChkpiiTests extends TestCase {
-	
-	private String fLogDirectoryName;
-	
-	private static final int HTML= 0;
-	private static final int PROPERTIES= 1;
-	private static final int XML= 2;
-	
-	/**
-	 * Checks if the given log file contains errors.
-	 * 
-	 * @param logFilePath the path of the chkpii log file
-	 * @return <code>true</code> if there are errors in the log file
-	 */
-	private boolean hasErrors(String logFilePath) {
-		BufferedReader aReader= null;
-		
-		try {
-			aReader= new BufferedReader(new InputStreamReader(new FileInputStream(logFilePath)));
-			String aLine= aReader.readLine();
-			while (aLine != null) {
-				int aNumber= parseLine(aLine);
-				if (aNumber > 0)
-					return true;
-
-				aLine= aReader.readLine();
-			}
-		} catch (FileNotFoundException e) {
-			System.out.println("Could not open log file: " + logFilePath); //$NON-NLS-1$
-			return true;
-		} catch (IOException e) {
-			System.out.println("Error reading log file: " + logFilePath); //$NON-NLS-1$
-			return true;
-		} finally {
-			if (aReader != null) {
-				try {
-					aReader.close();
-				} catch (IOException e) {
-					return true;
-				}
-			}
-		}
-		
-		return false;
-	}
-	
-	public void testChkpii() {
-			
-		boolean testExecuted= testChkpii(HTML);
-		assertTrue("Could not run chkpii test. See console for details.", testExecuted); //$NON-NLS-1$
-		boolean result1= !hasErrors(getOutputFile(HTML));
-
-		testChkpii(XML);
-		assertTrue("Could not run chkpii test. See console for details.", testExecuted); //$NON-NLS-1$
-		boolean result2= !hasErrors(getOutputFile(XML));
-		
-		testChkpii(PROPERTIES);
-		assertTrue("Could not run chkpii test. See console for details.", testExecuted); //$NON-NLS-1$
-		boolean result3= !hasErrors(getOutputFile(PROPERTIES));
-
-		assertTrue("CHKPII warnings or errors in files. See " + fLogDirectoryName + " for details.", (result1 && result2 && result3)); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-		
-	private boolean testChkpii(int type) {
-		Runtime aRuntime= Runtime.getRuntime();
-		String chkpiiString= getChkpiiString(type);
-		BufferedReader aBufferedReader= null;
-		StringBuffer consoleLog= new StringBuffer();
-		try {
-			Process aProcess= aRuntime.exec(chkpiiString);
-			aBufferedReader= new BufferedReader(new InputStreamReader(aProcess.getInputStream()));
-			String line= aBufferedReader.readLine();
-			while (line != null) {
-				consoleLog.append(line);
-				consoleLog.append('\n');
-				line= aBufferedReader.readLine();
-			}
-			aProcess.waitFor();
-		} catch (IOException e) {
-			e.printStackTrace();
-			return false;
-		} catch (InterruptedException e) {
-			return false;
-		} finally {
-			if (aBufferedReader != null)
-				try {
-					aBufferedReader.close();
-				} catch (IOException ex) {
-				}
-		}
-		if (!new File(getOutputFile(type)).exists()) {
-			System.out.println(consoleLog.toString());
-			System.out.flush();
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Method getChkpiiString.
-	 * 
-	 * @param HTML
-	 * @return String
-	 */
-	private String getChkpiiString(int type) {
-		return getExec() + " " + getFilesToTest(type) + " -E -O " + getOutputFile(type) + " -XM @" + getExcludeErrors() + " -X " + getExcludeFile () + " -S"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	}
-
-
-	private String getUserDirectory() {
-		return System.getProperty("user.dir") + File.separator; //$NON-NLS-1$
-	}
-
-	/**
-	 * Method getFilesToTest.
-	 * 
-	 * @param HTML
-	 * @return String
-	 */
-	private String getFilesToTest(int type) {
-			
-		String sniffFolder=	getUserDirectory() + ".." + File.separator; //$NON-NLS-1$
-
-		String aString= sniffFolder;
-			
-		switch (type) {
-			case HTML :
-				return aString + "*.htm*"; //$NON-NLS-1$
-			case PROPERTIES :
-				return aString + "*.properties"; //$NON-NLS-1$
-							
-			case XML : 
-				return aString + "*.xml"; //$NON-NLS-1$
-			
-			default :
-				return aString + "*.*"; //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Method getExcludeFiles.
-	 * 
-	 * @return String
-	 */
-	private String getExcludeFile() {
-		String aString= getUserDirectory() + "chkpii" + File.separator + "ignoreFiles.txt";  //$NON-NLS-1$//$NON-NLS-2$
-		return new File(aString).getPath();
-	}
-	
-	/**
-	 * Returns the output file path.
-	 * 
-	 * @param type the file type
-	 * @return the string with the output file path
-	 */
-	private String getOutputFile(int type) {
-
-		switch (type) {
-
-			case HTML :
-				return fLogDirectoryName + File.separator + "html.txt"; //$NON-NLS-1$
-
-			case PROPERTIES :
-				return fLogDirectoryName + File.separator + "properties.txt"; //$NON-NLS-1$
-		
-			case XML : 
-				return fLogDirectoryName + File.separator + "xml.txt"; //$NON-NLS-1$
-
-			default :
-				return fLogDirectoryName + File.separator + "other.txt"; //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Method getExec.
-	 * 
-	 * @return String
-	 */
-	private String getExec() {
-		return new File("chkpii.exe").getPath(); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Method getExcludeErrors.
-	 */
-	private String getExcludeErrors() {
-		
-		String fileName;
-		
-		if (BootLoader.getOS().equals(BootLoader.OS_WIN32))
-			fileName= "ignoreErrorsWindows.txt"; //$NON-NLS-1$
-		else
-			fileName= "ignoreErrorsUnix.txt"; //$NON-NLS-1$
-		
-		String aString= getUserDirectory() + "chkpii" + File.separator + fileName; //$NON-NLS-1$
-		return new File(aString).getPath();
-	}
-		
-	/**
-	 * Method parseLine.
-	 * 
-	 * @param aLine
-	 * @return -1 if not an error or warning line or the number of errors or
-	 * warnings.
-	 */
-	private int parseLine(String aLine) {
-		int index= aLine.indexOf("Files Contain Error"); //$NON-NLS-1$
-		
-//		if (index == -1) {
-//			index= aLine.indexOf("Files Contain Warning"); //$NON-NLS-1$
-//		}
-		
-		if (index == -1) {
-			index= aLine.indexOf("Files Could Not Be Processed"); //$NON-NLS-1$
-		}
-		
-		if (index == -1) {
-			return index;
-		}
-		
-		String aString= aLine.substring(0, index).trim();
-		return Integer.parseInt(aString);
-	}
-	
-	/**
-	 * Constructor for EmptyDirectoriesTest.
-	 * @param arg0
-	 */
-	public ChkpiiTests(String arg0) {
-		super(arg0);
-	}
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		fLogDirectoryName= getUserDirectory() + ".." + File.separator + "chkpiiResults" + File.separator; //$NON-NLS-1$ //$NON-NLS-2$
-		try {
-			fLogDirectoryName= new File(fLogDirectoryName).getCanonicalPath();
-		} catch (IOException e) {
-			e.printStackTrace();
-			fLogDirectoryName= new File(fLogDirectoryName).getPath();
-		}
-
-		new File(fLogDirectoryName).mkdirs();
-
-		new File(getOutputFile(PROPERTIES)).delete();
-		new File(getOutputFile(HTML)).delete();
-		new File(getOutputFile(XML)).delete();
-		
-	}
-
-	/*
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		fLogDirectoryName= null;		
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/ASTNodeConstantsGenerator.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/ASTNodeConstantsGenerator.java
deleted file mode 100644
index 4253c8f..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/ASTNodeConstantsGenerator.java
+++ /dev/null
@@ -1,809 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.examples;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.core.ToolFactory;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-
-/**
- * Creates class ASTNodeConstants. Run it as a Junit plugin test.
- */
-public class ASTNodeConstantsGenerator extends TestCase {
-	
-	private static final String LIST= "java.util.List";
-	
-	public static TypeFilter fgListFilter= new NodeTypeFilter(List.class);
-	public static TypeFilter fgASTFilter= new NodeTypeFilter(ASTNode.class);
-	public static TypeFilter fgListAndASTFilter=  new PrimitiveTypeFilter(true);
-	public static TypeFilter fgPrimitiveFilter= new PrimitiveTypeFilter(false);
-	public static TypeFilter fgNoFilter= new TypeFilter();
-	
-	public static class TypeFilter {
-		public boolean accept(Class returnType) {
-			return true;
-		}
-	}
-	
-	public static class NodeTypeFilter extends TypeFilter {
-		private Class fClass;
-
-		public NodeTypeFilter(Class cl) {
-			fClass= cl;
-		}
-		
-		public boolean accept(Class returnType) {
-			return fClass.isAssignableFrom(returnType);
-		}
-	}
-	
-	public static class PrimitiveTypeFilter extends TypeFilter {
-
-		private boolean fInvert;
-
-		public PrimitiveTypeFilter(boolean b) {
-			fInvert= b;
-		}
-		
-		public boolean accept(Class returnType) {
-			return fInvert ^ (!LIST.equals(returnType.getName()) && !ASTNode.class.isAssignableFrom(returnType));
-		}
-	}	
-	
-	
-	public class ClassNameComparer implements Comparator {
-
-		private Collator fCollator= Collator.getInstance();
-		
-		public int compare(Object o1, Object o2) {
-			String name1= ((Class)o1).getName();
-			String name2= ((Class)o2).getName();		
-			return fCollator.compare(name1, name2);
-		}
-
-	}
-	
-	public class MethodNameComparer implements Comparator {
-
-		private Collator fCollator= Collator.getInstance();
-		
-		public int compare(Object o1, Object o2) {
-			String name1= ((Method)o1).getName();
-			String name2= ((Method)o2).getName();		
-			return fCollator.compare(name1, name2);
-		}
-
-	}
-	
-	public class MethodTypeComparer implements Comparator {
-
-		private Collator fCollator= Collator.getInstance();
-		
-		public int compare(Object o1, Object o2) {
-			Method m1= (Method)o1;
-			Method m2= (Method)o2;
-			boolean isList1= LIST.equals(m1.getReturnType().getName());
-			boolean isList2= LIST.equals(m2.getReturnType().getName());
-			if (isList1 && !isList2) {
-				return 1;
-			} else if (!isList1 && isList2) {
-				return -1;
-			}
-			String name1= m1.getName();
-			String name2= m2.getName();		
-			return fCollator.compare(name1, name2);
-		}
-
-	}
-	
-	public class PropertyOrderComparer implements Comparator {
-		
-		private Collator fCollator= Collator.getInstance();
-		private boolean fInvert;
-		
-		public PropertyOrderComparer(String className) {
-			fInvert= "PREFIX_EXPRESSION".equals(className) || "DO_STATEMENT".equals(className);
-		}
-		
-		private int getCategory(String constName) {
-			Integer order= (Integer) fgPropertyOrderMap.get(constName);
-			if (order == null) {
-				return 50;
-			}
-			if (fInvert) {
-				return 100 - order.intValue();
-			}
-			return order.intValue();
-		}
-		
-		public int compare(Object o1, Object o2) {
-			Method m1= (Method)o1;
-			Method m2= (Method)o2;
-			String const1= toConstantName(getPropertyName(m1));
-			String const2= toConstantName(getPropertyName(m2));
-			
-			int res= getCategory(const1) - getCategory(const2);
-			if (res != 0) {
-				return res;
-			}	
-			return fCollator.compare(const1, const2);
-		}
-
-	}	
-
-	
-	private static final Class THIS= ASTNodeConstantsGenerator.class;
-
-	private static HashSet fgPropertyIgnoreList;
-	
-	private static HashMap fgPropertyOrderMap;
-	
-	static {
-		// setters that are not real node attributes (or deprecated)
-		fgPropertyIgnoreList= new HashSet();
-		fgPropertyIgnoreList.add("setProperty");
-		fgPropertyIgnoreList.add("setParent");
-		fgPropertyIgnoreList.add("setFlags");
-		fgPropertyIgnoreList.add("setLeadingComment");
-		fgPropertyIgnoreList.add("setAlternateRoot");
-		fgPropertyIgnoreList.add("setComment");
-		
-		fgPropertyOrderMap= new HashMap();
-		
-		fgPropertyOrderMap.put("PACKAGE", new Integer(1));
-		fgPropertyOrderMap.put("JAVADOC", new Integer(1));
-		fgPropertyOrderMap.put("MODIFIERS", new Integer(10));
-		
-		fgPropertyOrderMap.put("IS_CONSTRUCTOR", new Integer(18));
-		fgPropertyOrderMap.put("RETURN_TYPE", new Integer(20));
-
-		fgPropertyOrderMap.put("IS_INTERFACE", new Integer(25));
-		fgPropertyOrderMap.put("NAME", new Integer(30));
-		fgPropertyOrderMap.put("EXTRA_DIMENSIONS", new Integer(32));
-		fgPropertyOrderMap.put("PARAMETERS", new Integer(40));
-		fgPropertyOrderMap.put("ARGUMENTS", new Integer(40));
-		fgPropertyOrderMap.put("SUPERCLASS", new Integer(40));
-		fgPropertyOrderMap.put("SUPER_INTERFACES", new Integer(42));
-
-		fgPropertyOrderMap.put("OPERAND", new Integer(45));
-		
-		fgPropertyOrderMap.put("THROWN_EXCEPTIONS", new Integer(50));
-		fgPropertyOrderMap.put("BODY", new Integer(60));
-
-		fgPropertyOrderMap.put("DIMENSIONS", new Integer(60));
-		fgPropertyOrderMap.put("FRAGMENTS", new Integer(60));
-
-		fgPropertyOrderMap.put("EXPRESSION", new Integer(26)); 
-		fgPropertyOrderMap.put("QUALIFIER", new Integer(26));
-		fgPropertyOrderMap.put("INITIALIZERS", new Integer(10));
-		
-		// INITIALIZERS < EXPRESSION
-		// TYPE < EXPRESSION < NAME
-		fgPropertyOrderMap.put("TYPE", new Integer(24)); 
-
-		
-		fgPropertyOrderMap.put("EXTENDED_OPERANDS", new Integer(60));
-		fgPropertyOrderMap.put("INITIALIZER", new Integer(70));
-		
-		// BODY <  CATCH_CLAUSES < FINALLY
-		fgPropertyOrderMap.put("CATCH_CLAUSES", new Integer(65));
-		fgPropertyOrderMap.put("FINALLY", new Integer(70));
-		
-	}
-	
-
-	public ASTNodeConstantsGenerator(String name) {
-		super(name);
-		
-
-		
-	}
-
-	public static Test allTests() {
-		return new TestSuite(THIS);
-	}
-
-	public static Test suite() {
-		if (false) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTNodeConstantsGenerator("createGeneratedCU"));
-			return suite;
-		}	
-	}
-
-	protected void setUp() throws Exception {
-	}
-
-
-	protected void tearDown() throws Exception {
-	}
-	
-	
-	public void createGeneratedCU() throws Exception {
-		
-		Class[] astClases= getASTClasses();
-		Arrays.sort(astClases, new ClassNameComparer());
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("//--------------------------------------------\n\n");
-		buf.append("package org.eclipse.jdt.core.dom.rewrite;\n\n");
-		buf.append("import java.util.List;");
-		buf.append("import org.eclipse.jdt.core.dom.*;\n\n");
-		buf.append("public class ASTNodeConstants {\n");
-		
-		createPropertyList(astClases, buf);
-		createPropertyValidator(astClases, buf);
-		createIsListTest(astClases, buf);
-		createIsAttributeTest(astClases, buf);
-		createListAccessor(astClases, buf);
-		createGetNodeChild(astClases, buf);
-		createGetPropertyOfNode(astClases, buf);
-		createGetNodeChildProperties(astClases, buf);
-		createGetChildPropertyName(astClases, buf);
-		
-		buf.append("}");
-		
-		String code= buf.toString();
-		
-		Hashtable options= JavaCore.getOptions();
-		options.put(JavaCore.FORMATTER_LINE_SPLIT, "999");
-		
-		// new formatter
-		//TextEdit edit= ToolFactory.createCodeFormatter(options).format(CodeFormatter.K_COMPILATION_UNIT, code, 0, code.length(), 0, String.valueOf('\n'));
-		//Document doc= new Document(code);
-		//edit.apply(doc, 0);
-		//String res= doc.get();
-		
-		// old formatter
-		String res= ToolFactory.createDefaultCodeFormatter(options).format(code, 0, null, String.valueOf('\n'));
-		
-		// copy to clipboard
-		TextTransfer plainTextTransfer = TextTransfer.getInstance();
-		try{
-			new Clipboard(Display.getCurrent()).setContents(
-				new String[]{ res }, 
-				new Transfer[]{ plainTextTransfer });
-		}  catch (SWTError e){
-			e.printStackTrace();
-		}
-		
-		System.out.print(res);
-	}
-	
-	public void createPropertyList(Class[] astClases, StringBuffer buf) throws Exception {
-		HashMap properties= getPropertyList(astClases);
-		
-		Object[] objects= properties.keySet().toArray();
-		Arrays.sort(objects, Collator.getInstance());
-		for (int i= 0; i < objects.length; i++) {
-			String curr= (String) objects[i];
-			
-			buf.append("/**\n");
-			buf.append(" * Property for nodes of type\n");
-			List parents= (List) properties.get(curr);
-			Collections.sort(parents, new ClassNameComparer());
-			int lastParent= parents.size() - 1;
-			for (int k= 0; k <= lastParent; k++) {
-				Class parent= (Class) parents.get(k);
-				buf.append(" * <code>" + Signature.getSimpleName(parent.getName()) + "</code>");
-				if (k != lastParent) {
-					buf.append(",\n");
-				} else {
-					buf.append(".\n");
-				}
-			}
-			buf.append(" */\n");
-			buf.append("public static final int " + curr + "= " + String.valueOf(i + 1) + ";\n\n");
-		}
-	}
-
-	public void createPropertyValidator(Class[] astClases, StringBuffer buf) throws Exception {
-		HashMap classes= createClassList(astClases);
-		
-		buf.append("\n/**");	
-		buf.append("\n *Returns <code>true</code> if a node has the given property.");
-		buf.append("\n */\n");
-		buf.append("public static boolean hasChildProperty(ASTNode node, int property) {");	
-		buf.append("switch (node.getNodeType()) {");	
-		
-		Object[] objects= classes.keySet().toArray();
-		Arrays.sort(objects, new ClassNameComparer());
-		for (int i= 0; i < objects.length; i++) {
-			Class curr= (Class) objects[i];
-			Object[] properties= ((List) classes.get(curr)).toArray();
-			Arrays.sort(properties, Collator.getInstance());
-			
-			int nProperties= properties.length;
-			if (nProperties != 0) {
-				String name= Signature.getSimpleName(curr.getName());
-				buf.append("case ASTNode." + toConstantName(name) + ":");
-				if (nProperties == 1) {
-					buf.append("return property == " +properties[0] + ";");
-				} else if (nProperties == 2) {
-					buf.append("return (property == " +properties[0] + ") || (property == " +properties[1] + ");");
-				} else if (nProperties == 3) {
-					buf.append("return (property == " +properties[0] + ") || (property == " +properties[1] + ") || (property == " +properties[2] + ");");
-				} else {
-					buf.append("switch (property) {");
-					for (int k= 0; k < nProperties; k++) {
-						buf.append("case " + properties[k] + ":");
-					}
-					buf.append("return true;");
-					buf.append("}");
-					buf.append("return false;");
-				}				
-			}
-		}
-		buf.append("}");	
-		buf.append("return false;");
-		buf.append("}\n\n");
-	}
-	
-	public void createIsListTest(Class[] astClases, StringBuffer buf) throws Exception {
-		
-		HashSet listProperties= new HashSet();
-		HashSet otherProperties= new HashSet();
-				
-		for (int i= 0; i < astClases.length; i++) {
-			Class cl= astClases[i];
-			Method[] properties= getProperties(cl);
-			for (int k= 0; k < properties.length; k++) {
-				Method curr= properties[k];
-				Class ret= curr.getReturnType();
-
-				String name= toConstantName(getPropertyName(curr));
-				if (!LIST.equals(ret.getName())) {
-					otherProperties.add(name);
-					if (listProperties.contains(name)) {
-						System.err.println("Property is list and non-list: " + name);
-					}
-					if (!fgASTFilter.accept(ret) && !fgPrimitiveFilter.accept(ret)) {
-						System.err.println("Property has unknown return type: " + ret.getName());
-					}
-				} else {
-					if (otherProperties.contains(name)) {
-						System.err.println("Property is list and non-list: " + name);
-					} else {
-						listProperties.add(name);
-					}
-				}
-			}
-		}
-
-		String[] lists= (String[]) listProperties.toArray(new String[listProperties.size()]);
-		Arrays.sort(lists, Collator.getInstance());
-		
-		buf.append("\n/**");	
-		buf.append("\n  * Returns <code>true</code> if property of a node is a list property.");
-		buf.append("\n */\n");
-		buf.append("public static boolean isListProperty(int property) {");	
-		buf.append("switch (property) {");	
-	
-		for (int i= 0; i < lists.length; i++) {
-			buf.append("case " + lists[i] + ":");
-		}
-		buf.append("return true;");
-		buf.append("}");	
-		buf.append("return false;");
-		buf.append("}\n\n");
-	}
-	
-	public void createIsAttributeTest(Class[] astClases, StringBuffer buf) throws Exception {
-		
-		HashSet otherProperties= new HashSet();
-		HashSet attribProperties= new HashSet();
-		
-		for (int i= 0; i < astClases.length; i++) {
-			Class cl= astClases[i];
-			Method[] properties= getProperties(cl);
-			for (int k= 0; k < properties.length; k++) {
-				Method curr= properties[k];
-				Class ret= curr.getReturnType();
-
-				String name= toConstantName(getPropertyName(curr));
-				if (fgPrimitiveFilter.accept(ret)) {
-					attribProperties.add(name);
-					if (otherProperties.contains(name)) {
-						System.err.println("Property is attribute and non-attribute: " + name);
-					}
-				} else {
-					if (attribProperties.contains(name)) {
-						System.err.println("Property is attribute and non-attribute: " + name);
-					} else {
-						otherProperties.add(name);
-					}
-				}
-			}
-		}
-
-		String[] lists= (String[]) attribProperties.toArray(new String[attribProperties.size()]);
-		Arrays.sort(lists, Collator.getInstance());
-		
-		buf.append("\n/**");	
-		buf.append("\n  * Returns <code>true</code> if property of a node is an attribute property (Not a List and not an ASTNode).");
-		buf.append("\n */\n");
-		buf.append("public static boolean isAttributeProperty(int property) {");	
-		buf.append("switch (property) {");	
-		
-		for (int i= 0; i < lists.length; i++) {
-			buf.append("case " + lists[i] + ":");
-		}
-		buf.append("return true;");
-		buf.append("}");	
-		buf.append("return false;");
-		buf.append("}\n\n");
-	}	
-	
-	
-	public void createListAccessor(Class[] astClases, StringBuffer buf) throws Exception {
-		
-		buf.append("\n/**");	
-		buf.append("\n * Gets a property in a list.");
-		buf.append("\n */\n");
-		buf.append("public static ASTNode getNodeChild(ASTNode node, int property, int index) {");	
-		buf.append("if (!isListProperty(property)) {");
-		buf.append("throw new IllegalArgumentException();");
-		buf.append("}");
-		buf.append("return (ASTNode) ((List) getNodeChild(node, property)).get(index);");
-		buf.append("}\n\n");
-		
-	}
-	
-	
-
-	
-	public void createGetNodeChild(Class[] astClases, StringBuffer buf) throws Exception {
-
-
-		buf.append("\n/**");	
-		buf.append("\n * Gets a ASTNode child by the property id. Booleans and integer attributes are returned boxed.");
-		buf.append("\n */\n");
-		buf.append("public static Object getNodeChild(ASTNode node, int property) {");	
-		buf.append("switch (node.getNodeType()) {");	
-
-		for (int i= 0; i < astClases.length; i++) {
-			Class curr= astClases[i];
-			Method[] properties= getProperties(curr, fgNoFilter);
-			
-			int nProperties= properties.length;
-			if (nProperties != 0) {
-				String className= Signature.getSimpleName(curr.getName());
-				buf.append("case ASTNode." + toConstantName(className) + ":");
-
-				if (nProperties == 1) {
-					String name= getPropertyName(properties[0]);
-	
-					buf.append("if (property == " + toConstantName(name) + ") {");
-					appendWrapped(buf, className, properties[0]);		
-					buf.append("}");
-					buf.append("break;");
-				} else {
-					Arrays.sort(properties, new MethodNameComparer());
-					
-					buf.append("switch (property) {");
-					for (int k= 0; k < nProperties; k++) {
-						
-						Method meth= properties[k];
-						String name= getPropertyName(meth);
-						buf.append("case " + toConstantName(name) + ":");
-						appendWrapped(buf, className, meth);		
-					}
-					buf.append("}");
-					buf.append("break;");
-				}				
-			}
-		}
-		buf.append("}");	
-		buf.append("throw new IllegalArgumentException();");
-		buf.append("}\n\n");
-	}
-	
-	
-	
-	
-	private void appendWrapped(StringBuffer buf, String className, Method meth) {
-		buf.append("return ");
-		String val= "((" + className + ") node)." + meth.getName() + "()";
-		
-		String retType= meth.getReturnType().getName();
-		if ("int".equals(retType)) {
-			buf.append("new Integer(");
-			buf.append(val);
-			buf.append(")");
-		} else if ("boolean".equals(retType)){
-			buf.append("new Boolean(");
-			buf.append(val);
-			buf.append(")");
-		} else {
-			buf.append(val);
-		}
-		buf.append(";");
-	}
-
-	public void createGetPropertyOfNode(Class[] astClases, StringBuffer buf) throws Exception {
-
-		buf.append("\n/**");	
-		buf.append("\n * Gets the child property a node is located at its parent.");
-		buf.append("\n */\n");
-		buf.append("public static int getPropertyOfNode(ASTNode node) {");
-		buf.append("ASTNode parent=node.getParent();");
-		buf.append("if (parent == null) {");
-		buf.append("throw new IllegalArgumentException();");
-		buf.append("}");
-		
-		buf.append("switch (parent.getNodeType()) {");
-
-		MethodTypeComparer comparer= new MethodTypeComparer();
-		
-		for (int i= 0; i < astClases.length; i++) {
-			Class curr= astClases[i];
-			Method[] properties= getProperties(curr, fgListAndASTFilter);
-			
-			int nProperties= properties.length;
-			if (nProperties != 0) {
-				String className= Signature.getSimpleName(curr.getName());
-				buf.append("case ASTNode." + toConstantName(className) + ":");
-				String varName= "((" + className + ") parent)";
-				if (nProperties > 2) {
-					varName= toVariableName(className);
-					buf.append(className);
-					buf.append(" ");
-					buf.append(varName);
-					buf.append("=(");
-					buf.append(className);
-					buf.append(")parent;");
-				}
-				Arrays.sort(properties, comparer);
-				for (int k= 0; k < properties.length; k++) {
-					Method meth= properties[k];
-					if (k != properties.length - 1) {
-						buf.append("if (").append(varName).append(".");
-						buf.append(meth.getName());
-						if (LIST.equals(meth.getReturnType().getName())) {
-							buf.append("().contains(node))"); 
-						} else {
-							buf.append("() == node)"); 
-						}
-					}
-					buf.append("return ");
-					buf.append(toConstantName(getPropertyName(meth)));
-					buf.append(";");
-				}
-			}
-		}
-		buf.append("}");	
-		buf.append("throw new IllegalArgumentException();");
-		buf.append("}\n\n");
-	}
-	
-	public void createGetNodeChildProperties(Class[] astClases, StringBuffer buf) throws Exception {
-
-		buf.append("\n/**");	
-		buf.append("\n * Returns the properties of all children.");
-		buf.append("\n */\n");
-		buf.append("public static int[] getNodeChildProperties(ASTNode node) {");
-		
-		buf.append("switch (node.getNodeType()) {");
-		
-		for (int i= 0; i < astClases.length; i++) {
-			Class curr= astClases[i];
-			
-			String className= Signature.getSimpleName(curr.getName());
-			String classConstName= toConstantName(className);
-			
-			Method[] properties= getProperties(curr, fgNoFilter);
-			PropertyOrderComparer comparer= new PropertyOrderComparer(classConstName);
-			Arrays.sort(properties, comparer);
-			
-			int nProperties= properties.length;
-			if (nProperties != 0) {
-				
-				buf.append("case ASTNode." + classConstName + ":");
-				buf.append("return new int[] {");
-				for (int k= 0; k < properties.length; k++) {
-					if (k > 0) {
-						buf.append(",");
-					}
-					buf.append(toConstantName(getPropertyName(properties[k])));
-				}
-				buf.append("};");
-			}
-		}
-		buf.append("}");	
-		buf.append("return new int[0];");
-		buf.append("}\n\n");
-	}
-	
-	private void createGetChildPropertyName(Class[] astClases, StringBuffer buf) {
-		HashSet result= new HashSet();
-		for (int i= 0; i < astClases.length; i++) {
-			Class cl= astClases[i];
-			Method[] properties= getProperties(cl);
-			for (int k= 0; k < properties.length; k++) {
-				Method curr= properties[k];
-				String name= getPropertyName(curr);
-				result.add(name);
-			}
-		}
-		Object[] properties= result.toArray();
-		Arrays.sort(properties, Collator.getInstance());
-		
-		buf.append("\n/**");	
-		buf.append("\n * Returns the name of a property.");
-		buf.append("\n */\n");
-		buf.append("public static String getPropertyName(int property) {");
-		
-		buf.append("switch (property) {");
-		
-		for (int i= 0; i < properties.length; i++) {
-			String curr= toConstantName((String) properties[i]);
-			
-			buf.append("case " + curr + ":");
-			buf.append("return ").append('"').append(curr).append('"').append("; //$NON-NLS-1$\n");
-		}
-		buf.append("}");	
-		buf.append("throw new IllegalArgumentException();");
-		buf.append("}\n\n");
-	}
-	
-	
-	private HashMap getPropertyList(Class[] astClases) {
-		HashMap result= new HashMap();
-		for (int i= 0; i < astClases.length; i++) {
-			Class cl= astClases[i];
-			Method[] properties= getProperties(cl);
-			for (int k= 0; k < properties.length; k++) {
-				Method curr= properties[k];
-				String name= getPropertyName(curr);
-				addToListMap(result, toConstantName(name), cl);
-			}
-		}
-		return result;
-	}
-	
-	private HashMap createClassList(Class[] astClases) {
-		HashMap result= new HashMap();
-		for (int i= 0; i < astClases.length; i++) {
-			Class cl= astClases[i];
-			Method[] properties= getProperties(cl);
-			for (int k= 0; k < properties.length; k++) {
-				Method curr= properties[k];
-				String name= getPropertyName(curr);
-				addToListMap(result, cl, toConstantName(name));
-			}
-		}
-		return result;
-	}	
-	
-	private static String getPropertyName(Method curr) {
-		String name= curr.getName();
-		if (name.startsWith("get")) {
-			return name.substring(3);
-		} else if (name.startsWith("is")) {
-			return name;
-		}
-		return name;
-	}
-	
-	
-	private void addToListMap(HashMap properties, Object key, Object value) {
-		ArrayList list= (ArrayList) properties.get(key);
-		if (list == null) {
-			list= new ArrayList(3);
-			properties.put(key, list);
-		}
-		list.add(value);
-	}
-	
-
-	private static Class[] getASTClasses() {
-		ArrayList list= new ArrayList();
-		Class class1= ASTVisitor.class;
-		Method[] methods= class1.getMethods();
-		for (int i= 0; i < methods.length; i++) {
-			Method curr= methods[i];
-			if ("visit".equals(curr.getName())) {
-				Class param= curr.getParameterTypes()[0];
-				list.add(param);
-			}
-		}
-		return (Class[]) list.toArray(new Class[list.size()]);
-	}
-		
-	private static Method[] getProperties(Class param) {
-		return getProperties(param, fgNoFilter);
-	}
-	
-	private static Method[] getProperties(Class param, TypeFilter filter) {
-		ArrayList res= new ArrayList();
-		Method[] methods= param.getMethods();
-		for (int i= 0; i < methods.length; i++) {
-			Method curr= methods[i];
-			int modifiers= curr.getModifiers();
-			if ((modifiers & (Modifier.STATIC | Modifier.PUBLIC)) == Modifier.PUBLIC) {
-				String name= curr.getName();
-				if (!fgPropertyIgnoreList.contains(name)) {
-					Class returnType= curr.getReturnType();
-					if (returnType.isArray()) {
-						continue;
-					}
-					
-					if (LIST.equals(returnType.getName())) {
-						if (filter.accept(returnType) ) {
-							res.add(curr);
-						}
-					} else if (name.startsWith("set")) {
-						Method getter= findGetter(methods, name.substring(3));
-						if (getter != null && filter.accept(getter.getReturnType())) {
-							res.add(getter);
-						}
-					}
-				}
-			}
-		}
-		return (Method[]) res.toArray(new Method[res.size()]);
-	}
-	
-	private static Method findGetter(Method[] methods, String string) {	
-		String s1= "get" + string;
-		String s2= "is" + string;
-		for (int i= 0; i < methods.length; i++) {
-			String name= methods[i].getName();
-			if (s1.equals(name) || s2.equals(name)) {
-				return methods[i];
-			}
-		}
-		return null;
-	}
-
-	private static String toConstantName(String string) {
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < string.length(); i++) {
-			char ch= string.charAt(i);
-			if (i != 0 && Character.isUpperCase(ch)) {
-				buf.append('_');
-			}
-			buf.append(Character.toUpperCase(ch));
-		}
-		return buf.toString();
-	}
-	
-	private static String toVariableName(String string) {
-		return Character.toLowerCase(string.charAt(0)) + string.substring(1);
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/AddTestMarkersAction.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/AddTestMarkersAction.java
deleted file mode 100644
index 8bdc19a..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/AddTestMarkersAction.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.examples;
-
-import java.util.HashMap;
-
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.action.Action;
-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.IActionDelegate;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.ToolFactory;
-import org.eclipse.jdt.core.compiler.IScanner;
-import org.eclipse.jdt.core.compiler.ITerminalSymbols;
-
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-
-/** In plugin.xml:
-    <extension
-         id="testmarker"
-         name="jdt-test-problem"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.problemmarker">
-      </super>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerResolution">
-      <markerResolutionGenerator
-            markerType="org.eclipse.jdt.ui.tests.testmarker"
-            class="org.eclipse.jdt.ui.tests.quickfix.MarkerResolutionGenerator">
-      </markerResolutionGenerator>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.jdt.core.ICompilationUnit"
-            id="org.eclipse.jdt.ui.examples.AddTestMarkersAction">
-         <action
-               label="%AddTestMarkersAction.label"
-               tooltip="%AddTestMarkersAction.tooltip"
-               class="org.eclipse.jdt.ui.examples.AddTestMarkersAction"
-               menubarPath="AddTestMarkers"
-               enablesFor="1"
-               id="addTestmarkers">
-         </action>
-      </objectContribution>
-   </extension>
- */
-
-public class AddTestMarkersAction extends Action implements IActionDelegate {
-
-	private ICompilationUnit fCompilationUnit;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		try {
-			EditorUtility.openInEditor(fCompilationUnit);
-			
-			IScanner scanner= ToolFactory.createScanner(true, false, false, true);
-			scanner.setSource(fCompilationUnit.getSource().toCharArray());
-			
-			int count= 0;
-			int tok;
-			do {
-				tok= scanner.getNextToken();
-				if (isComment(tok)) {
-					int start= scanner.getCurrentTokenStartPosition();
-					int end= scanner.getCurrentTokenEndPosition() + 1;
-					int line= scanner.getLineNumber(start);
-					createMarker(fCompilationUnit, line, start, end - start);
-					count++;
-				}
-			} while (tok != ITerminalSymbols.TokenNameEOF);
-			
-			MessageDialog.openInformation(null, "Test Markers", count + " markers added");
-		} catch (Exception e) {
-			JavaTestPlugin.log(e);
-		}
-		
-	}
-
-	public static boolean isComment(int token) {
-		return token == ITerminalSymbols.TokenNameCOMMENT_BLOCK || token == ITerminalSymbols.TokenNameCOMMENT_JAVADOC 
-			|| token == ITerminalSymbols.TokenNameCOMMENT_LINE;
-	}
-
-	/* (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) {
-		fCompilationUnit= null;
-		if (selection instanceof IStructuredSelection) {
-			Object object= ((IStructuredSelection) selection).getFirstElement();
-			if (object instanceof ICompilationUnit) {
-				fCompilationUnit= (ICompilationUnit) object;
-				
-			}
-		}
-	}
-	
-	
-	private void createMarker(ICompilationUnit cu, int line, int offset, int len) throws CoreException {
-		HashMap map= new HashMap();
-		map.put(IMarker.LOCATION, cu.getElementName());
-		map.put(IMarker.MESSAGE, "Test marker");
-		map.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
-		map.put(IMarker.LINE_NUMBER, new Integer(line));
-		map.put(IMarker.CHAR_START, new Integer(offset));
-		map.put(IMarker.CHAR_END, new Integer(offset + len));
-	
-		MarkerUtilities.createMarker(cu.getResource(), map, "org.eclipse.jdt.ui.tests.testmarker");
-	}	
-
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/CheckBoxExample.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/CheckBoxExample.java
deleted file mode 100644
index 24b5916..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/CheckBoxExample.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.ui.examples;
-
-
-import java.util.List;
-import java.util.Random;
-
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.CheckedListDialogField;
-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.IListAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField;
-
-
-public class CheckBoxExample {
-	private Shell fShell;
-	
-	public CheckBoxExample() {
-	}
-	
-	public CheckBoxExample close () {
-		if ((fShell != null) && (!fShell.isDisposed ())) fShell.dispose ();
-		fShell= null;
-		return this;
-	}
-	
-	public CheckBoxExample open () {
-		fShell= new Shell ();
-		fShell.setText("Message Dialog Example");
-		fShell.setLayout(new GridLayout());
-		
-		Adapter adapter= new Adapter();
-
-
-		
-		String[] addButtons= new String[] { 
-			/* 0 */ "Add1", 
-			/* 1 */ "Check 0", 
-			/* 2 */ "Print", 
-			/* 3 */ null, 
-			/* 4 */ "Check All", 
-			/* 5 */ "Uncheck All", 
-			/* 6 */ null, 
-			/* 7 */ "Remove"
-		};
-		CheckedListDialogField list= new CheckedListDialogField(adapter, addButtons, new LabelProvider());
-		list.setCheckAllButtonIndex(4);
-		list.setUncheckAllButtonIndex(5);
-		list.setRemoveButtonIndex(7);
-		list.setLabelText("List: ");
-				
-		LayoutUtil.doDefaultLayout(fShell, new DialogField[] { list }, false);
-		
-		fShell.setSize(400,500);
-		fShell.open ();
-		return this;
-	}
-	
-	private static Random fgRandom= new Random();
-	
-	private class Adapter implements IStringButtonAdapter, IDialogFieldListener, IListAdapter {
-		
-		// -------- IStringButtonAdapter
-		public void changeControlPressed(DialogField field) {
-		}		
-				
-		// -------- IListAdapter
-		public void customButtonPressed(ListDialogField field, int index) {
-			if (field instanceof CheckedListDialogField) {
-				CheckedListDialogField list= (CheckedListDialogField)field;
-				if (index == 0) {
-					list.addElement("element-" + (fgRandom.nextInt() % 1000));
-				} else if (index == 2) {
-					System.out.println("---- printing all");
-					List checked= list.getCheckedElements();
-					for (int i= 0; i < checked.size(); i++) {
-						System.out.println(checked.get(i).toString());
-					}
-				} else {
-					list.setChecked(list.getElement(0), true);
-				}	
-			}
-		}
-		
-		public void selectionChanged(ListDialogField field) {}
-		
-		// -------- IDialogFieldListener
-		public void dialogFieldChanged(DialogField field) {
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField)
-		 */
-		public void doubleClicked(ListDialogField field) {
-		}
-	}	
-	
-	public CheckBoxExample run () {
-		Display display= fShell.getDisplay ();
-		while (!fShell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		return this;
-	}
-	
-	public static void main(java.lang.String[] args) {
-		new CheckBoxExample().open().run().close();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/DialogFieldExample.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/DialogFieldExample.java
deleted file mode 100644
index 64d1e6b..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/DialogFieldExample.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.ui.examples;
-
-
-import java.util.Random;
-
-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.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-
-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.IListAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.SelectionButtonDialogFieldGroup;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.StringButtonDialogField;
-
-
-public class DialogFieldExample {
-	private Shell fShell;
-	
-	public DialogFieldExample() {
-	}
-	
-	public DialogFieldExample close () {
-		if ((fShell != null) && (!fShell.isDisposed ())) fShell.dispose ();
-		fShell= null;
-		return this;
-	}
-	
-	private class MylabelProvider extends LabelProvider implements ITableLabelProvider {
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-		 */
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-		 */
-		public String getColumnText(Object element, int columnIndex) {
-			if (columnIndex == 0) {
-				return element.toString();
-			} else {
-				return "" + columnIndex;
-			}
-		}
-	}
-	
-	
-	public DialogFieldExample open () {
-		fShell= new Shell ();
-		fShell.setText("Message Dialog Example");
-		fShell.setLayout(new GridLayout());
-		
-		Adapter adapter= new Adapter();
-		
-		StringButtonDialogField string1= new StringButtonDialogField(adapter);
-		string1.setLabelText("String1: ");
-		string1.setText("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-		
-		StringButtonDialogField stringbutton= new StringButtonDialogField(adapter);
-		stringbutton.setLabelText("StringButton: ");
-		stringbutton.setButtonLabel("Click");
-		stringbutton.setText("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-
-		
-		String[] addButtons= new String[] { 
-			/* 0 */ "Add1",
-			/* 1 */ "Add2",
-			/* 2 */ null,
-			/* 3 */ "Up",
-			/* 4 */ "Down",					
-			/* 5 */ null,
-			/* 6 */ "Remove"
-		};
-		String[] columnHeaders= new String[] { "Name", "Number" };
-		
-		
-		ListDialogField list= new ListDialogField(adapter, addButtons, new MylabelProvider());
-		list.setUpButtonIndex(3);
-		list.setDownButtonIndex(4);
-		list.setRemoveButtonIndex(6);
-		list.setLabelText("List: ");
-		
-		list.setTableColumns(new ListDialogField.ColumnsDescription(columnHeaders, true));
-		
-		for (int i= 0; i < 30; i++) {
-				list.addElement(i + "firstxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-		}
-		
-		SelectionButtonDialogField selButton= new SelectionButtonDialogField(SWT.PUSH);
-		selButton.setLabelText("Press Button");
-		
-		String[] radioButtons1= new String[] { "Option One", "Option Two", "Option Three" };
-		SelectionButtonDialogFieldGroup rdgroup1= new SelectionButtonDialogFieldGroup(SWT.RADIO, radioButtons1, 3, 0);
-		rdgroup1.setLabelText("Radio Button Group");
-		
-		String[] radioButtons2= new String[] { "Option One", "Option Two", "Option Three" };
-		SelectionButtonDialogFieldGroup rdgroup2= new SelectionButtonDialogFieldGroup(SWT.CHECK, radioButtons2, 3);
-		rdgroup2.setLabelText("Radio Button Group 2");		
-		
-		LayoutUtil.doDefaultLayout(fShell, new DialogField[] { string1, rdgroup2, stringbutton, selButton, list, rdgroup1 }, false);
-		
-		((GridData)string1.getTextControl(null).getLayoutData()).widthHint= 100;
-		((GridData)stringbutton.getTextControl(null).getLayoutData()).widthHint= 100;
-		
-		fShell.setSize(fShell.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-		fShell.open ();
-		return this;
-	}
-	
-	private static Random fgRandom= new Random();
-	
-	private class Adapter implements IStringButtonAdapter, IDialogFieldListener, IListAdapter {
-		
-		// -------- IStringButtonAdapter
-		public void changeControlPressed(DialogField field) {
-		}		
-				
-		// -------- IListAdapter
-		public void customButtonPressed(ListDialogField field, int index) {
-			if (field != null) {
-				field.addElement("elementxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-" + fgRandom.nextInt());
-			}
-		}
-		
-		public void selectionChanged(ListDialogField field) {}
-		
-		// -------- IDialogFieldListener
-		public void dialogFieldChanged(DialogField field) {
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField)
-		 */
-		public void doubleClicked(ListDialogField field) {
-		}
-	}	
-	
-	public DialogFieldExample run () {
-		Display display= fShell.getDisplay ();
-		while (!fShell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		return this;
-	}
-	
-	public static void main(java.lang.String[] args) {
-		new DialogFieldExample().open().run().close();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MultiElementListSelectorExample.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MultiElementListSelectorExample.java
deleted file mode 100644
index 765da7b..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MultiElementListSelectorExample.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.examples;
-
-
-import java.util.Random;
-
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-
-import org.eclipse.jdt.internal.ui.dialogs.MultiElementListSelectionDialog;
-import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
-
-
-public class MultiElementListSelectorExample {
-
-
-	public static void main(String[] args) {
-
-
-		ISelectionStatusValidator validator= new ISelectionStatusValidator() {
-			public IStatus validate(Object[] selection) {
-				if (selection != null && selection.length == 1) {
-					return new StatusInfo();
-				} else {
-					StatusInfo status= new StatusInfo();
-					status.setError("Single selection");
-					return status;
-				}
-				
-			}
-		};
-
-
-
-		Random random= new Random();
-		
-		ILabelProvider elementRenderer= new org.eclipse.jface.viewers.LabelProvider() {
-			public String getText(Object element) {
-				return element.toString();
-			}
-		};
-		
-		int nLists= 3;
-		
-		Object[][] elements= new Object[nLists][];
-		for (int i= 0; i < nLists; i++) {
-			int size= random.nextInt(15);
-			elements[i]= new String[size];
-			for (int k= 0; k < size; k++) {
-				elements[i][k]= "elem-" + i + "-" + k;
-			}
-		}
-		Display display= new Display();
-		MultiElementListSelectionDialog d= new MultiElementListSelectionDialog(new Shell(display), elementRenderer);
-		d.setTitle("Title");
-		d.setIgnoreCase(true);
-		d.setMessage("this is a message");
-		d.setValidator(validator);
-		d.setElements(elements);
-		
-		d.open();
-		
-		Object[] res= d.getResult();
-		for (int i= 0; i < res.length; i++)
-			System.out.println(res[i]);
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyProjectCreationWizard.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyProjectCreationWizard.java
deleted file mode 100644
index 0d0a718..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyProjectCreationWizard.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.examples;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage;
-
-/**
-<extension 
-	point="org.eclipse.ui.newWizards">
-  	<wizard
-		id="org.eclipse.jdt.ui.examples.MyProjectCreationWizard"
-		name="My project"
-		class="org.eclipse.jdt.ui.examples.MyProjectCreationWizard"
-		category="org.eclipse.jdt.ui.java"
-		project="true"
-		finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
-		icon="icons/full/ctool16/newjprj_wiz.gif">
-		<description>My project</description>
-    </wizard>	 
-</extension>
- */   
-
-/**
- * This example shows how to implement an own project wizard that uses the
- * JavaCapabilityConfigurationPage to allow the user to configure the Java build path.
- */
-public class MyProjectCreationWizard extends Wizard implements IExecutableExtension, INewWizard {
-
-	private WizardNewProjectCreationPage fMainPage;
-	private JavaCapabilityConfigurationPage fJavaPage;
-	
-	private IConfigurationElement fConfigElement;
-
-	private IWorkbench fWorkbench;
-	private IStructuredSelection fSelection;
-	
-	public MyProjectCreationWizard() {
-		setWindowTitle("New XY Project");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
-	 */
-	public void setInitializationData(IConfigurationElement cfig, String propertyName, Object data) {
-		//  The config element will be used in <code>finishPage</code> to set the result perspective.
-		fConfigElement= cfig;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		fWorkbench= workbench;
-		fSelection= selection; 
-	}
-
-	/* (non-Javadoc)
-	 * @see Wizard#addPages
-	 */	
-	public void addPages() {
-		super.addPages();
-		fMainPage= new WizardNewProjectCreationPage("NewProjectCreationWizard");
-		fMainPage.setTitle("New");
-		fMainPage.setDescription("Create a new XY project.");
-		
-		// the main page
-		addPage(fMainPage);
-		
-		// the Java build path configuration page
-		fJavaPage= new JavaCapabilityConfigurationPage() {
-			public void setVisible(boolean visible) {
-				// need to override to react to changes on first page
-				updatePage();
-				super.setVisible(visible);
-			}
-		};
-		addPage(fJavaPage);
-		
-		//	TODO: add your pages here
-	}
-	
-	private void updatePage() {
-		IJavaProject jproject= JavaCore.create(fMainPage.getProjectHandle());
-		if (!jproject.equals(fJavaPage.getJavaProject())) {
-			fJavaPage.init(jproject, null, null, false);	
-		}
-	}
-	
-	private void finishPage(IProgressMonitor monitor) throws InterruptedException, CoreException {
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}
-		try {		
-			monitor.beginTask("Creating XY project...", 3); // 3 steps
-
-			IProject project= fMainPage.getProjectHandle();
-			IPath locationPath= fMainPage.getLocationPath();
-		
-			// create the project
-			IProjectDescription desc= project.getWorkspace().newProjectDescription(project.getName());
-			if (!fMainPage.useDefaults()) {
-				desc.setLocation(locationPath);
-			}
-			project.create(desc, new SubProgressMonitor(monitor, 1));
-			project.open(new SubProgressMonitor(monitor, 1));
-			
-			updatePage();
-			fJavaPage.configureJavaProject(new SubProgressMonitor(monitor, 1));
-			// TODO: configure your page / nature
-	
-			// change to the perspective specified in the plugin.xml		
-			BasicNewProjectResourceWizard.updatePerspective(fConfigElement);
-			BasicNewResourceWizard.selectAndReveal(project, fWorkbench.getActiveWorkbenchWindow());
-			
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see Wizard#performFinish
-	 */		
-	public boolean performFinish() {
-		WorkspaceModifyOperation op= new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-				finishPage(monitor);
-			}
-		};
-		try {
-			getContainer().run(false, true, op);
-		} catch (InvocationTargetException e) {
-			return false; // TODO: should open error dialog and log
-		} catch  (InterruptedException e) {
-			return false; // canceled
-		}
-		return true;
-	}
-			
-
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyQuickAssistProcessor.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyQuickAssistProcessor.java
deleted file mode 100644
index ca7a26c..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyQuickAssistProcessor.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.examples;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.compiler.IProblem;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.IMethodBinding;
-import org.eclipse.jdt.core.dom.MethodInvocation;
-import org.eclipse.jdt.core.dom.SimpleName;
-
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.ui.text.java.IProblemLocation;
-import org.eclipse.jdt.ui.text.java.IQuickAssistProcessor;
-
-import org.eclipse.jdt.internal.corext.dom.ASTNodes;
-import org.eclipse.jdt.internal.corext.dom.Bindings;
-import org.eclipse.jdt.internal.corext.dom.NodeFinder;
-import org.eclipse.jdt.internal.corext.dom.OldASTRewrite;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.text.correction.ASTRewriteCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.ReplaceCorrectionProposal;
-
-/**
- *
- */
-public class MyQuickAssistProcessor implements IQuickAssistProcessor {
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.text.correction.ICorrectionProcessor#hasCorrections(org.eclipse.jdt.core.ICompilationUnit, int)
-	 */
-	public boolean hasCorrections(ICompilationUnit unit, int problemId) {
-		return (problemId == IProblem.NumericValueOutOfRange);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.text.correction.ICorrectionProcessor#getCorrections(org.eclipse.jdt.internal.ui.text.correction.IAssistContext, org.eclipse.jdt.internal.ui.text.correction.IProblemLocation[])
-	 */
-	public IJavaCompletionProposal[] getCorrections(IInvocationContext context, IProblemLocation[] locations) {
-		for (int i= 0; i < locations.length; i++) {
-			if (locations[i].getProblemId() == IProblem.NumericValueOutOfRange) {
-				return getNumericValueOutOfRangeCorrection(context, locations[i]);
-			}
-		}
-		return null;
-	}
-
-	private IJavaCompletionProposal[] getNumericValueOutOfRangeCorrection(IInvocationContext context, IProblemLocation location) {
-		ICompilationUnit cu= context.getCompilationUnit();
-		
-		ReplaceCorrectionProposal proposal= new ReplaceCorrectionProposal("Change to 0", cu, location.getOffset(), location.getLength(), "0", 5);
-		return new IJavaCompletionProposal[] { proposal };
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IQuickAssistProcessor#hasAssists(org.eclipse.jdt.ui.text.java.IInvocationContext)
-	 */
-	public boolean hasAssists(IInvocationContext context) {
-		return getConvertProposal(context, null);
-	}
-	
-	private boolean getConvertProposal(IInvocationContext context, Collection resultingCollections) {
-		ASTNode node= getCoveringNode(context);	
-		if (!(node instanceof SimpleName && node.getParent() instanceof MethodInvocation)) {
-			return false;
-			
-		}
-		MethodInvocation inv= (MethodInvocation) node.getParent();
-		IMethodBinding binding= inv.resolveMethodBinding();
-		if (binding == null || Bindings.findTypeInHierarchy(binding.getDeclaringClass(), "org.eclipse.jdt.core.dom.ASTNode") == null) {
-			return false;
-		}
-		if (resultingCollections == null) {
-			return true;
-		}
-
-		String constName= toConstantName(getPropertyName(binding.getName()));
-			
-		String str= ASTNodes.asString(inv.getExpression()) + ", ASTNodeConstants." + constName;
-		if ("List".equals(binding.getReturnType().getName())) {
-			str= "getChildList(" + str + ")";
-		} else if ("int".equals(binding.getReturnType().getName())) {
-			str= "getIntAttribute(" + str + ")";
-		} else if ("boolean".equals(binding.getReturnType().getName())) {
-			str= "getBooleanAttribute(" + str + ")";
-		} else {
-			str= "getChildNode(" + str + ")";
-		}
-		
-		OldASTRewrite rewrite= new OldASTRewrite(inv.getParent());
-		rewrite.replace(inv, rewrite.createStringPlaceholder(str, ASTNode.METHOD_INVOCATION), null);
-		
-		String label= "Use AST Constants";
-		Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);
-		ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, context.getCompilationUnit(), rewrite, 10, image);
-		resultingCollections.add(proposal);
-		
-		
-		return false;
-	}
-	
-	
-	private static String getPropertyName(String name) {
-		if (name.startsWith("get")) {
-			return name.substring(3);
-		} else if (name.startsWith("is")) {
-			return name;
-		}
-		return name;
-	}
-	
-	private static String toConstantName(String string) {
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < string.length(); i++) {
-			char ch= string.charAt(i);
-			if (i != 0 && Character.isUpperCase(ch)) {
-				buf.append('_');
-			}
-			buf.append(Character.toUpperCase(ch));
-		}
-		return buf.toString();
-	}
-	
-		
-	
-	
-	private ASTNode getCoveringNode(IInvocationContext context) {
-		NodeFinder finder= new NodeFinder(context.getSelectionOffset(), context.getSelectionLength());
-		context.getASTRoot().accept(finder);
-		return finder.getCoveringNode();	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IQuickAssistProcessor#getAssists(org.eclipse.jdt.ui.text.java.IInvocationContext, org.eclipse.jdt.ui.text.java.IProblemLocation[])
-	 */
-	public IJavaCompletionProposal[] getAssists(IInvocationContext context, IProblemLocation[] locations) {
-		ArrayList resultingCollections= new ArrayList();
-		getConvertProposal(context, resultingCollections);
-		return (IJavaCompletionProposal[]) resultingCollections.toArray(new IJavaCompletionProposal[resultingCollections.size()]);
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyQuickFixProcessor.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyQuickFixProcessor.java
deleted file mode 100644
index b43d920..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/MyQuickFixProcessor.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.ui.examples;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.compiler.IProblem;
-
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.ui.text.java.IProblemLocation;
-import org.eclipse.jdt.ui.text.java.IQuickFixProcessor;
-
-import org.eclipse.jdt.internal.ui.text.correction.ReplaceCorrectionProposal;
-
-/**
- *
- */
-public class MyQuickFixProcessor implements IQuickFixProcessor {
-/* Active on files with the name A.java
-
-<extension
-      point="org.eclipse.jdt.ui.quickFixProcessors">
-   <quickFixProcessor
-         id= "org.eclipse.jdt.ui.examples.MyQuickFixProcessor"
-         class="org.eclipse.jdt.ui.examples.MyQuickFixProcessor"
-         name="Example Quick Fix Processor">
-         <objectState adaptable="org.eclipse.core.resources.IResource">
-           <property name="name" value="A.java"/>
-        </objectState>
-   </quickFixProcessor>
-</extension> 
-
-*/
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.text.correction.ICorrectionProcessor#hasCorrections(org.eclipse.jdt.core.ICompilationUnit, int)
-	 */
-	public boolean hasCorrections(ICompilationUnit unit, int problemId) {
-		return (problemId == IProblem.NumericValueOutOfRange);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.text.correction.ICorrectionProcessor#getCorrections(org.eclipse.jdt.internal.ui.text.correction.IAssistContext, org.eclipse.jdt.internal.ui.text.correction.IProblemLocation[])
-	 */
-	public IJavaCompletionProposal[] getCorrections(IInvocationContext context, IProblemLocation[] locations) throws CoreException {
-		for (int i= 0; i < locations.length; i++) {
-			if (locations[i].getProblemId() == IProblem.NumericValueOutOfRange) {
-				return getNumericValueOutOfRangeCorrection(context, locations[i]);
-			}
-		}
-		return null;
-	}
-
-	private IJavaCompletionProposal[] getNumericValueOutOfRangeCorrection(IInvocationContext context, IProblemLocation location) {
-		ICompilationUnit cu= context.getCompilationUnit();
-		
-		ReplaceCorrectionProposal proposal= new ReplaceCorrectionProposal("Change to 0", cu, location.getOffset(), location.getLength(), "0", 5);
-		return new IJavaCompletionProposal[] { proposal };
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TabExample.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TabExample.java
deleted file mode 100644
index b3befe3..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TabExample.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.ui.examples;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-import org.eclipse.jface.viewers.LabelProvider;
-
-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.IListAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField;
-
-
-public class TabExample {
-	private Shell fShell;
-	
-	public TabExample() {
-	}
-	
-	public TabExample close () {
-		if ((fShell != null) && (!fShell.isDisposed ())) fShell.dispose ();
-		fShell= null;
-		return this;
-	}
-	
-	public TabExample open () {
-		fShell= new Shell ();
-		fShell.setText("TabTest");
-		fShell.setLayout(new GridLayout());
-		
-		TabFolder folder= new TabFolder(fShell, SWT.NONE);	
-		folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-		//folder.setLayout(new PageContainerFillLayout(0, 0, 20, 20));
-		//folder.setLayout(new FillLayout());
-	
-		/*folder.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				turnToPage(event);
-			}
-		});*/	
-				
-		TabItem item;
-		Label label;
-		
-		item= new TabItem(folder, SWT.NONE);
-		item.setText("Tab0");
-		
-		String[] addButtons= new String[] { 
-			/* 0 */ "Add1",
-			/* 1 */ "Add2",			
-			/* 2 */ null,
-			/* 3 */ "Remove"
-		};
-		ListDialogField list= new ListDialogField(new Adapter(), addButtons, new LabelProvider());
-		list.setRemoveButtonIndex(3);
-		list.setLabelText("List: ");
-
-
-		Composite c1= new Composite(folder, SWT.NONE);
-		LayoutUtil.doDefaultLayout(c1, new DialogField[] { list }, true);
-		
-		item.setControl(c1);
-		
-		item= new TabItem(folder, SWT.NONE);
-		item.setText("Tab1");
-		label= new Label(folder, SWT.LEFT);
-		label.setText("Tab1");
-		item.setControl(label);
-		
-		item= new TabItem(folder, SWT.NONE);
-		item.setText("Tab2");
-		label= new Label(folder, SWT.LEFT);
-		label.setText("Tab2");
-		item.setControl(label);
-		
-		item= new TabItem(folder, SWT.NONE);
-		item.setText("Tab3");
-		label= new Label(folder, SWT.LEFT);
-		label.setText("Tab3");
-		item.setControl(label);
-				
-		fShell.setSize(400,500);
-		fShell.open ();
-		return this;
-	}
-
-
-	private class Adapter implements IStringButtonAdapter, IDialogFieldListener, IListAdapter {
-		
-		// -------- IStringButtonAdapter
-		public void changeControlPressed(DialogField field) {
-		}		
-				
-		// -------- IListAdapter
-		public void customButtonPressed(ListDialogField field, int index) {
-		}
-		
-		public void selectionChanged(ListDialogField field) {
-		}
-		
-		// -------- IDialogFieldListener
-		public void dialogFieldChanged(DialogField field) {
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IListAdapter#doubleClicked(org.eclipse.jdt.internal.ui.wizards.dialogfields.ListDialogField)
-		 */
-		public void doubleClicked(ListDialogField field) {
-		}
-	}
-	
-	public TabExample run () {
-		Display display= fShell.getDisplay ();
-		while (!fShell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		return this;
-	}
-	
-	public static void main(java.lang.String[] args) {
-		new TabExample().open().run().close();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TreeListDialogFieldExample.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TreeListDialogFieldExample.java
deleted file mode 100644
index 4756cdd..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TreeListDialogFieldExample.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.ui.examples;
-
-
-import java.util.Random;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.ITreeListAdapter;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.jdt.internal.ui.wizards.dialogfields.TreeListDialogField;
-
-
-public class TreeListDialogFieldExample {
-	private Shell fShell;
-	
-	public TreeListDialogFieldExample() {
-	}
-	
-	public TreeListDialogFieldExample close () {
-		if ((fShell != null) && (!fShell.isDisposed ())) fShell.dispose ();
-		fShell= null;
-		return this;
-	}
-	
-	
-		
-	public TreeListDialogFieldExample open () {
-		fShell= new Shell ();
-		fShell.setText("Message Dialog Example");
-		fShell.setLayout(new GridLayout());
-		
-		Adapter adapter= new Adapter();
-		
-		
-		String[] addButtons= new String[] { 
-			/* 0 */ "Add1",
-			/* 1 */ "Add2",
-			/* 2 */ null,
-			/* 3 */ "Up",
-			/* 4 */ "Down",					
-			/* 5 */ null,
-			/* 6 */ "Remove"
-		};
-		
-		TreeListDialogField list= new TreeListDialogField(adapter, addButtons, new LabelProvider());
-		list.setUpButtonIndex(3);
-		list.setDownButtonIndex(4);
-		list.setRemoveButtonIndex(6);
-		list.setLabelText("List: ");
-		
-	
-		for (int i= 0; i < 30; i++) {
-				list.addElement(i + "firstxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-		}
-		
-		
-		LayoutUtil.doDefaultLayout(fShell, new DialogField[] { list }, false);
-		
-		fShell.setSize(fShell.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-		fShell.open ();
-		return this;
-	}
-	
-	private static Random fgRandom= new Random();
-	
-	private class Adapter implements ITreeListAdapter {
-		
-		// -------- IStringButtonAdapter
-		public void changeControlPressed(DialogField field) {
-		}		
-				
-		// -------- ITreeListAdapter
-		public void customButtonPressed(TreeListDialogField field, int index) {
-			field.addElement("elementxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-" + fgRandom.nextInt());
-		}
-		
-		public void selectionChanged(TreeListDialogField field) {}
-		
-		public Object[] getChildren(TreeListDialogField field, Object element) {
-			if (field.getElements().contains(element)) {
-				return new String[] {
-					"Source Attachment: c:/hello/z.zip",
-					"Javadoc Location: http://www.oo.com/doc"
-				};
-			}
-			return new String[0];
-		}
-
-		public Object getParent(TreeListDialogField field, Object element) {
-			return null;
-		}
-
-		public boolean hasChildren(TreeListDialogField field, Object element) {
-			return field.getElements().contains(element);
-		}		
-		
-		// -------- IDialogFieldListener
-		public void dialogFieldChanged(DialogField field) {
-		}
-
-		public void doubleClicked(TreeListDialogField field) {
-		}
-
-		public void keyPressed(TreeListDialogField field, KeyEvent event) {
-		}
-
-	}	
-	
-	public TreeListDialogFieldExample run () {
-		Display display= fShell.getDisplay ();
-		while (!fShell.isDisposed ()) {
-			if (!display.readAndDispatch ()) display.sleep ();
-		}
-		return this;
-	}
-	
-	public static void main(java.lang.String[] args) {
-		new TreeListDialogFieldExample().open().run().close();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TwoPaneElementSelectorExample.java b/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TwoPaneElementSelectorExample.java
deleted file mode 100644
index 1513de9..0000000
--- a/org.eclipse.jdt.ui.tests/examples/org/eclipse/jdt/ui/examples/TwoPaneElementSelectorExample.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.ui.examples;
-
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-
-import org.eclipse.ui.dialogs.TwoPaneElementSelector;
-
-
-
-
-public class TwoPaneElementSelectorExample {
-
-
-	public static void main(String[] args) {
-		java.util.Random random= new java.util.Random();
-		Object[] elements= new Object[8000];
-		for (int i= 0; i < elements.length; i++)
-			elements[i]= new Integer(random.nextInt()).toString();
-		ILabelProvider elementRenderer= new org.eclipse.jface.viewers.LabelProvider() {
-			public String getText(Object element) {
-				return element.toString();
-			}
-		};
-		ILabelProvider qualfierRenderer= new org.eclipse.jface.viewers.LabelProvider() {
-			public String getText(Object element) {
-				return element.toString();
-			}
-		};
-		Display display= new Display();
-		TwoPaneElementSelector d= new TwoPaneElementSelector(new Shell(display), elementRenderer, qualfierRenderer);
-		d.setTitle("Title");
-		d.setMessage("this is a message");
-		d.setElements(elements);
-		
-		d.open();
-		
-		Object res= d.getResult();
-		System.out.println("res= "+res);
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/leaks/LeakTestExample.launch b/org.eclipse.jdt.ui.tests/leaks/LeakTestExample.launch
deleted file mode 100644
index b8fa239..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/LeakTestExample.launch
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.jdt.ui.tests.leaks.JavaLeakTest"/>
-<stringAttribute key="vminstall" value="Sun Jdk 1.4.2_03"/>
-<booleanAttribute key="tracing" value="true"/>
-<stringAttribute key="vmargs" value="-XrunProfileNatives -Xmx256M"/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="onePluginID" value=""/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<stringAttribute key="progargs" value="-os win32 -ws win32 -arch x86 -nl de_CH"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.jdt.ui.tests"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="onePlugin" value="false"/>
-<mapAttribute key="org.eclipse.debug.core.environmentVariables">
-<mapEntry key="PATH" value="%PATH%;c:\eclipse\workspaces\Development_2_2\plugins\org.eclipse.jdt.ui.tests\leaks"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.debug.ui.javaSourceLocator"/>
-<stringAttribute key="location0" value="C:\workspaces\junit-workbench-workspace"/>
-</launchConfiguration>
diff --git a/org.eclipse.jdt.ui.tests/leaks/ProfileNatives.dll b/org.eclipse.jdt.ui.tests/leaks/ProfileNatives.dll
deleted file mode 100644
index d333185..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/ProfileNatives.dll
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/LeakTestCase.java b/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/LeakTestCase.java
deleted file mode 100644
index ff9ae85..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/LeakTestCase.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.ui.leaktest;
-
-import junit.framework.TestCase;
-
-
-
-/**
- * Base class for leak test cases. To use the offered functionality, the test case has to run
- * in a LeakTestSetup that establishes the profile connection.
- */
-public class LeakTestCase extends TestCase {
-	
-	public LeakTestCase(String name) {
-		super(name);
-	}
-
-	
-	/**
-	 * Assert that two counts are different. The method does not fail if the profile connection
-	 * has not established (e.g. because profiling is not supported on the given platform)
-	 * @param startCount
-	 * @param endCount
-	 */
-	protected void assertDifferentCount(int startCount, int endCount) {
-		assertDifferentCount(null, startCount, endCount);
-	}
-	
-	/**
-	 * Assert that two counts are different. The method does not fail if the profile connection
-	 * has not established (e.g. because profiling is not supported on the given platform)
-	 * @param message Message to be printed if the test fails.
-	 * @param startCount
-	 * @param endCount
-	 */
-	protected void assertDifferentCount(String message, int startCount, int endCount) {
-		ProfilerConnector connection= LeakTestSetup.getProfilerConnector();
-		if (connection != null && (startCount == endCount)) {
-			String str= message != null ? message + ": " : "";
-			assertTrue(str + "instance count is not different: (" + startCount + " / " + endCount + " )", false);
-		}
-	}
-	
-	/**
-	 * Assert that two counts are equal. The method does not fail if the profile connection
-	 * has not established (e.g. because profiling is not supported on the given platform)
-	 * @param startCount
-	 * @param endCount
-	 */
-	protected void assertEqualCount(int startCount, int endCount) {
-		assertEqualCount(null, startCount, endCount);
-	}
-	
-	/**
-	 * Assert that two counts are equal. The method does not fail if the profile connection
-	 * has not established (e.g. because profiling is not supported on the given platform)
-	 * @param message Message to be printed if the test fails.
-	 * @param startCount
-	 * @param endCount
-	 */
-	protected void assertEqualCount(String message, int startCount, int endCount) {
-		ProfilerConnector connection= LeakTestSetup.getProfilerConnector();
-		if (connection != null && (startCount != endCount)) {
-			// only compare if connection could be established
-			String str= message != null ? message + ": " : "";
-			assertTrue(str + "instance count is not the same: (" + startCount + " / " + endCount + " )", false);
-		}
-	}
-	
-	/**
-	 * Returns the number of instances of a given class that are live (not garbage).
-	 * @param cl The class of the instances to count
-	 * @return Returns the current number of instances of the given class or <code>-1</code> if
-	 * no connection is established.
-	 * @throws ProfileException ProfileException is thrown if the request failed unexpectedly.
-	 */
-	protected int getInstanceCount(Class cl) throws ProfileException {
-		ProfilerConnector connection= LeakTestSetup.getProfilerConnector();
-		if (connection != null) {
-			return connection.getInstanceCount(cl);
-		}
-		return -1;
-	}
-	
-	/**
-	 * Returns the number of instances of a given class that are live (not garbage).
-	 * @param cl The class of the instances to count
-	 * @return Returns the current number of instances of the given class or <code>-1</code> if
-	 * no connection is established.
-	 * @throws ProfileException ProfileException is thrown if the request failed unexpectedly.
-	 */
-	protected int getInstanceCount(Class cl, Class[] excludedClasses) throws ProfileException {
-		ProfilerConnector connection= LeakTestSetup.getProfilerConnector();
-		if (connection != null) {
-			return connection.getInstanceCount(cl, excludedClasses);
-		}
-		return -1;
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/LeakTestSetup.java b/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/LeakTestSetup.java
deleted file mode 100644
index e193c3e..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/LeakTestSetup.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.ui.leaktest;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-
-
-/**
- *
- */
-public class LeakTestSetup extends TestSetup {
-	
-	private static LeakTestSetup fgCurrentSetup= null;
-	private ProfilerConnector fConnection;
-	
-	/**
-	 * @return Returns the profiler Connection or <code>null</code> if no profiler connection
-	 * could be established (e.g. because not supported on the platform)
-	 */
-	public static ProfilerConnector getProfilerConnector() {
-		return fgCurrentSetup.getConnection();
-	}
-		
-		
-	public LeakTestSetup(Test test) {
-		super(test);
-		if (fgCurrentSetup == null) {
-			fgCurrentSetup= this;
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		if (fgCurrentSetup != this) {
-			return;
-		}
-		try {
-			fConnection= new ProfilerConnector();
-		} catch (ProfileException e) {
-			fConnection= null;
-		}
-	}
-
-	protected void tearDown() throws Exception {
-		if (fgCurrentSetup != this) {
-			return;
-		}
-		fConnection.close();
-	}
-
-	/**
-	 * @return Returns the connection.
-	 */
-	public ProfilerConnector getConnection() {
-		return fConnection;
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfileException.java b/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfileException.java
deleted file mode 100644
index 386bf4f..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfileException.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.jdt.ui.leaktest;
-
-
-
-public class ProfileException extends Exception {
-
-	public ProfileException(String msg, Throwable e) {
-		super(msg, e);
-	}
-
-	public ProfileException(Throwable e) {
-		super(e);
-	}
-
-	public ProfileException(String msg) {
-		super(msg);
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfileNatives.java b/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfileNatives.java
deleted file mode 100644
index d034428..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfileNatives.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.leaktest;
-
-import java.util.Vector;
-
-
-public class ProfileNatives {
-	private static boolean fgIsNativeLoaded= false;
-	static {
-		try {
-			System.loadLibrary("ProfileNatives");
-			fgIsNativeLoaded= isInitialized0();
-		} catch (UnsatisfiedLinkError e) {
-			e.printStackTrace();
-		}
-	}
-	
-	private static native int getInstanceCount0(Class clazz, Class[] excludedClasses);
-	private static native boolean isInitialized0();
-
-	public static boolean isInitialized() {
-		return fgIsNativeLoaded;
-	}
-	
-	public static int getInstanceCount(Class clazz, Class[] excludedClasses) throws ProfileException {
-		int instanceCount= getInstanceCount0(clazz, excludedClasses);
-		if (instanceCount < 0)
-			throw new ProfileException("Could not get instance count");
-		return instanceCount;
-	}
-	
-	public static int getInstanceCount(Class clazz) throws ProfileException {
-		return getInstanceCount(clazz, new Class[0]);
-	}
-	
-	public static void main(String[] args) {
-		Vector v= new Vector();
-		try {
-			System.out.println("count1= "+getInstanceCount(Vector.class));
-			MyThread t= new MyThread();
-			t.setObject(new Vector());
-			System.out.println("count2= "+getInstanceCount(Vector.class));
-			t.getObject();
-			t.doStop();
-			
-			System.out.println("count3= "+getInstanceCount(Vector.class));
-			Object o= new TestClass(new Vector()).createInner();
-			System.out.println("count4= "+getInstanceCount(Vector.class));
-			o= null;
-			System.out.println("count5= "+getInstanceCount(Vector.class));
-			
-			System.out.println("count6= "+getInstanceCount(Vector.class));
-			o= new TestClass(new Vector()).createAnon();
-			System.out.println("count7= "+getInstanceCount(Vector.class));
-			o= null;
-			System.out.println("count8= "+getInstanceCount(Vector.class));
-			} catch (ProfileException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-	
-	static class TestClass {
-		int fFoo;
-		Object fBar;
-		
-		TestClass(Object bar) {
-			fBar= bar;
-		}
-		
-		/**
-		 * @return
-		 */
-		public Object createAnon() {
-			return new Runnable() {
-
-				public void run() {
-					// TODO Auto-generated method stub
-					
-				}
-				
-			};
-		}
-
-		Object createInner() {
-			return new Inner();
-		}
-		
-		public class Inner {
-			
-		}
-	}
-	
-	static class MyThread extends Thread {
-		ThreadLocal fLocal;
-		boolean fStop= false;
-		MyThread() {
-			fLocal= new ThreadLocal();
-			this.start();
-		}
-		
-		public void setObject(Object foo) {
-			fLocal.set(foo);
-		}
-		
-		public Object getObject() {
-			return fLocal.get();
-		}
-		
-		/* (non-Javadoc)
-		 * @see java.lang.Thread#run()
-		 */
-		public void run() {
-			while (!fStop) {
-				System.out.println("sleeping");
-				try {
-					Thread.sleep(1000);
-				} catch (InterruptedException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}
-			}
-			System.out.println("thread stopping");
-		}
-		
-		public void doStop() {
-			fStop= true;
-		}
-	}
-}
-	
diff --git a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfilerConnector.java b/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfilerConnector.java
deleted file mode 100644
index 48e77c1..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/ProfilerConnector.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.ui.leaktest;
-
-import java.util.Vector;
-
-/**
- *
- */
-public class ProfilerConnector {
-
-	public ProfilerConnector() throws ProfileException {
-		if (!ProfileNatives.isInitialized()) {
-			throw new ProfileException("Not connected to a profiler");
-		}
-	}
-	
-	public int getInstanceCount(Class cl) throws ProfileException {
-		return ProfileNatives.getInstanceCount(cl);
-	}
-
-	public int getInstanceCount(Class cl, Class[] excludedClasses) throws ProfileException {
-		return ProfileNatives.getInstanceCount(cl, excludedClasses);
-	}
-	
-	public void close() {
-	}
-	
-	
-	private static Vector fgReference;
-	
-	public static void main(String[] str) {
-		try {
-			ProfilerConnector pc= new ProfilerConnector(); //$NON-NLS-1$
-			System.out.println("Connection installed.\n"); //$NON-NLS-1$
-			System.out.println("instance count Vector: " + pc.getInstanceCount(Vector.class));
-			fgReference= new Vector();
-			fgReference.add(fgReference);
-			
-			System.out.println("instance count Vector: " + pc.getInstanceCount(Vector.class));
-			fgReference= null;
-			System.out.println("instance count Vector: " + pc.getInstanceCount(Vector.class));
-			
-			pc.close();
-		} catch (ProfileException e) {
-			e.printStackTrace();
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/example/LeakTestExample.java b/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/example/LeakTestExample.java
deleted file mode 100644
index 390f794..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/leaktest/example/LeakTestExample.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.leaktest.example;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.ui.leaktest.LeakTestCase;
-import org.eclipse.jdt.ui.leaktest.LeakTestSetup;
-
-
-public class LeakTestExample extends LeakTestCase {
-
-	private static final Class THIS= LeakTestExample.class;
-	
-	private static class MyClass {
-		char[] text= new char[1000];
-	}
-	
-
-	public static Test suite() {
-		return new LeakTestSetup(new TestSuite(THIS));
-	}
-	
-	private Object fGlobalReference;
-	
-
-	public LeakTestExample(String name) {
-		super(name);
-	}
-			
-	public void testLeakGlobalReference() throws Exception {
-		Class cl= MyClass.class;
-
-		// get the count before creating the instance
-		int count1= getInstanceCount(cl);
-		
-		// create the instance
-		fGlobalReference= new MyClass();
-
-		// get the count after creating the instance
-		int count2= getInstanceCount(cl);
-		assertDifferentCount("after creation: ", count1, count2);
-		
-		// clear all references to the instance
-		fGlobalReference= null;
-		
-		// get the count after clearing the reference of the instance
-		int count3= getInstanceCount(cl);
-		assertEqualCount("after clear: ", count1, count3);
-	}
-	
-	public void testNoLeakGlobalReference() throws Exception {
-		Class cl= MyClass.class;
-
-		// get the count before creating my instance
-		int count1= getInstanceCount(cl);
-		
-		// create the instance
-		fGlobalReference= new MyClass();
-
-		// get the count after creating the instance
-		int count2= getInstanceCount(cl);
-		assertDifferentCount("after creation: ", count1, count2);
-		
-		// add the instance to a list
-		ArrayList list= new ArrayList();
-		list.add(fGlobalReference);
-		
-		// clear the global references of the instance
-		fGlobalReference= null;
-		
-		// get the count after clearing the global reference of the instance
-		// instance should still be here, it is referenced in the list
-		int count3= getInstanceCount(cl);
-		assertEqualCount("after clear: ", count2, count3);
-	}
-	
-	public void testLeakLocalReference() throws Exception {
-		Class cl= MyClass.class;
-
-		int count1= getInstanceCount(cl);
-		
-		MyClass reference= new MyClass();
-		
-		int count2= getInstanceCount(cl);
-		assertDifferentCount("after creation: ", count1, count2);
-		
-		reference.toString();
-		reference= null;
-		
-		int count3= getInstanceCount(cl);
-		assertEqualCount("after clear: ", count1, count3);
-	}
-	
-	public void testNoLeakLocalReference() throws Exception {
-		Class cl= MyClass.class;
-
-		int count1= getInstanceCount(cl);
-		
-		MyClass reference= new MyClass();
-
-		int count2= getInstanceCount(cl);
-		assertDifferentCount("after creation: ", count1, count2);
-		
-		ArrayList list= new ArrayList();
-		list.add(reference);
-		
-		reference= null;
-		
-		int count3= getInstanceCount(cl);
-		assertEqualCount("after clear: ", count2, count3);
-	}
-	
-
-}
diff --git a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/tests/leaks/JavaLeakTest.java b/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/tests/leaks/JavaLeakTest.java
deleted file mode 100644
index 4dd1f22..0000000
--- a/org.eclipse.jdt.ui.tests/leaks/org/eclipse/jdt/ui/tests/leaks/JavaLeakTest.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.ui.tests.leaks;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.INewWizard;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-import org.eclipse.jdt.ui.leaktest.LeakTestCase;
-import org.eclipse.jdt.ui.leaktest.LeakTestSetup;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jdt.internal.ui.text.JavaReconciler;
-import org.eclipse.jdt.internal.ui.wizards.JavaProjectWizard;
-import org.eclipse.jdt.internal.ui.wizards.NewClassCreationWizard;
-import org.eclipse.jdt.internal.ui.wizards.NewInterfaceCreationWizard;
-
-public class JavaLeakTest extends LeakTestCase {
-	
-	private IJavaProject fJProject1;
-
-	private static final Class THIS= JavaLeakTest.class;
-	
-	public JavaLeakTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		if (true) {
-			return new LeakTestSetup(new TestSuite(THIS));
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new JavaLeakTest("testLeak"));
-			return new LeakTestSetup(suite);
-		}	
-	}
-
-
-	protected void setUp() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		assertTrue("rt not found", JavaProjectHelper.addRTJar(fJProject1) != null);
-	}
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.delete(fJProject1);
-	}
-
-	private ICompilationUnit createTestCU(String typeName) throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack0", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("public class "+typeName+" {\n}\n");
-		return pack2.createCompilationUnit(typeName+".java", buf.toString(), false, null);
-	}
-	
-
-	public void testJavaEditorClose() throws Exception {
-		final Class cl= CompilationUnitEditor.class;
-		
-		// known reference via a ThreadLocal ref to JavaReconciler.BackgroundThread
-		final Class[] excludedClasses= new Class[] { JavaReconciler.class };
-
-		// count before opening the editor
-		final int count1= getInstanceCount(cl, excludedClasses);
-		
-		// open an editor on a CU
-		ICompilationUnit unit= createTestCU("List1");
-		IEditorPart part= EditorUtility.openInEditor(unit);
-		// make sure the received instance has the type we're expecting
-		assertEquals(part.getClass(), cl);
-
-		int count2= getInstanceCount(cl, excludedClasses);
-		assertDifferentCount("JavaEditor", count1, count2);
-		
-		// close the editor
-		boolean res= JavaPlugin.getActivePage().closeEditor(part, false);
-		part= null;
-		assertTrue("Could not close editor", res);
-		
-		final boolean[] runnableFinished= new boolean[] { false };
-		
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				runnableFinished[0]= true;
-			}
-		});
-		// closing editors is posted via the event queue.
-		while (!runnableFinished[0])
-			Display.getDefault().readAndDispatch();
-		int count3 = getInstanceCount(cl, excludedClasses);
-		assertEqualCount("JavaEditor", count1, count3);
-	}
-
-	public void testJavaEditorCloseAll() throws Exception {
-		final Class cl= CompilationUnitEditor.class;
-		
-		// known reference via a ThreadLocal ref to JavaReconciler.BackgroundThread
-		final Class[] excludedClasses= new Class[] { JavaReconciler.class };
-
-		// count before opening the editor
-		final int count1= getInstanceCount(cl, excludedClasses);
-		
-		// open an editor on a CU
-		ICompilationUnit unit= createTestCU("List2");
-		IEditorPart part= EditorUtility.openInEditor(unit);
-		// make sure the received instance has the type we're expecting
-		assertEquals(part.getClass(), cl);
-
-		int count2= getInstanceCount(cl, excludedClasses);
-		assertDifferentCount("JavaEditor", count1, count2);
-		
-		// close the editor
-		boolean res= JavaPlugin.getActivePage().closeAllEditors(false);
-		part= null;
-		assertTrue("Could not close editor", res);
-		
-		final boolean[] runnableFinished= new boolean[] { false };
-		
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				runnableFinished[0]= true;
-			}
-		});
-		// closing editors is posted via the event queue.
-		while (!runnableFinished[0])
-			Display.getDefault().readAndDispatch();
-		int count3 = getInstanceCount(cl, excludedClasses);
-		assertEqualCount("JavaEditor", count1, count3);
-	}
-	
-	public void testNewClassWizard() throws Exception {
-		int count1= getInstanceCount(NewClassCreationWizard.class);
-		doWizardLeakTest(new NewClassCreationWizard());
-		int count2= getInstanceCount(NewClassCreationWizard.class);
-		assertEqualCount("NewClassCreationWizard", count1, count2);
-	}
-	
-	public void testNewInterfaceWizard() throws Exception {
-		int count1= getInstanceCount(NewInterfaceCreationWizard.class);
-		doWizardLeakTest(new NewInterfaceCreationWizard());
-		int count2= getInstanceCount(NewInterfaceCreationWizard.class);
-		assertEqualCount("NewInterfaceCreationWizard", count1, count2);
-	}
-	
-	public void testNewJavaProjectWizard() throws Exception {
-		int count1= getInstanceCount(JavaProjectWizard.class);
-		doWizardLeakTest(new JavaProjectWizard());
-		int count2= getInstanceCount(JavaProjectWizard.class);
-		assertEqualCount("NewProjectCreationWizard", count1, count2);
-	}		
-	
-	private void doWizardLeakTest(INewWizard wizard) throws Exception {
-		wizard.init(JavaPlugin.getDefault().getWorkbench(), new StructuredSelection(fJProject1));
-		
-		Shell shell= JavaPlugin.getActiveWorkbenchShell();
-		WizardDialog dialog= new WizardDialog(shell, wizard);
-		dialog.setBlockOnOpen(false);
-		dialog.create();
-		dialog.open();
-		
-		dialog.close();
-		wizard= null;
-		dialog= null;
-	}	
-	
-
-}
diff --git a/org.eclipse.jdt.ui.tests/plugin.properties b/org.eclipse.jdt.ui.tests/plugin.properties
deleted file mode 100644
index 1910216..0000000
--- a/org.eclipse.jdt.ui.tests/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-Plugin.name= Java Test Plugin
-Plugin.providerName= Eclipse.org
-javaElementDecorator.label= Java Element Decorator
-
-AddTestMarkersAction.label= Add Test Markers
-AddTestMarkersAction.tooltip= Add Test Markers
-
-exampleQuickFixProcessor.name= Example Quick Fix Processor
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests/plugin.xml b/org.eclipse.jdt.ui.tests/plugin.xml
deleted file mode 100644
index 5101d62..0000000
--- a/org.eclipse.jdt.ui.tests/plugin.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.jdt.ui.tests"
-   name="%Plugin.name"
-   version="3.0.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.jdt.testplugin.JavaTestPlugin">
-
-   <runtime>
-      <library name="javauitests.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.search"/>
-	  <import plugin="org.eclipse.ltk.core.refactoring"/>      
-   </requires>
-
-
-<!-- **************** TEST DECORATOR ******************* -->
-   <extension
-         point="org.eclipse.ui.decorators">
-      <decorator
-            objectClass="org.eclipse.jdt.core.IJavaElement"
-            adaptable="true"
-            label="%javaElementDecorator.label"
-            state="false"
-            class="org.eclipse.jdt.testplugin.JavaElementDecorator"
-            id="org.eclipse.jdt.ui.tests.javaElementDecorator">
-      </decorator>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="MochPluginView"
-            class="org.eclipse.jdt.ui.tests.packageview.MockPluginView"
-            id="org.eclipse.jdt.ui.tests.packageview.MockPluginView">
-      </view>
-      <view
-            name="MockPluginView"
-            class="org.eclipse.jdt.ui.tests.browsing.MockPluginView"
-            id="org.eclipse.jdt.ui.tests.browsing.MockPluginView">
-      </view>
-   </extension>
-<!-- **************** TEST MARKER for quick fix ******************* -->
-   <extension
-         id="testmarker"
-         name="jdt-test-problem"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.problemmarker">
-      </super>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerResolution">
-      <markerResolutionGenerator
-            markerType="org.eclipse.jdt.ui.tests.testmarker"
-            class="org.eclipse.jdt.ui.tests.quickfix.MarkerResolutionGenerator">
-      </markerResolutionGenerator>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.jdt.core.ICompilationUnit"
-            id="org.eclipse.jdt.ui.examples.AddTestMarkersAction">
-         <action
-               label="%AddTestMarkersAction.label"
-               tooltip="%AddTestMarkersAction.tooltip"
-               class="org.eclipse.jdt.ui.examples.AddTestMarkersAction"
-               menubarPath="AddTestMarkers"
-               enablesFor="1"
-               id="addTestmarkers">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.ui.quickFixProcessors">
-      <quickFixProcessor
-            name="%exampleQuickFixProcessor.name"
-            class="org.eclipse.jdt.ui.examples.MyQuickFixProcessor"
-            id="org.eclipse.jdt.ui.examples.MyQuickFixProcessor">
-         <enablement>
-            <adapt
-                  type="org.eclipse.core.resources.IResource">
-               <test
-                     value="A.java"
-                     property="org.eclipse.jdt.internal.ui.matchesPattern">
-               </test>
-            </adapt>
-         </enablement>
-      </quickFixProcessor>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaElementDecorator.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaElementDecorator.java
deleted file mode 100644
index 372a432..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaElementDecorator.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.testplugin;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.LabelProvider;
-
-/**
- * Allows to test decorators for Java elements
- */
-public class JavaElementDecorator extends LabelProvider implements ILabelDecorator {
-
-	/*
-	 * @see ILabelDecorator#decorateImage(Image, Object)
-	 */
-	public Image decorateImage(Image image, Object element) {
-		return null;
-	}
-
-	/*
-	 * @see ILabelDecorator#decorateText(String, Object)
-	 */
-	public String decorateText(String text, Object element) {
-		return text + "*";
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaProjectHelper.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaProjectHelper.java
deleted file mode 100644
index 1d96720..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaProjectHelper.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaTestPlugin.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaTestPlugin.java
deleted file mode 100644
index 8ef111f..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/JavaTestPlugin.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.testplugin;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-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.IPluginDescriptor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-
-public class JavaTestPlugin extends Plugin {
-	
-	private static JavaTestPlugin fgDefault;
-	
-	public JavaTestPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgDefault= this;
-	}
-	
-	public static JavaTestPlugin getDefault() {
-		return fgDefault;
-	}
-	
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	
-	public static void enableAutobuild(boolean enable) throws CoreException {
-		// disable auto build
-		IWorkspace workspace= JavaTestPlugin.getWorkspace();
-		IWorkspaceDescription desc= workspace.getDescription();
-		desc.setAutoBuilding(enable);
-		workspace.setDescription(desc);
-	}
-	
-	public File getFileInPlugin(IPath path) {
-		try {
-			URL installURL= new URL(getDescriptor().getInstallURL(), path.toString());
-			URL localURL= Platform.asLocalURL(installURL);
-			return new File(localURL.getFile());
-		} catch (IOException e) {
-			return null;
-		}
-	}
-	
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	public static void logErrorMessage(String message) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, message, null));
-	}
-
-	public static void logErrorStatus(String message, IStatus status) {
-		if (status == null) {
-			logErrorMessage(message);
-			return;
-		}
-		MultiStatus multi= new MultiStatus(getPluginId(), IStatus.ERROR, message, null);
-		multi.add(status);
-		log(multi);
-	}
-	
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, e.getMessage(), e)); //$NON-NLS-1$
-	}	
-	
-		
-
-}
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/StringAsserts.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/StringAsserts.java
deleted file mode 100644
index 76aa248..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/StringAsserts.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.testplugin;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import junit.framework.Assert;
-
-/**
- *
- */
-public class StringAsserts {
-	/**
-	 * 
-	 */
-	public StringAsserts() {
-		super();
-	}
-	
-	private static int getDiffPos(String str1, String str2) {
-		int len1= Math.min(str1.length(), str2.length());
-		
-		int diffPos= -1;
-		for (int i= 0; i < len1; i++) {
-			if (str1.charAt(i) != str2.charAt(i)) {
-				diffPos= i;
-				break;
-			}
-		}
-		if (diffPos == -1 && str1.length() != str2.length()) {
-			diffPos= len1;
-		}
-		return diffPos;
-	}
-	
-	private static final int printRange= 6;
-	
-	public static void assertEqualString(String actual, String expected) {	
-		if (actual == null || expected == null) {
-			if (actual == expected) {
-				return;
-			}
-			if (actual == null) {
-				Assert.assertTrue("Content not as expected: is 'null' expected: " + expected, false);
-			} else {
-				Assert.assertTrue("Content not as expected: expected 'null' is: " + actual, false);
-			}
-		}
-		
-		int diffPos= getDiffPos(actual, expected);
-		if (diffPos != -1) {
-			int diffAhead= Math.max(0, diffPos - printRange);
-			int diffAfter= Math.min(actual.length(), diffPos + printRange);
-			
-			String diffStr= actual.substring(diffAhead, diffPos) + '^' + actual.substring(diffPos, diffAfter);
-			
-			// use detailed message
-			String message= "Content not as expected: is\n" + actual + "\nDiffers at pos " + diffPos + ": " + diffStr + "\nexpected:\n" + expected;  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			
-			Assert.assertEquals(message, expected, actual);
-		}
-	}
-	
-	public static void assertEqualStringIgnoreDelim(String actual, String expected) throws IOException {
-		if (actual == null || expected == null) {
-			if (actual == expected) {
-				return;
-			}
-			if (actual == null) {
-				Assert.assertTrue("Content not as expected: is 'null' expected: " + expected, false);
-			} else {
-				Assert.assertTrue("Content not as expected: expected 'null' is: " + actual, false);
-			}
-		}
-		
-		BufferedReader read1= new BufferedReader(new StringReader(actual));
-		BufferedReader read2= new BufferedReader(new StringReader(expected));
-		
-		int line= 1;
-		do {
-			String s1= read1.readLine();
-			String s2= read2.readLine();
-			
-			if (s1 == null || !s1.equals(s2)) {
-				if (s1 == null && s2 == null) {
-					return;
-				}
-				String diffStr= (s1 == null) ? s2 : s1;
-				
-				String message= "Content not as expected: Content is: \n" + actual + "\nDiffers at line " + line + ": " + diffStr + "\nExpected contents: \n" + expected;
-				Assert.assertEquals(message, expected, actual);
-			}
-			line++;
-		} while (true);
-	}	
-	
-	public static void assertEqualStringsIgnoreOrder(String[] actuals, String[] expecteds) {
-		ArrayList list1= new ArrayList(Arrays.asList(actuals));
-		ArrayList list2= new ArrayList(Arrays.asList(expecteds));
-		
-		for (int i= list1.size() - 1; i >= 0; i--) {
-			if (list2.remove(list1.get(i))) {
-				list1.remove(i);
-			}
-		}
-		
-		int n1= list1.size();
-		int n2= list2.size();
-		
-		if (n1 + n2 > 0) {
-			if (n1 == 1 && n2 == 1) {
-				assertEqualString((String) list1.get(0), (String) list2.get(0));
-			}
-			
-			StringBuffer buf= new StringBuffer();
-			for (int i= 0; i < n1; i++) {
-				String s1= (String) list1.get(i);
-				if (s1 != null) {
-					buf.append(s1);
-					buf.append("\n");
-				}
-			}
-			String actual= buf.toString();
-			
-			buf= new StringBuffer();
-			for (int i= 0; i < n2; i++) {
-				String s2= (String) list2.get(i);
-				if (s2 != null) {
-					buf.append(s2);
-					buf.append("\n");
-				}
-			}
-			String expected= buf.toString();
-
-			String message= "Content not as expected: Content is: \n" + actual + "\nExpected contents: \n" + expected;
-			Assert.assertEquals(message, expected, actual);
-		}				
-	}
-	
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/test/HelloWorld.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/test/HelloWorld.java
deleted file mode 100644
index e06a912..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/test/HelloWorld.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.testplugin.test;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-
-public class HelloWorld extends TestCase {
-	
-	private IJavaProject fJProject;
-	
-	
-	public static Test suite() {
-		TestSuite suite= new TestSuite();
-		suite.addTest(new HelloWorld("test1"));
-		return suite;
-	}		
-	
-	public HelloWorld(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-			fJProject= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.delete(fJProject);
-	}	
-		
-	public void test1() throws Exception {
-		if (JavaProjectHelper.addRTJar(fJProject) == null) {
-			assertTrue("jdk not found", false);
-			return;
-		}
-		
-		String name= "java/util/Vector.java";
-		IClassFile classfile= (IClassFile) fJProject.findElement(new Path(name));
-		assertTrue("classfile not found", classfile != null);
-		
-		IType type= classfile.getType();
-		System.out.println("methods of Vector");
-		IMethod[] methods= type.getMethods();
-		for (int i= 0; i < methods.length; i++) {
-			System.out.println(methods[i].getElementName());
-		}
-	}		
-
-}
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/test/JavaTestCase.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/test/JavaTestCase.java
deleted file mode 100644
index 21d6ae6..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/test/JavaTestCase.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.testplugin.test;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-
-public class JavaTestCase extends TestCase {
-	
-	private IJavaProject fJavaProject;
-
-	public JavaTestCase(String name) {
-		super(name);
-	}
-			
-	public static Test suite() {
-		TestSuite suite= new TestSuite();
-		suite.addTest(new JavaTestCase("doTest1"));
-		return suite;
-	}
-	
-	/**
-	 * Creates a new test Java project.
-	 */	
-	protected void setUp() throws Exception {
-		fJavaProject= JavaProjectHelper.createJavaProject("HelloWorldProject", "bin");
-
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		IPackageFragment pack= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= pack.getCompilationUnit("A.java");
-		IType type= cu.createType("public class A {\n}\n", null, true, null);
-		type.createMethod("public void a() {}\n", null, true, null);
-		type.createMethod("public void b(java.util.Vector v) {}\n", null, true, null);
-	}
-
-	/**
-	 * Removes the test java project.
-	 */	
-	protected void tearDown () throws Exception {
-		JavaProjectHelper.delete(fJavaProject);
-	}
-				
-	/*
-	 * Basic test: Checks for created methods.
-	 */
-	public void doTest1() throws Exception {
-		
-		String name= "ibm/util/A.java";
-		ICompilationUnit cu= (ICompilationUnit) fJavaProject.findElement(new Path(name));
-		assertTrue("A.java must exist", cu != null);
-		IType type= cu.getType("A");
-		assertTrue("Type A must exist", type != null);
-		
-		System.out.println("methods of A");
-		IMethod[] methods= type.getMethods();
-		for (int i= 0; i < methods.length; i++) {
-			System.out.println(methods[i].getElementName());
-		}
-		assertTrue("Should contain 2 methods", methods.length == 2);
-	}	
-	
-
-}
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/AccessibilityTestPass.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/AccessibilityTestPass.java
deleted file mode 100644
index fd9faf6..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/AccessibilityTestPass.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.testplugin.util;
-
-
-import java.util.ArrayList;
-
-
-public class AccessibilityTestPass implements IDialogTestPass {
-	private static final int CHECKLIST_SIZE = 5;
-	
-	/**
-	 * @see IDialogTestPass#title()
-	 */
-	public String title() {
-		return "Test Pass: Accessibility";
-	}
-	/**
-	 * @see IDialogTestPass#description()
-	 */
-	public String description() {
-		return "Verify the accessibility of the dialogs.";
-	}
-	/**
-	 * @see IDialogTestPass#label()
-	 */
-	public String label() {
-		return "&Accessibility";
-	}	
-	/**
-	 * @see IDialogTestPass#checkListTexts()
-	 */
-	public ArrayList checkListTexts() {
-		ArrayList list = new ArrayList(CHECKLIST_SIZE);
-		list.add("&1) all widgets are accessible by tabbing.");
-		list.add("&2) forwards and backwards tabbing is in a logical order");
-		list.add("&3) all the widgets with labels have an appropriate mnemonic.");
-		list.add("&4) there are no duplicate mnemonics.");
-		list.add("&5) selectable widgets can be selected using the spacebar.");
-		return list;
-	}
-	/**
-	 * @see IDialogTestPass#failureTexts()
-	 * Size of the return array must be the same size as the checkListTexts'
-	 * ArrayList.
-	 */
-	public String[] failureTexts() {
-		String[] failureText = new String[CHECKLIST_SIZE];
-		failureText[0] = "Some widgets aren't accessible by tabbing.";
-		failureText[1] = "Tabbing order is illogical.";
-		failureText[2] = "Missing or inappropriate mnemonics.";
-		failureText[3] = "Duplicate mnemonics.";
-		failureText[4] = "Some widgets cannot be selected using the spacebar.";
-		return failureText;
-	}
-	/**
-	 * @see IDialogTestPass#queryText()
-	 */
-	public String queryText() {
-		return "Is the accessibility of the dialog acceptable?";
-	}
-	/**
-	 * @see IDialogTestPass#getID()
-	 */
-	public int getID() {
-		return VerifyDialog.TEST_ACCESS;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/DialogCheck.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/DialogCheck.java
deleted file mode 100644
index a441f1f..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/DialogCheck.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.testplugin.util;
-
-
-
-
-import junit.framework.Assert;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-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.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-
-/**
- * A <code>DialogCheck</code> is used test a dialog in
- * various ways. 
- * <p>
- * For interactive tests use <code>assertDialog</code>.
- * For automated tests use <code>assert DialogTexts</code>.
- * </p> 
- */
-public class DialogCheck {
-	private DialogCheck() {
-	}
-	private static VerifyDialog _verifyDialog;
-
-
-	/**
-	 * Asserts that a given dialog is not null and that it passes
-	 * certain visual tests.  These tests will be verified manually
-	 * by the tester using an input dialog.  Use this assert method
-	 * to verify a dialog's sizing, initial focus, or accessiblity.
-	 * To ensure that both the input dialog and the test dialog are
-	 * accessible by the tester, the getShell() method should be used
-	 * when creating the test dialog.
-	 * 
-	 * Example usage:
-	 * <code>Dialog dialog = new AboutDialog( DialogCheck.getShell() );
-	 * DialogCheck.assertDialog(dialog, this);</code>
-	 * 
-	 * @param dialog the test dialog to be verified.
-	 */
-	public static void assertDialog(Dialog dialog) {
-		Assert.assertNotNull(dialog);
-		if (_verifyDialog.getShell() == null) {
-			//force the creation of the verify dialog
-			getShell();
-		}
-		if (_verifyDialog.open(dialog) == IDialogConstants.NO_ID) {
-			Assert.assertTrue(_verifyDialog.getFailureText(), false);
-		}
-	}
-
-
-	/**
-	 * Automated test that checks all the labels and buttons of a dialog
-	 * to make sure there is enough room to display all the text.  Any
-	 * text that wraps is only approximated and is currently not accurate.
-	 * 
-	 * @param dialog the test dialog to be verified.
-	 */
-	public static void assertDialogTexts(Dialog dialog) {
-		Assert.assertNotNull(dialog);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		Shell shell = dialog.getShell();
-		verifyCompositeText(shell);
-		dialog.close();
-	}
-
-
-	/**
-	 * This method should be called when creating dialogs to test.  This
-	 * ensures that the dialog's parent shell will be that of the
-	 * verification dialog.
-	 * 
-	 * @return Shell The shell of the verification dialog to be used as
-	 * the parent shell of the test dialog.
-	 */
-	public static Shell getShell() {
-		Shell shell =
-			WorkbenchPlugin
-				.getDefault()
-				.getWorkbench()
-				.getActiveWorkbenchWindow()
-				.getShell();
-		_verifyDialog = new VerifyDialog(shell);
-		_verifyDialog.create();
-		return _verifyDialog.getShell();
-	}
-
-
-	/*
-	 * Looks at all the child widgets of a given composite and
-	 * verifies the text on all labels and widgets.
-	 * @param composite The composite to look through
-	 */
-	private static void verifyCompositeText(Composite composite) {
-		Control children[] = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			try {
-				//verify the text if the child is a button
-				verifyButtonText((Button) children[i]);
-			} catch (ClassCastException exNotButton) {
-				try {
-					//child is not a button, maybe a label
-					verifyLabelText((Label) children[i]);
-				} catch (ClassCastException exNotLabel) {
-					try {
-						//child is not a label, make a recursive call if it is a composite
-						verifyCompositeText((Composite) children[i]);
-					} catch (ClassCastException exNotComposite) {
-						//the child is not a button, label, or composite - ignore it.
-					}
-				}
-			}
-		}
-	}
-	
-	/*
-	 * Verifies that a given button is large enough to display its text.
-	 * @param button The button to verify,
-	 */
-	private static void verifyButtonText(Button button) {
-		String widget = button.toString();
-		Point size = button.getSize();
-
-
-		//compute the size with no line wrapping
-		Point preferred = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		//if (size.y/preferred.y) == X, then label spans X lines, so divide
-		//the calculated value of preferred.x by X
-		if (preferred.y * size.y > 0) {
-			preferred.y /= countLines(button.getText()); //check for '\n\'
-			if (size.y / preferred.y > 1) {
-				preferred.x /= (size.y / preferred.y);
-			}
-		}
-
-
-		String message =
-			new StringBuffer("Warning: ")
-				.append(widget)
-				.append("\n\tActual Width -> ")
-				.append(size.x)
-				.append("\n\tRecommended Width -> ")
-				.append(preferred.x)
-				.toString();
-		if (preferred.x > size.x) {
-			//close the dialog
-			button.getShell().dispose();
-			Assert.assertTrue(message.toString(), false);
-		}
-	}
-	
-	/*
-	 * Verifies that a given label is large enough to display its text.
-	 * @param label The label to verify,
-	 */
-	private static void verifyLabelText(Label label) {
-		String widget = label.toString();
-		Point size = label.getSize();
-
-
-		//compute the size with no line wrapping
-		Point preferred = label.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		//if (size.y/preferred.y) == X, then label spans X lines, so divide
-		//the calculated value of preferred.x by X
-		if (preferred.y * size.y > 0) {
-			preferred.y /= countLines(label.getText());
-			if (size.y / preferred.y > 1) {
-				preferred.x /= (size.y / preferred.y);
-			}
-		}
-		String message =
-			new StringBuffer("Warning: ")
-				.append(widget)
-				.append("\n\tActual Width -> ")
-				.append(size.x)
-				.append("\n\tRecommended Width -> ")
-				.append(preferred.x)
-				.toString();
-		if (preferred.x > size.x) {
-			//close the dialog
-			label.getShell().dispose();
-			Assert.assertTrue(message.toString(), false);
-		}
-	}
-	
-	/*
-	 * Counts the number of lines in a given String.
-	 * For example, if a string contains one (1) newline character,
-	 * a value of two (2) would be returned.
-	 * @param text The string to look through.
-	 * @return int the number of lines in text.
-	 */
-	private static int countLines(String text) {
-		int newLines = 1;
-		for (int i = 0; i < text.length(); i++) {
-			if (text.charAt(i) == '\n') {
-				newLines++;
-			}
-		}
-		return newLines;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/FailureDialog.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/FailureDialog.java
deleted file mode 100644
index 2ff98ff..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/FailureDialog.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.testplugin.util;
-
-
- 
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-
-
-/*
- * A dialog for collecting notes from the tester regarding
- * the failure of a test.
- */
-public class FailureDialog extends Dialog {
-	private Text _text;
-	private String _log;
-	private int SIZING_TEXT_WIDTH = 400;
-	private int SIZING_TEXT_HEIGHT = 200;
-	
-	/**
-	 * Constructor for FailureDialog
-	 */
-	public FailureDialog(Shell parentShell) {
-		super(parentShell);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Dialog Test Failed");
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, "&OK", true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// page group
-		Composite composite = (Composite)super.createDialogArea(parent);
-		composite.setSize( composite.computeSize(SWT.DEFAULT, SWT.DEFAULT) );
-		
-		Label label = new Label(composite, SWT.WRAP);
-		label.setText("&Enter a note regarding the failure:");
-		
-		_text = new Text(composite, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		_text.setFont( JFaceResources.getFontRegistry().get(JFaceResources.TEXT_FONT) );
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = SIZING_TEXT_WIDTH;
-		data.heightHint = SIZING_TEXT_HEIGHT;
-		_text.setLayoutData(data);
-		
-		return composite;
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void okPressed() {		
-		_log = _text.getText();
-		super.okPressed();
-	}
-	/*
-	 * @return String the text contained in the input area of
-	 * the dialog.
-	 */
-	String getText() {
-		if (_log == null) {
-			return "Empty entry.";
-		} else {
-			return _log;
-		}
-	}
-	/*
-	 * Sets the text of the input area.  This should only be
-	 * called to set the initial text so only call before invoking
-	 * open().
-	 */
-	void setText(String text) {
-		_text.setText(text);
-	}
-	/*
-	 * Returns a string representation of this class which
-	 * the text contained in the input area of the dialog.
-	 */
-	public String toString() {
-		return getText();
-	}
-}
-
-
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/FocusTestPass.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/FocusTestPass.java
deleted file mode 100644
index 3588b81..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/FocusTestPass.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.testplugin.util;
-
-
- 
-import java.util.ArrayList;
-
-
-/*
- * This test pass verifies the initial focus of a dialog
- * when it is given focus.
- */
-public class FocusTestPass implements IDialogTestPass {
-	private static final int CHECKLIST_SIZE = 1;
-
-
-	/**
-	 * @see IDialogTestPass#title()
-	 */
-	public String title() {
-		return "Test Pass: Initial Focus";
-	}
-	/**
-	 * @see IDialogTestPass#description()
-	 */
-	public String description() {
-		return "Verify the initial focus of the dialogs.";
-	}
-	/**
-	 * @see IDialogTestPass#label()
-	 */
-	public String label() {
-		return "&Initial Focus";
-	}	
-	/**
-	 * @see IDialogTestPass#checkListTexts()
-	 */
-	public ArrayList checkListTexts() {
-		ArrayList list = new ArrayList(CHECKLIST_SIZE);
-		list.add("&1) the initial focus is appropriate.");
-		return list;
-	}
-	/**
-	 * @see IDialogTestPass#failureTexts()
-	 * Size of the return array must be the same size as the checkListTexts'
-	 * ArrayList.
-	 */
-	public String[] failureTexts() {
-		String[] failureText = new String[CHECKLIST_SIZE];
-		failureText[0] = "The initial focus is inappropriate.";
-		return failureText;
-	}
-	/**
-	 * @see IDialogTestPass#queryText()
-	 */
-	public String queryText() {
-		return "Is the initial focus of the dialog correct?";
-	}
-	/**
-	 * @see IDialogTestPass#getID()
-	 */
-	public int getID() {
-		return VerifyDialog.TEST_FOCUS;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/IDialogTestPass.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/IDialogTestPass.java
deleted file mode 100644
index f1c1949..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/IDialogTestPass.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.testplugin.util;
-
-
-import java.util.ArrayList;
-
-
-/*
- * Interface to describe a visual test pass for a dialog test.
- */
-public interface IDialogTestPass {
-	/*
-	 * @return String The title of the test pass.
-	 */
-	public String title();
-	/*
-	 * @return String The description of the test pass.
-	 */
-	public String description();
-	/*
-	 * @return String The label of the test pass to be used
-	 * in a selection list.  The return includes an '&'
-	 * if a mnemonic is desired.
-	 */
-	public String label();
-	/*
-	 * @return ArrayList A list of items to appear in a checklist.
-	 * The items in the list must be Strings and should include an
-	 * '&' if a mnemonic is desired.
-	 */
-	public ArrayList checkListTexts();
-	/*
-	 * @return String[] Associated failure messages that correspond
-	 * to the checklist items.  The size of this array should be the
-	 * same size as the checklist.
-	 */
-	public String[] failureTexts();
-	/*
-	 * @return String The test that corresponds to the test pass to
-	 * which the tester will respond with a 'yes' or 'no'.
-	 */
-	public String queryText();
-	/*
-	 * @return int A unique number that identifies the test pass.
-	 */
-	public int getID();
-}
-
-
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/SizingTestPass.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/SizingTestPass.java
deleted file mode 100644
index d3ff20a..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/SizingTestPass.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.testplugin.util;
-
-
- 
-import java.util.ArrayList;
-
-
-/*
- * This test pass verifies visually the sizing of the dialog and its
- * widgets.
- */
-class SizingTestPass implements IDialogTestPass {
-	private static final int CHECKLIST_SIZE = 5;
-
-
-	/**
-	 * @see IDialogTestPass#title()
-	 */
-	public String title() {
-		return "Test Pass: Sizing and Display";
-	}
-	/**
-	 * @see IDialogTestPass#description()
-	 */
-	public String description() {
-		return "Verify the sizing and display of the dialogs and widgets.";
-	}
-	/**
-	 * @see IDialogTestPass#label()
-	 */
-	public String label() {
-		return "&Sizing and Display";
-	}	
-	/**
-	 * @see IDialogTestPass#checkListTexts()
-	 */
-	public ArrayList checkListTexts() {
-		ArrayList list = new ArrayList(CHECKLIST_SIZE);
-		list.add("&1) the correct dialog displays.");
-		list.add("&2) the dialog is an appropriate size for the required resolution (1024x768).");
-		list.add("&3) the texts are correct and not cut off.");
-		list.add("&4) all strings have been externalized properly.");
-		list.add("&5) all the widgets are viewable and not cut off.");
-		return list;
-	}
-	/**
-	 * @see IDialogTestPass#failureTexts()
-	 * Size of the return array must be the same size as the checkListTexts'
-	 * ArrayList.
-	 */
-	public String[] failureTexts() {
-		String[] failureText = new String[CHECKLIST_SIZE];
-		failureText[0] = "The wrong dialog displayed.";
-		failureText[1] = "The dialog is too large for the required resolution.";
-		failureText[2] = "Text labels are wrong or cut off.";
-		failureText[3] = "Some strings have not been externalized properly.";
-		failureText[4] = "Some widgets are cut off.";
-		return failureText;
-	}
-	/**
-	 * @see IDialogTestPass#queryText()
-	 */
-	public String queryText() {
-		return "Is the sizing and display of the dialog correct?";
-	}
-	/**
-	 * @see IDialogTestPass#getID()
-	 */
-	public int getID() {
-		return VerifyDialog.TEST_SIZING;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/VerifyDialog.java b/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/VerifyDialog.java
deleted file mode 100644
index e2f7d33..0000000
--- a/org.eclipse.jdt.ui.tests/test plugin/org/eclipse/jdt/testplugin/util/VerifyDialog.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.testplugin.util;
-
-
-import java.util.Iterator;
-
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-
-/*
- * This dialog is intended to verify a dialogs in a testing
- * environment.  The tester can test for sizing, initial focus,
- * or accessibility.
- */
-public class VerifyDialog extends TitleAreaDialog {
-	private int SIZING_WIDTH = 400;
-	
-	private static int      TEST_TYPE;
-	public static final int TEST_SIZING = 0;
-	public static final int TEST_FOCUS  = 1;
-	public static final int TEST_ACCESS = 2;
-	private IDialogTestPass _dialogTests[] = new IDialogTestPass[3];
-
-
-	private Dialog _testDialog; //the dialog to test
-	private Point  _testDialogSize;
-	
-	private Label  _queryLabel;
-	private Button _yesButton;
-	private Button _noButton;
-	private Button _checkList[];
-	private String _failureText;
-	
-	/*
-	 * Create an instance of the verification dialog.
-	 */
-	public VerifyDialog(Shell parent) {
-		super(parent);
-		if ( !(TEST_TYPE <= 2) && !(TEST_TYPE >= 0) ) {
-			TEST_TYPE = TEST_SIZING;
-		}
-		_failureText = "";
-		_dialogTests[0] = new SizingTestPass();
-		_dialogTests[1] = new FocusTestPass();
-		_dialogTests[2] = new AccessibilityTestPass();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText("Dialog Verification");
-		setShellStyle(SWT.NONE);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		_yesButton = createButton(parent, IDialogConstants.YES_ID, IDialogConstants.YES_LABEL, true);
-		_noButton = createButton(parent, IDialogConstants.NO_ID, IDialogConstants.NO_LABEL, false);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (IDialogConstants.YES_ID == buttonId) {
-			setReturnCode(IDialogConstants.YES_ID);
-			if (_testDialog.getShell() != null) {
-				_testDialog.close();
-			}
-			close();
-		} else if (IDialogConstants.NO_ID == buttonId) {
-			handleFailure();
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// top level composite
-		Composite parentComposite = (Composite)super.createDialogArea(parent);
-
-
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parentComposite, SWT.NONE);
-		composite.setSize(SIZING_WIDTH, SWT.DEFAULT);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-
-		createTestSelectionGroup(composite);
-		createCheckListGroup(composite);
-
-
-		_queryLabel = new Label(composite, SWT.NONE);
-		_queryLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		initializeTest();
-		return composite;
-	}
-	/*
-	 * Group for selecting type of test.
-	 */
-	private void createTestSelectionGroup(Composite parent) {
-		Group group = new Group(parent, SWT.SHADOW_NONE);
-		group.setText("Testing:");
-		group.setLayout( new GridLayout() );
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(data);
-		
-		for (int i = 0; i < _dialogTests.length; i++) {
-			Button radio = new Button(group, SWT.RADIO);
-			radio.setText( _dialogTests[i].label() );
-			final int testID = _dialogTests[i].getID();
-			radio.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					TEST_TYPE = testID;
-					initializeTest();
-					_yesButton.setEnabled(true);
-				}
-			});
-			if ( TEST_TYPE == _dialogTests[i].getID() ) {
-				radio.setSelection(true);
-			}
-		}
-	}
-	/*
-	 * Initializes the checklist with empty checks.
-	 */
-	private void createCheckListGroup(Composite parent) {
-		Group group = new Group(parent, SWT.SHADOW_NONE);
-		group.setText("Verify that:");
-		group.setLayout( new GridLayout() );
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(data);
-		
-		int checkListSize = 0;
-		for (int i = 0; i < _dialogTests.length; i++) {
-			int size = _dialogTests[i].checkListTexts().size();
-			if (size > checkListSize) {
-				checkListSize = size;
-			}
-		}
-		_checkList = new Button[checkListSize];
-		SelectionAdapter selectionAdapter = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				checkYesEnable();
-			}
-		};
-		for (int i = 0; i < checkListSize; i++) {
-			_checkList[i] = new Button(group, SWT.CHECK);
-			_checkList[i].addSelectionListener(selectionAdapter);
-			data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			data.grabExcessHorizontalSpace = true;
-			_checkList[i].setLayoutData(data);
-		}		
-	}
-	/*
-	 * Disables the yes button if any of the items in the checklist
-	 * are unchecked.  Enables the yes button otherwise.
-	 */
-	private void checkYesEnable() {
-		boolean enable = true;
-		for (int i = 0; i < _checkList.length; i++) {
-			if ( !_checkList[i].getSelection() ) {
-				enable = false;
-			}			
-		}
-		_yesButton.setEnabled(enable);
-	}
-	/*
-	 * Initializes the checklist, banner texts, and query label
-	 */
-	private void initializeTest() {
-		IDialogTestPass test = _dialogTests[TEST_TYPE];
-		setTitle( test.title() );
-		setMessage( test.description() );
-		Iterator iterator = test.checkListTexts().iterator();
-		for (int i = 0; i < _checkList.length; i++) {
-			if ( iterator.hasNext() ) {
-				_checkList[i].setText( iterator.next().toString() );
-				_checkList[i].setVisible(true);
-				_checkList[i].update();
-			} else {
-				_checkList[i].setVisible(false);
-				_checkList[i].update();
-			}
-			_checkList[i].setSelection(true);
-		}
-		_queryLabel.setText( test.queryText() );
-	}
-	public String getFailureText() {
-		return _failureText;
-	}
-	/*
-	 * Can't open the verification dialog without a specified
-	 * test dialog, this simply returns a failure and prevents
-	 * opening.  Should use open(Dialog) instead.
-	 * 
-	 */
-	public int open() {
-		_failureText = "Testing dialog is required, use VerifyDialog::open(Dialog)";
-		return IDialogConstants.NO_ID;
-	}
-	/*
-	 * Opens the verification dialog to test the specified dialog.
-	 */
-	public int open(Dialog testDialog) {
-		if (getShell() == null) {
-			create();
-		}
-		getShell().setLocation(0, 0);
-		getShell().setSize(Math.max(SIZING_WIDTH, getShell().getSize().x), getShell().getSize().y);
-		_testDialog = testDialog;
-		if (_testDialog.getShell() == null) {
-			_testDialog.create();
-		}
-		_testDialogSize = _testDialog.getShell().getSize();
-		openNewTestDialog();
-		
-		return super.open();
-	}
-	/*
-	 * Opens the dialog to be verified.
-	 */
-	private void openNewTestDialog() {
-		if (_testDialog.getShell() == null) {
-			_testDialog.create();
-		}
-		_testDialog.setBlockOnOpen(false);
-		_testDialog.getShell().setLocation(getShell().getSize().x + 1, 0);
-		_testDialog.getShell().setSize(_testDialogSize);
-		_testDialog.getShell().addShellListener(new ShellAdapter() {
-			public void shellClosed(ShellEvent e) {				
-				e.doit = false;
-			}
-		
-		});		
-		_testDialog.open();
-	}
-	/*
-	 * The test dialog failed, open the failure dialog.
-	 */
-	private void handleFailure() {
-		IDialogTestPass test = _dialogTests[TEST_TYPE];
-		StringBuffer text = new StringBuffer();
-		String label = test.label();
-		label = label.substring(0, label.indexOf("&")) +
-		        label.substring(label.indexOf("&") + 1);
-		text.append(label).
-		     append(" failed on the ").
-		     append(SWT.getPlatform()).
-		     append(" platform:\n");
-		
-		String failureMessages[] = test.failureTexts();
-		for (int i = 0; i < test.checkListTexts().size(); i++) {
-			if ( !_checkList[i].getSelection() ) {
-				text.append("- ").append(failureMessages[i]).append("\n");
-			}
-		}
-		FailureDialog dialog = new FailureDialog( getShell() );
-		dialog.create();
-		dialog.setText( text.toString() );
-		if (dialog.open() == IDialogConstants.OK_ID) {
-			_failureText = dialog.toString();
-			setReturnCode(IDialogConstants.NO_ID);
-			if (_testDialog.getShell() != null) {
-				_testDialog.close();
-			}
-			close();
-		}
-	}
-	/*
-	 * In case the shell was closed by a means other than
-	 * the NO button.
-	 */
-	protected void handleShellCloseEvent() {
-		handleFailure();
-	}
-}
-
-
diff --git a/org.eclipse.jdt.ui.tests/test.xml b/org.eclipse.jdt.ui.tests/test.xml
deleted file mode 100644
index 4a50fa6..0000000
--- a/org.eclipse.jdt.ui.tests/test.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-  <property name="org.eclipse.jdt.ui.tests" value="org.eclipse.jdt.ui.tests_3.0.0"/>
-
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.jdt.ui.tests"/>
-  <property name="library-file"
-            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="jdt-folder" 
-              value="${eclipse-home}/jdt_folder"/>
-    <delete dir="${jdt-folder}" quiet="true"/>
-   	<condition property="os.isWindows">
-    	<os family="windows"/>
-  	</condition>
-
-  	
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${jdt-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.jdt.ui.tests.AutomatedSuite"/>
-    </ant>
-    
-  </target>
-  
-    <!-- leak test target -->
-  <target name="leaksuite" depends="checkOS" if="os.isWindows">
-    <property name="jdt-folder" 
-              value="${eclipse-home}/jdt_folder"/>
-
-    <delete dir="${jdt-folder}" quiet="true"/>
-  	
-    <copy file="${eclipse-home}/plugins/${org.eclipse.jdt.ui.tests}/leaks/ProfileNatives.dll" todir="${java.home}/bin" />	
-    
-		<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${jdt-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="vmargs" value="-Xint -XrunProfileNatives"/>
-      <property name="classname" 
-                value="org.eclipse.jdt.ui.tests.LeakTestSuite"/>
-    </ant>
-    
-  </target>
-
-  
-  
-  <target name="checkOS">
-   	<condition property="os.isWindows">
-    	<os family="windows"/>
-  	</condition>
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,leaksuite,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-
-  </target>
-
-</project>
diff --git a/org.eclipse.jdt.ui.tests/testresources/compoundtest.jar b/org.eclipse.jdt.ui.tests/testresources/compoundtest.jar
deleted file mode 100644
index ae5ea24..0000000
--- a/org.eclipse.jdt.ui.tests/testresources/compoundtest.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/testresources/junit37-noUI-src.zip b/org.eclipse.jdt.ui.tests/testresources/junit37-noUI-src.zip
deleted file mode 100644
index 4f95d30..0000000
--- a/org.eclipse.jdt.ui.tests/testresources/junit37-noUI-src.zip
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/testresources/myinternallib.jar b/org.eclipse.jdt.ui.tests/testresources/myinternallib.jar
deleted file mode 100644
index 22228df..0000000
--- a/org.eclipse.jdt.ui.tests/testresources/myinternallib.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/testresources/mylib.jar b/org.eclipse.jdt.ui.tests/testresources/mylib.jar
deleted file mode 100644
index 140e3c6..0000000
--- a/org.eclipse.jdt.ui.tests/testresources/mylib.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/testresources/rtstubs.jar b/org.eclipse.jdt.ui.tests/testresources/rtstubs.jar
deleted file mode 100644
index cf3edc3..0000000
--- a/org.eclipse.jdt.ui.tests/testresources/rtstubs.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/AutomatedSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/AutomatedSuite.java
deleted file mode 100644
index adec430..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/AutomatedSuite.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.ui.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.ui.tests.astrewrite.ASTRewritingTest;
-import org.eclipse.jdt.ui.tests.browsing.PackagesViewContentProviderTests;
-import org.eclipse.jdt.ui.tests.browsing.PackagesViewDeltaTests;
-import org.eclipse.jdt.ui.tests.callhierarchy.CallHierarchyContentProviderTest;
-import org.eclipse.jdt.ui.tests.core.CoreTests;
-import org.eclipse.jdt.ui.tests.packageview.ContentProviderTests1;
-import org.eclipse.jdt.ui.tests.packageview.ContentProviderTests2;
-import org.eclipse.jdt.ui.tests.packageview.ContentProviderTests3;
-import org.eclipse.jdt.ui.tests.packageview.ContentProviderTests4;
-import org.eclipse.jdt.ui.tests.quickfix.QuickFixTest;
-import org.eclipse.jdt.ui.tests.search.SearchTest;
-import org.eclipse.jdt.ui.tests.wizardapi.NewJavaProjectWizardTest;
-
-
-/**
- * Test all areas of the UI.
- */
-public class AutomatedSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new AutomatedSuite();
-	}
-
-	/**
-	 * Construct the test suite.
-	 */
-	public AutomatedSuite() {
-		addTest(CoreTests.suite());
-		addTest(ASTRewritingTest.suite());
-		addTest(QuickFixTest.suite());
-		
-		addTest(NewJavaProjectWizardTest.suite());
-		
-		addTest(ContentProviderTests1.suite());
-		addTest(ContentProviderTests2.suite());
-		addTest(ContentProviderTests3.suite());
-		addTest(ContentProviderTests4.suite());	
-		
-		addTest(PackagesViewContentProviderTests.suite());
-		addTest(PackagesViewDeltaTests.suite());
-		
-		addTest(CallHierarchyContentProviderTest.suite());
-		
-		addTest(SearchTest.suite()); 
-	}
-	
-}
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/LeakTestSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/LeakTestSuite.java
deleted file mode 100644
index 2709b98..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/LeakTestSuite.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-
-/**
- * Test for leaks
- */
-public class LeakTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new LeakTestSuite();
-	}
-
-	/**
-	 * Construct the test suite.
-	 */
-	public LeakTestSuite() {
-		//addTest(JavaLeakTest.suite());
-	}
-	
-}
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/UIInteractiveSuite.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/UIInteractiveSuite.java
deleted file mode 100644
index 9681eac..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/UIInteractiveSuite.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.ui.tests.dialogs.DialogsTest;
-import org.eclipse.jdt.ui.tests.dialogs.PreferencesTest;
-import org.eclipse.jdt.ui.tests.dialogs.WizardsTest;
-
-/**
- * Test all areas of the UI.
- */
-public class UIInteractiveSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new UIInteractiveSuite();
-	}
-
-	/**
-	 * Construct the test suite.
-	 */
-	public UIInteractiveSuite() {
-		addTest(PreferencesTest.suite());
-		addTest(WizardsTest.suite());
-		addTest(DialogsTest.suite());
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingCollapseTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingCollapseTest.java
deleted file mode 100644
index 53b1d1b..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingCollapseTest.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Block;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.ExpressionStatement;
-import org.eclipse.jdt.core.dom.IfStatement;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.MethodInvocation;
-import org.eclipse.jdt.core.dom.ReturnStatement;
-import org.eclipse.jdt.core.dom.Statement;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.OldASTRewrite;
-import org.eclipse.jdt.internal.corext.dom.NodeFinder;
-
-public class ASTRewritingCollapseTest extends ASTRewritingTest {
-	
-	private static final Class THIS= ASTRewritingCollapseTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ASTRewritingCollapseTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingCollapseTest("testCollapsedTargetNodes2"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-// tests for collapse	
-	
-	
-	public void testCollapsedTargetNodes() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		OldASTRewrite rewrite= new OldASTRewrite(astRoot);
-		
-		String str= "return;";
-		ReturnStatement returnStatement= (ReturnStatement) NodeFinder.perform(astRoot, buf.indexOf(str), str.length());
-		
-		MethodInvocation newMethodInv1= ast.newMethodInvocation();
-		newMethodInv1.setName(ast.newSimpleName("foo1"));
-		ExpressionStatement st1= ast.newExpressionStatement(newMethodInv1);
-		
-		MethodInvocation newMethodInv2= ast.newMethodInvocation();
-		newMethodInv2.setName(ast.newSimpleName("foo2"));
-		ExpressionStatement st2= ast.newExpressionStatement(newMethodInv2);
-		
-		Block placeholder= rewrite.getCollapseTargetPlaceholder(new Statement[] { st1, st2 });
-		rewrite.replace(returnStatement, placeholder, null);
-			
-		String preview= evaluateRewrite(cu, rewrite); 
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        foo1();\n");
-		buf.append("        foo2();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();		
-
-		assertEqualString(preview, expected);
-	}
-	
-	public void testCollapsedTargetNodes2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		OldASTRewrite rewrite= new OldASTRewrite(astRoot);
-		
-		String str= "return;";
-		ReturnStatement returnStatement= (ReturnStatement) NodeFinder.perform(astRoot, buf.indexOf(str), str.length());
-		
-		MethodInvocation newMethodInv1= ast.newMethodInvocation();
-		newMethodInv1.setName(ast.newSimpleName("foo1"));
-		ExpressionStatement st1= ast.newExpressionStatement(newMethodInv1);
-		
-		MethodInvocation newMethodInv2= ast.newMethodInvocation();
-		newMethodInv2.setName(ast.newSimpleName("foo2"));
-		ExpressionStatement st2= ast.newExpressionStatement(newMethodInv2);
-		
-		ReturnStatement st3= (ReturnStatement) rewrite.createCopyTarget(returnStatement);
-		
-		Block placeholder= rewrite.getCollapseTargetPlaceholder(new Statement[] { st1, st2, st3 });
-		rewrite.replace(returnStatement.getParent(), placeholder, null);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        foo1();\n");
-		buf.append("        foo2();\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();		
-
-		assertEqualString(preview, expected);
-	}
-	
-	
-	public void testMoveCollapsedCD() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		OldASTRewrite rewrite= new OldASTRewrite(astRoot);
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			List ifStatementBody= ((Block) ifStatement.getThenStatement()).statements();
-			ASTNode collapsed= rewrite.collapseNodes(ifStatementBody, 0, ifStatementBody.size());
-			
-			ASTNode placeholder= rewrite.createCopyTarget(collapsed);
-			rewrite.remove(collapsed, null);
-			
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("        }\n");
-		buf.append("        foo();\n");
-		buf.append("        i++; // comment\n");
-		buf.append("        i++;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testMoveCollapsed() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		OldASTRewrite rewrite= new OldASTRewrite(astRoot);
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			List ifStatementBody= ((Block) ifStatement.getThenStatement()).statements();
-			ASTNode collapsed= rewrite.collapseNodes(ifStatementBody, 0, ifStatementBody.size());
-			
-			ASTNode placeholder= rewrite.createMoveTarget(collapsed);
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("        }\n");
-		buf.append("        foo();\n");
-		buf.append("        i++; // comment\n");
-		buf.append("        i++;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}		
-	
-	public void testReplaceCollapsed() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		OldASTRewrite rewrite= new OldASTRewrite(astRoot);
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			List ifStatementBody= ((Block) ifStatement.getThenStatement()).statements();
-			ASTNode collapsed= rewrite.collapseNodes(ifStatementBody, 0, ifStatementBody.size());
-			
-			ASTNode newStatement= ast.newReturnStatement();
-			rewrite.replace(collapsed, newStatement, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            return;\n");		
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}	
-
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingExpressionsTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingExpressionsTest.java
deleted file mode 100644
index b52b3c7..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingExpressionsTest.java
+++ /dev/null
@@ -1,1584 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-
-public class ASTRewritingExpressionsTest extends ASTRewritingTest {
-	private static final Class THIS= ASTRewritingExpressionsTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ASTRewritingExpressionsTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingExpressionsTest("testThisExpression"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	
-	
-	public void testArrayAccess() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    int[] o= new int[] { 1, 2, 3 };\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        o[3 /* comment*/ - 1]= this.o[3 - 1];\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{	// replace left hand side index, replace right hand side index by left side index
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			ArrayAccess left= (ArrayAccess) assignment.getLeftHandSide();
-			ArrayAccess right= (ArrayAccess) assignment.getRightHandSide();
-			
-			NumberLiteral name= ast.newNumberLiteral("1");
-			rewrite.replace(left.getIndex(), name, null);
-			
-			ASTNode placeHolder= rewrite.createCopyTarget(left.getIndex());
-			rewrite.replace(right.getIndex(), placeHolder, null);
-			
-			SimpleName newName= ast.newSimpleName("o");
-			rewrite.replace(right.getArray(), newName, null);
-		}
-
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    int[] o= new int[] { 1, 2, 3 };\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        o[1]= o[3 /* comment*/ - 1];\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-			
-		assertEqualString(preview, buf.toString());
-	}
-
-
-	public void testArrayCreation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(new int[] { 1, 2, 3 },\n");
-		buf.append("        new int[] { 1, 2, 3 },\n");
-		buf.append("        new int[2][][],\n");
-		buf.append("        new int[2][][],\n");
-		buf.append("        new int[2][][],\n");
-		buf.append("        new int[2][][]);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		ExpressionStatement statement= (ExpressionStatement) statements.get(0);
-		MethodInvocation invocation= (MethodInvocation) statement.getExpression();
-		List args= invocation.arguments();
-		assertTrue("Number of arguments not 6", args.size() == 6);
-		
-		{	// replace the element type and increase the dimension
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(0);
-			ArrayType arrayType= arrayCreation.getType();
-			
-			PrimitiveType floatType= ast.newPrimitiveType(PrimitiveType.FLOAT); 
-			ArrayType newArrayType= ast.newArrayType(floatType, 2);
-			
-			rewrite.replace(arrayType, newArrayType, null);
-		}
-		{	// remove the initializer, add a dimension expression
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(1);
-			rewrite.remove(arrayCreation.getInitializer(), null);
-			
-			List dimensions= arrayCreation.dimensions();
-			assertTrue("Number of dimension expressions not 0", dimensions.size() == 0);
-			
-			NumberLiteral literal= ast.newNumberLiteral("10");
-			
-			rewrite.getListRewrite(arrayCreation, ArrayCreation.DIMENSIONS_PROPERTY).insertLast(literal, null);
-		}
-		{	// remove all dimension except one, no dimension expression
-			// insert the initializer: formatter problems
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(2);
-			ArrayType arrayType= arrayCreation.getType();			
-			PrimitiveType intType= ast.newPrimitiveType(PrimitiveType.INT); 
-			ArrayType newArrayType= ast.newArrayType(intType, 1);
-			
-			rewrite.replace(arrayType, newArrayType, null);
-			
-			List dimensions= arrayCreation.dimensions();
-			assertTrue("Number of dimension expressions not 1", dimensions.size() == 1);
-			
-			rewrite.remove((ASTNode) dimensions.get(0), null);
-			
-			ArrayInitializer initializer= ast.newArrayInitializer();
-			List expressions= initializer.expressions();
-			expressions.add(ast.newNumberLiteral("10"));
-		}
-		{	// add 2 dimension expressions
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(3);
-			
-			List dimensions= arrayCreation.dimensions();
-			assertTrue("Number of dimension expressions not 1", dimensions.size() == 1);
-			
-			NumberLiteral literal1= ast.newNumberLiteral("10");
-			rewrite.getListRewrite(arrayCreation, ArrayCreation.DIMENSIONS_PROPERTY).insertLast(literal1, null);
-
-			NumberLiteral literal2= ast.newNumberLiteral("11");
-			rewrite.getListRewrite(arrayCreation, ArrayCreation.DIMENSIONS_PROPERTY).insertLast(literal2, null);
-
-		}
-		{	// add 2 empty dimensions
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(4);
-			ArrayType arrayType= arrayCreation.getType();
-			assertTrue("Number of dimension not 3", arrayType.getDimensions() == 3);
-			
-			PrimitiveType intType= ast.newPrimitiveType(PrimitiveType.INT); 
-			ArrayType newArrayType= ast.newArrayType(intType, 5);
-			
-			rewrite.replace(arrayType, newArrayType, null);
-		}
-		{	// replace dimension expression, add a dimension expression
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(5);
-
-			List dimensions= arrayCreation.dimensions();
-			assertTrue("Number of dimension expressions not 1", dimensions.size() == 1);
-
-			NumberLiteral literal1= ast.newNumberLiteral("10");
-			rewrite.replace((ASTNode) dimensions.get(0), literal1, null);
-			
-			NumberLiteral literal2= ast.newNumberLiteral("11");
-			rewrite.getListRewrite(arrayCreation, ArrayCreation.DIMENSIONS_PROPERTY).insertLast(literal2, null);
-
-		}			
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(new float[][] { 1, 2, 3 },\n");
-		buf.append("        new int[10],\n");
-		buf.append("        new int[],\n");
-		buf.append("        new int[2][10][11],\n");
-		buf.append("        new int[2][][][][],\n");
-		buf.append("        new int[10][11][]);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-
-	public void testArrayInitializer() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(new int[] { 1, 2, 3 },\n");
-		buf.append("        new int[] { 1, 2, 3 },\n");
-		buf.append("        new int[] { 1, 2, 3 });\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		ExpressionStatement statement= (ExpressionStatement) statements.get(0);
-		MethodInvocation invocation= (MethodInvocation) statement.getExpression();
-		List args= invocation.arguments();
-	
-		{	// remove first and last initializer expression
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(0);
-			ArrayInitializer initializer= arrayCreation.getInitializer();
-			
-			List expressions= initializer.expressions();
-			assertTrue("Number of initializer expressions not 3", expressions.size() == 3);
-			
-			rewrite.remove((ASTNode) expressions.get(0), null);
-			rewrite.remove((ASTNode) expressions.get(2), null);
-		}
-		{	// insert at second and last position
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(1);
-			ArrayInitializer initializer= arrayCreation.getInitializer();
-			
-			List expressions= initializer.expressions();
-			assertTrue("Number of initializer expressions not 3", expressions.size() == 3);
-
-			NumberLiteral literal1= ast.newNumberLiteral("10");
-			rewrite.getListRewrite(initializer, ArrayInitializer.EXPRESSIONS_PROPERTY).insertAfter(literal1, (ASTNode) expressions.get(0), null);
-			
-			NumberLiteral literal2= ast.newNumberLiteral("11");
-			rewrite.getListRewrite(initializer, ArrayInitializer.EXPRESSIONS_PROPERTY).insertLast(literal2, null);
-
-		}		
-		{	// replace first and last initializer expression
-			ArrayCreation arrayCreation= (ArrayCreation) args.get(2);
-			ArrayInitializer initializer= arrayCreation.getInitializer();
-			
-			List expressions= initializer.expressions();
-			assertTrue("Number of initializer expressions not 3", expressions.size() == 3);
-
-			NumberLiteral literal1= ast.newNumberLiteral("10");
-			NumberLiteral literal2= ast.newNumberLiteral("11");
-			
-			rewrite.replace((ASTNode) expressions.get(0), literal1, null);
-			rewrite.replace((ASTNode) expressions.get(2), literal2, null);
-		}		
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(new int[] { 2 },\n");
-		buf.append("        new int[] { 1, 10, 2, 3, 11 },\n");
-		buf.append("        new int[] { 10, 2, 11 });\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	
-	public void testAssignment() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i, j;\n");
-		buf.append("        i= 0;\n");
-		buf.append("        i-= j= 3;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-		{ // change left side & right side
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(1);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			SimpleName name= ast.newSimpleName("j");
-			rewrite.replace(assignment.getLeftHandSide(), name, null);
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("goo"));
-			invocation.setExpression(ast.newSimpleName("other"));
-			
-			rewrite.replace(assignment.getRightHandSide(), invocation, null);
-		}
-		{ // change operator and operator of inner
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(2);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			rewrite.set(assignment, Assignment.OPERATOR_PROPERTY, Assignment.Operator.DIVIDE_ASSIGN, null);
-			
-			Assignment inner= (Assignment) assignment.getRightHandSide();
-						
-			rewrite.set(inner, Assignment.OPERATOR_PROPERTY, Assignment.Operator.RIGHT_SHIFT_UNSIGNED_ASSIGN, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i, j;\n");
-		buf.append("        j= other.goo();\n");
-		buf.append("        i/= j>>>= 3;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-
-	public void testCastExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        x= (E) clone();\n");
-		buf.append("        z= y.toList();\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 2", statements.size() == 2);
-		{ // change cast type and cast expression
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			CastExpression expression= (CastExpression) assignment.getRightHandSide();
-			SimpleType newType= ast.newSimpleType(ast.newSimpleName("SuperE"));
-			rewrite.replace(expression.getType(), newType, null);
-			
-			SimpleName newExpression= ast.newSimpleName("a");
-			rewrite.replace(expression.getExpression(), newExpression, null);
-		}
-		{ // create cast
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(1);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			Expression rightHand= assignment.getRightHandSide();
-			
-			Expression placeholder= (Expression) rewrite.createCopyTarget(rightHand);
-			
-			CastExpression newCastExpression= ast.newCastExpression();
-			newCastExpression.setType(ast.newSimpleType(ast.newSimpleName("List")));
-			newCastExpression.setExpression(placeholder);
-			
-			rewrite.replace(rightHand, newCastExpression, null);
-		}	
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        x= (SuperE) a;\n");
-		buf.append("        z= (List) y.toList();\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	
-	public void testCastExpression_bug28824() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        z= foo().y.toList();\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // create cast
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			Expression rightHand= assignment.getRightHandSide();
-			
-			String rightHandString= cu.getBuffer().getText(rightHand.getStartPosition(), rightHand.getLength());
-			assertEqualString(rightHandString, "foo().y.toList()");
-			
-			Expression placeholder= (Expression) rewrite.createCopyTarget(rightHand);
-			
-			CastExpression newCastExpression= ast.newCastExpression();
-			newCastExpression.setType(ast.newSimpleType(ast.newSimpleName("List")));
-			newCastExpression.setExpression(placeholder);
-			
-			rewrite.replace(rightHand, newCastExpression, null);
-		}		
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        z= (List) foo().y.toList();\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	
-	public void testCatchClause() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } catch (CoreException e) {\n");
-		buf.append("        }\n");			
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 1);
-		List catchClauses= ((TryStatement) statements.get(0)).catchClauses();
-		assertTrue("Number of catchClauses not 2", catchClauses.size() == 2);
-		{ // change exception type
-			CatchClause clause= (CatchClause) catchClauses.get(0);
-			
-			SingleVariableDeclaration exception= clause.getException();
-			
-			SingleVariableDeclaration newException= ast.newSingleVariableDeclaration();
-						
-			newException.setType(ast.newSimpleType(ast.newSimpleName("NullPointerException")));
-			newException.setName(ast.newSimpleName("ex"));
-			
-			rewrite.replace(exception, newException, null);
-		}
-		{ // change body
-			CatchClause clause= (CatchClause) catchClauses.get(1);
-			Block body= clause.getBody();
-			
-			Block newBody= ast.newBlock();
-			ReturnStatement returnStatement= ast.newReturnStatement();
-			newBody.statements().add(returnStatement);
-			
-			rewrite.replace(body, newBody, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");
-		buf.append("        } catch (NullPointerException ex) {\n");
-		buf.append("        } catch (CoreException e) {\n");
-		buf.append("            return;\n");	
-		buf.append("        }\n");			
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-
-	public void testClassInstanceCreation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo().new Inner();\n");
-		buf.append("        new Runnable(\"Hello\") {\n");
-		buf.append("            public void run() {\n");
-		buf.append("            }\n");		
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 2", statements.size() == 2);
-		{ // remove expression, change type name, add argument, add anonym decl
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			ClassInstanceCreation creation= (ClassInstanceCreation) stmt.getExpression();
-
-			rewrite.remove(creation.getExpression(), null);
-			
-			SimpleName newName= ast.newSimpleName("NewInner");
-			rewrite.replace(creation.getName(), newName, null);
-			
-			StringLiteral stringLiteral1= ast.newStringLiteral();
-			stringLiteral1.setLiteralValue("Hello");
-			rewrite.getListRewrite(creation, ClassInstanceCreation.ARGUMENTS_PROPERTY).insertLast(stringLiteral1, null);
-
-			
-			StringLiteral stringLiteral2= ast.newStringLiteral();
-			stringLiteral2.setLiteralValue("World");
-			rewrite.getListRewrite(creation, ClassInstanceCreation.ARGUMENTS_PROPERTY).insertLast(stringLiteral2, null);
-			
-			assertTrue("Has anonym class decl", creation.getAnonymousClassDeclaration() == null);
-			
-			AnonymousClassDeclaration anonymDecl= ast.newAnonymousClassDeclaration();
-			MethodDeclaration anonymMethDecl= createNewMethod(ast, "newMethod", false);
-			anonymDecl.bodyDeclarations().add(anonymMethDecl);
-			
-			rewrite.set(creation, ClassInstanceCreation.ANONYMOUS_CLASS_DECLARATION_PROPERTY, anonymDecl, null);			
-
-		}
-		{ // add expression, remove argument, remove anonym decl 
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(1);
-			ClassInstanceCreation creation= (ClassInstanceCreation) stmt.getExpression();
-
-			assertTrue("Has expression", creation.getExpression() == null);
-			
-			SimpleName newExpression= ast.newSimpleName("x");
-			rewrite.set(creation, ClassInstanceCreation.EXPRESSION_PROPERTY, newExpression, null);			
-
-			
-			List arguments= creation.arguments();
-			assertTrue("Must have 1 argument", arguments.size() == 1);
-			
-			rewrite.remove((ASTNode) arguments.get(0), null);
-			
-			rewrite.remove(creation.getAnonymousClassDeclaration(), null);
-		}
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new NewInner(\"Hello\", \"World\") {\n");
-		buf.append("            private void newMethod(String str) {\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("        x.new Runnable();\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	public void testConditionalExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= (k == 0) ? 1 : 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // change compare expression, then expression & else expression
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			ConditionalExpression condExpression= (ConditionalExpression) assignment.getRightHandSide();
-			
-			BooleanLiteral literal= ast.newBooleanLiteral(true);
-			rewrite.replace(condExpression.getExpression(), literal, null);
-			
-			SimpleName newThenExpre= ast.newSimpleName("x");
-			rewrite.replace(condExpression.getThenExpression(), newThenExpre, null);
-			
-			InfixExpression infixExpression= ast.newInfixExpression();
-			infixExpression.setLeftOperand(ast.newNumberLiteral("1"));
-			infixExpression.setRightOperand(ast.newNumberLiteral("2"));
-			infixExpression.setOperator(InfixExpression.Operator.PLUS);
-			
-			rewrite.replace(condExpression.getElseExpression(), infixExpression, null);
-		}
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= true ? x : 1 + 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	public void testFieldAccess() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        foo().i= goo().i;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // replace field expression, replace field name
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			FieldAccess leftFieldAccess= (FieldAccess) assignment.getLeftHandSide();
-			FieldAccess rightFieldAccess= (FieldAccess) assignment.getRightHandSide();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("xoo"));
-			rewrite.replace(leftFieldAccess.getExpression(), invocation, null);
-			
-			SimpleName newName= ast.newSimpleName("x");
-			rewrite.replace(leftFieldAccess.getName(), newName, null);
-
-			SimpleName rightHand= ast.newSimpleName("b");
-			rewrite.replace(rightFieldAccess.getExpression(), rightHand, null);
-		}
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        xoo().x= b.i;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	public void testInfixExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= 1 + 2;\n");
-		buf.append("        j= 1 + 2 + 3 + 4 + 5;\n");
-		buf.append("        k= 1 + 2 + 3 + 4 + 5;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-		{ // change left side & right side & operand
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			InfixExpression expr= (InfixExpression) assignment.getRightHandSide();
-			
-			SimpleName leftOp= ast.newSimpleName("k");
-			rewrite.replace(expr.getLeftOperand(), leftOp, null);	
-
-			SimpleName rightOp= ast.newSimpleName("j");
-			rewrite.replace(expr.getRightOperand(), rightOp, null);	
-			
-			// change operand
-			rewrite.set(expr, InfixExpression.OPERATOR_PROPERTY, InfixExpression.Operator.MINUS, null);
-		}
-		
-		{ // remove an ext. operand, add one and replace one
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(1);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			InfixExpression expr= (InfixExpression) assignment.getRightHandSide();
-			
-			List extendedOperands= expr.extendedOperands();
-			assertTrue("Number of extendedOperands not 3", extendedOperands.size() == 3);
-			
-			rewrite.remove((ASTNode) extendedOperands.get(0), null);
-			
-			SimpleName newOp1= ast.newSimpleName("k");
-			rewrite.replace((ASTNode) extendedOperands.get(1), newOp1, null);
-			
-			SimpleName newOp2= ast.newSimpleName("n");
-			rewrite.getListRewrite(expr, InfixExpression.EXTENDED_OPERANDS_PROPERTY).insertLast(newOp2, null);
-
-		}
-		
-		{ // change operand
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(2);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			InfixExpression expr= (InfixExpression) assignment.getRightHandSide();			
-			
-			rewrite.set(expr, InfixExpression.OPERATOR_PROPERTY, InfixExpression.Operator.TIMES, null);
-		}			
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= k - j;\n");
-		buf.append("        j= 1 + 2 + k + 5 + n;\n");
-		buf.append("        k= 1 * 2 * 3 * 4 * 5;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-
-	public void testInstanceofExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(k instanceof Vector);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // change left side & right side
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			MethodInvocation invocation= (MethodInvocation) stmt.getExpression();
-			
-			List arguments= invocation.arguments();
-			InstanceofExpression expr= (InstanceofExpression) arguments.get(0);
-			
-			SimpleName name= ast.newSimpleName("x");
-			rewrite.replace(expr.getLeftOperand(), name, null);
-			
-			Type newCastType= ast.newSimpleType(ast.newSimpleName("List"));
-
-			rewrite.replace(expr.getRightOperand(), newCastType, null);
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(x instanceof List);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	public void testMethodInvocation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        foo(1, 2).goo();\n");
-		buf.append("        foo(1, 2).goo();\n");
-		buf.append("        foo(1, 2).goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-		{ // remove expression, add param, change name
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			MethodInvocation invocation= (MethodInvocation) stmt.getExpression();
-			
-			rewrite.remove(invocation.getExpression(), null);
-			
-			SimpleName name= ast.newSimpleName("x");
-			rewrite.replace(invocation.getName(), name, null);
-			
-			ASTNode arg= ast.newNumberLiteral("1");
-			rewrite.getListRewrite(invocation, MethodInvocation.ARGUMENTS_PROPERTY).insertLast(arg, null);
-
-		}
-		{ // insert expression, delete params
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(1);
-			MethodInvocation invocation= (MethodInvocation) stmt.getExpression();
-			
-			MethodInvocation leftInvocation= (MethodInvocation) invocation.getExpression();
-			
-			SimpleName newExpression= ast.newSimpleName("x");
-			rewrite.set(leftInvocation, MethodInvocation.EXPRESSION_PROPERTY, newExpression, null);
-			
-			List args= leftInvocation.arguments();
-			rewrite.remove((ASTNode) args.get(0), null);
-			rewrite.remove((ASTNode) args.get(1), null);
-		}
-		{ // remove expression, add it as parameter
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(2);
-			MethodInvocation invocation= (MethodInvocation) stmt.getExpression();
-			
-			ASTNode placeHolder= rewrite.createCopyTarget(invocation.getExpression());
-			
-			rewrite.set(invocation, MethodInvocation.EXPRESSION_PROPERTY, null, null);
-
-			rewrite.getListRewrite(invocation, MethodInvocation.ARGUMENTS_PROPERTY).insertLast(placeHolder, null);
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        x(1);\n");
-		buf.append("        x.foo().goo();\n");		
-		buf.append("        goo(foo(1, 2));\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-
-	public void testMethodParamsRenameReorder() throws Exception {
-		if (true)
-			return;
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void m(boolean y, int a) {\n");
-		buf.append("        m(y, a);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "m");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ 
-			//params 
-			List params= methodDecl.parameters();
-			SingleVariableDeclaration firstParam= (SingleVariableDeclaration) params.get(0);
-			SingleVariableDeclaration secondParam= (SingleVariableDeclaration) params.get(1);
-
-			//args
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			MethodInvocation invocation= (MethodInvocation) stmt.getExpression();
-			List arguments= invocation.arguments();
-			SimpleName first= (SimpleName) arguments.get(0);
-			SimpleName second= (SimpleName) arguments.get(1);
-			
-
-			//rename args
-			SimpleName newFirstArg= methodDecl.getAST().newSimpleName("yyy");
-			SimpleName newSecondArg= methodDecl.getAST().newSimpleName("bb");
-			rewrite.replace(first, newFirstArg, null);
-			rewrite.replace(second, newSecondArg, null);
-			
-
-			//rename params
-			SimpleName newFirstName= methodDecl.getAST().newSimpleName("yyy");
-			SimpleName newSecondName= methodDecl.getAST().newSimpleName("bb");
-			rewrite.replace(firstParam.getName(), newFirstName, null);
-			rewrite.replace(secondParam.getName(), newSecondName, null);
-			
-			//reoder params
-			ASTNode paramplaceholder1= rewrite.createCopyTarget(firstParam);
-			ASTNode paramplaceholder2= rewrite.createCopyTarget(secondParam);
-			
-			rewrite.replace(firstParam, paramplaceholder2, null);
-			rewrite.replace(secondParam, paramplaceholder1, null);
-			
-			//reorder args
-			ASTNode placeholder1= rewrite.createCopyTarget(first);
-			ASTNode placeholder2= rewrite.createCopyTarget(second);
-			
-			rewrite.replace(first, placeholder2, null);
-			rewrite.replace(second, placeholder1, null);
-
-			
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void m(int bb, boolean yyy) {\n");
-		buf.append("        m(bb, yyy);\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	public void testMethodInvocation1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        foo(foo(1, 2), 3);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // remove expression, add param, change name
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			MethodInvocation invocation= (MethodInvocation) stmt.getExpression();
-			
-			List arguments= invocation.arguments();
-			MethodInvocation first= (MethodInvocation) arguments.get(0);
-			ASTNode second= (ASTNode) arguments.get(1);
-			
-			ASTNode placeholder1= rewrite.createCopyTarget(first);
-			ASTNode placeholder2= rewrite.createCopyTarget(second);
-			
-			rewrite.replace(first, placeholder2, null);
-			rewrite.replace(second, placeholder1, null);
-			
-			List innerArguments= first.arguments();
-			ASTNode innerFirst= (ASTNode) innerArguments.get(0);
-			ASTNode innerSecond= (ASTNode) innerArguments.get(1);
-			
-			ASTNode innerPlaceholder1= rewrite.createCopyTarget(innerFirst);
-			ASTNode innerPlaceholder2= rewrite.createCopyTarget(innerSecond);
-			
-			rewrite.replace(innerFirst, innerPlaceholder2, null);
-			rewrite.replace(innerSecond, innerPlaceholder1, null);			
-			
-			
-			
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        foo(3, foo(2, 1));\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		assertEqualString(preview, buf.toString());
-		
-	}	
-	
-	public void testParenthesizedExpression() throws Exception {
-		//System.out.println(getClass().getName()+"::" + getName() +" disabled (bug 23362)");
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= (1 + 2) * 3;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // replace expression
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			InfixExpression multiplication= (InfixExpression) assignment.getRightHandSide();
-			
-			ParenthesizedExpression parenthesizedExpression= (ParenthesizedExpression) multiplication.getLeftOperand();
-						
-			SimpleName name= ast.newSimpleName("x");
-			rewrite.replace(parenthesizedExpression.getExpression(), name, null);
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= (x) * 3;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-		
-	}
-	
-	public void testPrefixExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= --x;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // modify operand and operation
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			PrefixExpression preExpression= (PrefixExpression) assignment.getRightHandSide();
-					
-			NumberLiteral newOperation= ast.newNumberLiteral("10");
-			rewrite.replace(preExpression.getOperand(), newOperation, null);
-			
-			rewrite.set(preExpression, PrefixExpression.OPERATOR_PROPERTY, PrefixExpression.Operator.COMPLEMENT, null);
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= ~10;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}	
-	
-	public void testPostfixExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= x--;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // modify operand and operation
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			
-			PostfixExpression postExpression= (PostfixExpression) assignment.getRightHandSide();
-					
-			NumberLiteral newOperation= ast.newNumberLiteral("10");
-			rewrite.replace(postExpression.getOperand(), newOperation, null);
-			
-			rewrite.set(postExpression, PostfixExpression.OPERATOR_PROPERTY, PostfixExpression.Operator.INCREMENT, null);
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= 10++;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}		
-
-	public void testSuperConstructorInvocation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("    }\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        foo(i + i).super(i);\n");
-		buf.append("    }\n");
-		buf.append("    public E(int i, int k) {\n");
-		buf.append("        Outer.super(foo(goo(x)), 1);\n");
-		buf.append("    }\n");	
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		List bodyDeclarations= type.bodyDeclarations();
-		assertTrue("Number of bodyDeclarations not 3", bodyDeclarations.size() == 3);
-		{ // add expresssion & parameter
-			MethodDeclaration methodDecl= (MethodDeclaration) bodyDeclarations.get(0);
-			SuperConstructorInvocation invocation= (SuperConstructorInvocation) methodDecl.getBody().statements().get(0);
-
-			SimpleName newExpression= ast.newSimpleName("x");
-			rewrite.set(invocation, SuperConstructorInvocation.EXPRESSION_PROPERTY, newExpression, null);
-
-			ASTNode arg= ast.newNumberLiteral("1");
-			rewrite.getListRewrite(invocation, SuperConstructorInvocation.ARGUMENTS_PROPERTY).insertLast(arg, null);
-
-		}
-		{ // remove expression, replace argument with argument of expression
-			MethodDeclaration methodDecl= (MethodDeclaration) bodyDeclarations.get(1);
-			SuperConstructorInvocation invocation= (SuperConstructorInvocation) methodDecl.getBody().statements().get(0);
-
-			MethodInvocation expression= (MethodInvocation) invocation.getExpression();
-			rewrite.remove(expression, null);
-			
-			ASTNode placeHolder= rewrite.createCopyTarget((ASTNode) expression.arguments().get(0));
-			
-			ASTNode arg1= (ASTNode) invocation.arguments().get(0);
-			
-			rewrite.replace(arg1, placeHolder, null);
-		}
-		{ // remove argument, replace expression with part of argument
-			MethodDeclaration methodDecl= (MethodDeclaration) bodyDeclarations.get(2);
-			SuperConstructorInvocation invocation= (SuperConstructorInvocation) methodDecl.getBody().statements().get(0);
-			
-			MethodInvocation arg1= (MethodInvocation) invocation.arguments().get(0);
-			rewrite.remove(arg1, null);
-			
-			ASTNode placeHolder= rewrite.createCopyTarget((ASTNode) arg1.arguments().get(0));
-			
-			rewrite.replace(invocation.getExpression(), placeHolder, null);
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("        x.super(1);\n");
-		buf.append("    }\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        super(i + i);\n");
-		buf.append("    }\n");
-		buf.append("    public E(int i, int k) {\n");
-		buf.append("        goo(x).super(1);\n");
-		buf.append("    }\n");	
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	public void testSuperFieldInvocation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        super.x= Outer.super.y;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-			
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // insert qualifier, replace field name, delete qualifier
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			Assignment assignment= (Assignment) stmt.getExpression();
-			SuperFieldAccess leftFieldAccess= (SuperFieldAccess) assignment.getLeftHandSide();
-			SuperFieldAccess rightFieldAccess= (SuperFieldAccess) assignment.getRightHandSide();
-			
-			SimpleName newQualifier= ast.newSimpleName("X");
-			rewrite.set(leftFieldAccess, SuperFieldAccess.QUALIFIER_PROPERTY, newQualifier, null);
-
-			SimpleName newName= ast.newSimpleName("y");
-			rewrite.replace(leftFieldAccess.getName(), newName, null);
-
-			rewrite.remove(rightFieldAccess.getQualifier(), null);
-		}
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        X.super.y= super.y;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}	
-	public void testSuperMethodInvocation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        super.foo();\n");
-		buf.append("        Outer.super.foo(i);\n");		
-		buf.append("        Outer.super.foo(foo(X.goo()), 1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-		{ // add qualifier & parameter
-			ExpressionStatement statement= (ExpressionStatement) statements.get(0);
-			SuperMethodInvocation invocation= (SuperMethodInvocation) statement.getExpression();
-
-			SimpleName newExpression= ast.newSimpleName("X");
-			rewrite.set(invocation, SuperMethodInvocation.QUALIFIER_PROPERTY, newExpression, null);
-			
-			ASTNode arg= ast.newNumberLiteral("1");
-			rewrite.getListRewrite(invocation, SuperMethodInvocation.ARGUMENTS_PROPERTY).insertLast(arg, null);
-		}
-		{ // remove qualifier, replace argument with argument of expression
-			ExpressionStatement statement= (ExpressionStatement) statements.get(1);
-			SuperMethodInvocation invocation= (SuperMethodInvocation) statement.getExpression();
-
-			Name qualifier= invocation.getQualifier();
-			rewrite.remove(qualifier, null);
-			
-			Name placeHolder= (Name) rewrite.createCopyTarget(qualifier);
-			
-			FieldAccess newFieldAccess= ast.newFieldAccess();
-			newFieldAccess.setExpression(placeHolder);
-			newFieldAccess.setName(ast.newSimpleName("count"));
-			
-			ASTNode arg1= (ASTNode) invocation.arguments().get(0);
-			rewrite.replace(arg1, newFieldAccess, null);
-		}
-		{ // remove argument, replace qualifier with part argument qualifier
-			ExpressionStatement statement= (ExpressionStatement) statements.get(2);
-			SuperMethodInvocation invocation= (SuperMethodInvocation) statement.getExpression();
-			
-			MethodInvocation arg1= (MethodInvocation) invocation.arguments().get(0);
-			rewrite.remove(arg1, null);
-			
-			MethodInvocation innerArg= (MethodInvocation) arg1.arguments().get(0);
-			
-			ASTNode placeHolder= rewrite.createCopyTarget(innerArg.getExpression());
-			
-			rewrite.replace(invocation.getQualifier(), placeHolder, null);
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        X.super.foo(1);\n");
-		buf.append("        super.foo(Outer.count);\n");		
-		buf.append("        X.super.foo(1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	public void testThisExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        return this;\n");		
-		buf.append("        return Outer.this;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 2", statements.size() == 2);
-		{ // add qualifier
-			ReturnStatement returnStatement= (ReturnStatement) statements.get(0);
-			
-			ThisExpression thisExpression= (ThisExpression) returnStatement.getExpression();
-
-			SimpleName newExpression= ast.newSimpleName("X");
-			rewrite.set(thisExpression, ThisExpression.QUALIFIER_PROPERTY, newExpression, null);
-		}
-		{ // remove qualifier
-			ReturnStatement returnStatement= (ReturnStatement) statements.get(1);
-			
-			ThisExpression thisExpression= (ThisExpression) returnStatement.getExpression();
-
-			rewrite.remove(thisExpression.getQualifier(), null);
-		}
-
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        return X.this;\n");		
-		buf.append("        return this;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-	
-	public void testTypeLiteral() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        return E.class;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // replace type
-			ReturnStatement returnStatement= (ReturnStatement) statements.get(0);
-			
-			TypeLiteral typeLiteral= (TypeLiteral) returnStatement.getExpression();
-
-			Type newType= ast.newPrimitiveType(PrimitiveType.VOID);
-			
-			rewrite.replace(typeLiteral.getType(), newType, null);
-		}
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        return void.class;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-		
-	}
-			
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingInsertBoundTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingInsertBoundTest.java
deleted file mode 100644
index c927b2d..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingInsertBoundTest.java
+++ /dev/null
@@ -1,1621 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.PrimitiveType;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ListRewrite;
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-
-public class ASTRewritingInsertBoundTest extends ASTRewritingTest {
-
-	private static final Class THIS= ASTRewritingInsertBoundTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-	
-	
-
-	public ASTRewritingInsertBoundTest(String name) {
-		super(name);
-	}
-	
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingInsertBoundTest("testRemove3"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	private MethodDeclaration newMethodDeclaration(AST ast, String name) {
-		MethodDeclaration decl= ast.newMethodDeclaration();
-		decl.setName(ast.newSimpleName(name));
-		decl.setBody(null);
-		decl.setReturnType(ast.newPrimitiveType(PrimitiveType.VOID));
-		return decl;
-	}
-	
-	private FieldDeclaration newFieldDeclaration(AST ast, String name) {
-		VariableDeclarationFragment frag= ast.newVariableDeclarationFragment();
-		frag.setName(ast.newSimpleName(name));
-		FieldDeclaration decl= ast.newFieldDeclaration(frag);
-		decl.setType(ast.newPrimitiveType(PrimitiveType.INT));
-		return decl;
-	}	
-	
-	
-	public void testInsert1() throws Exception {
-		// insert first and last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertFirst(decl1, null);
-		listRewrite.insertLast(decl2, null);
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testInsert3() throws Exception {
-		// insert 2 x beween 
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-		
-		ASTNode middleDecl= (ASTNode) decls.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, middleDecl, null);
-		listRewrite.insertAfter(decl2, middleDecl, null);
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testInsert2() throws Exception {
-		// insert first and last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-		MethodDeclaration decl3= newMethodDeclaration(ast, "new3");
-		MethodDeclaration decl4= newMethodDeclaration(ast, "new4");
-				
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertFirst(decl1, null);
-		listRewrite.insertAfter(decl2, decl1, null);
-		listRewrite.insertLast(decl3, null);
-		listRewrite.insertAfter(decl4, decl3, null);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("    void new3();\n");
-		buf.append("\n");
-		buf.append("    void new4();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}	
-
-	public void testInsert1Before() throws Exception {
-		// insert 2x first and 2xlast
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertFirst(decl1, null);
-		listRewrite.insertLast(decl2, null);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testInsert2Before() throws Exception {
-		// insert 2x first and 2 x last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-		FieldDeclaration decl3= newFieldDeclaration(ast, "new3");
-		FieldDeclaration decl4= newFieldDeclaration(ast, "new4");
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertFirst(decl1, null);
-		listRewrite.insertAfter(decl2, decl1, null);
-		listRewrite.insertLast(decl3, null);
-		listRewrite.insertAfter(decl4, decl3, null);
-		
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("    int new3;\n");
-		buf.append("\n");
-		buf.append("    int new4;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	public void testInsert3Before() throws Exception {
-		// insert 2 x beween 
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-
-		ASTNode middleDecl= (ASTNode) decls.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, middleDecl, null);
-		listRewrite.insertAfter(decl2, middleDecl, null);
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");	
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemove1() throws Exception {
-		// remove first and last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemove2() throws Exception {
-		// remove second
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(1), null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemove3() throws Exception {
-		// remove 2nd and 3rd
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(1), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemove4() throws Exception {
-		// remove all
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(1), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testRemoveInsert1() throws Exception {
-		// remove first add before first, remove last add after last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertFirst(decl1, null);
-		listRewrite.insertLast(decl2, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemoveInsert2() throws Exception {
-		// remove first add 2x first, remove last add 2x  last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-		MethodDeclaration decl3= newMethodDeclaration(ast, "new3");
-		MethodDeclaration decl4= newMethodDeclaration(ast, "new4");
-		
-		ASTNode firstDecl= (ASTNode) decls.get(0);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, firstDecl, null);
-		listRewrite.insertAfter(decl2, firstDecl, null);
-		listRewrite.insertLast(decl3, null);
-		listRewrite.insertAfter(decl4, decl3, null);
-		
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    void new3();\n");
-		buf.append("\n");
-		buf.append("    void new4();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemoveInsert3() throws Exception {
-		// remove middle, add before, add after
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(1), null);
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-		
-		ASTNode middleDecl= (ASTNode) decls.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, middleDecl, null);
-		listRewrite.insertAfter(decl2, middleDecl, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testRemoveInsert1Before() throws Exception {
-		// remove first add before first, remove last add after last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-				
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertFirst(decl1, null);
-		listRewrite.insertLast(decl2, null);
-		
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemoveInsert2Before() throws Exception {
-		// remove first add 2x first, remove last add 2x  last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-		FieldDeclaration decl3= newFieldDeclaration(ast, "new3");
-		FieldDeclaration decl4= newFieldDeclaration(ast, "new4");
-
-		ASTNode firstDecl= (ASTNode) decls.get(0);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, firstDecl, null);
-		listRewrite.insertAfter(decl2, firstDecl, null);
-		listRewrite.insertLast(decl3, null);
-		listRewrite.insertAfter(decl4, decl3, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    int new3;\n");
-		buf.append("\n");
-		buf.append("    int new4;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemoveInsert3Before() throws Exception {
-		// remove middle, add before, add after
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(1), null);
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-
-		ASTNode middleDecl= (ASTNode) decls.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, middleDecl, null);
-		listRewrite.insertAfter(decl2, middleDecl, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");		
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemoveInsert4() throws Exception {
-		// remove first and add after first, remove last and add before last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-
-		ASTNode middleDecl= (ASTNode) decls.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, middleDecl, null);
-		listRewrite.insertAfter(decl2, middleDecl, null);	   
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testRemoveInsert4Before() throws Exception {
-		// remove first and add after first, remove last and add before last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-
-		ASTNode middleDecl= (ASTNode) decls.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, middleDecl, null);
-		listRewrite.insertAfter(decl2, middleDecl, null);	
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	public void testRemoveInsert5() throws Exception {
-		// remove first and add after and before first, remove last and add after and before last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-		MethodDeclaration decl3= newMethodDeclaration(ast, "new3");
-		MethodDeclaration decl4= newMethodDeclaration(ast, "new4");
-		
-		ASTNode firstDecl= (ASTNode) decls.get(0);
-		ASTNode lastDecl= (ASTNode) decls.get(2);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, firstDecl, null);
-		listRewrite.insertAfter(decl2, firstDecl, null);
-		listRewrite.insertBefore(decl3, lastDecl, null);
-		listRewrite.insertAfter(decl4, lastDecl, null);
-		
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    void new3();\n");
-		buf.append("\n");
-		buf.append("    void new4();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testRemoveInsert5Before() throws Exception {
-		// remove first and add after first, remove last and add before last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-		FieldDeclaration decl3= newFieldDeclaration(ast, "new3");
-		FieldDeclaration decl4= newFieldDeclaration(ast, "new4");
-
-		ASTNode firstDecl= (ASTNode) decls.get(0);
-		ASTNode lastDecl= (ASTNode) decls.get(2);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, firstDecl, null);
-		listRewrite.insertAfter(decl2, firstDecl, null);
-		listRewrite.insertBefore(decl3, lastDecl, null);
-		listRewrite.insertAfter(decl4, lastDecl, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("    int new3;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    int new4;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-
-	public void testRemoveInsert6() throws Exception {
-		// remove all, add before first and after last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(1), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertFirst(decl1, null);
-		listRewrite.insertLast(decl2, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemoveInsert6Before() throws Exception {
-		// remove all, add before first and after last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(1), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertFirst(decl1, null);
-		listRewrite.insertLast(decl2, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-
-	public void testRemoveInsert7() throws Exception {
-		// remove all, add after first and before last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public void foo1();\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public void foo2();\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public void foo3();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(1), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		MethodDeclaration decl1= newMethodDeclaration(ast, "new1");
-		MethodDeclaration decl2= newMethodDeclaration(ast, "new2");
-
-		ASTNode middleDecl= (ASTNode) decls.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, middleDecl, null);
-		listRewrite.insertAfter(decl2, middleDecl, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    void new1();\n");
-		buf.append("\n");
-		buf.append("    void new2();\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemoveInsert7Before() throws Exception {
-		// remove all, add after first and before last
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("//c2\n");
-		buf.append("\n");
-		buf.append("    public int x2;\n");
-		buf.append("\n");
-		buf.append("//c3\n");
-		buf.append("\n");
-		buf.append("    public int x3;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		List decls= type.bodyDeclarations();
-
-		rewrite.remove((ASTNode) decls.get(0), null);
-		rewrite.remove((ASTNode) decls.get(1), null);
-		rewrite.remove((ASTNode) decls.get(2), null);
-		
-		FieldDeclaration decl1= newFieldDeclaration(ast, "new1");
-		FieldDeclaration decl2= newFieldDeclaration(ast, "new2");
-
-		ASTNode middleDecl= (ASTNode) decls.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-		listRewrite.insertBefore(decl1, middleDecl, null);
-		listRewrite.insertAfter(decl2, middleDecl, null);
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("//c1\n");
-		buf.append("\n");
-		buf.append("    int new1;\n");
-		buf.append("\n");
-		buf.append("    int new2;\n");
-		buf.append("\n");
-		buf.append("//c4\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-
-}
-
-
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingJavadocTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingJavadocTest.java
deleted file mode 100644
index c5e4759..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingJavadocTest.java
+++ /dev/null
@@ -1,909 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ListRewrite;
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-
-public class ASTRewritingJavadocTest extends ASTRewritingTest {
-	
-	private static final Class THIS= ASTRewritingJavadocTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ASTRewritingJavadocTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingJavadocTest("testVariableDeclarationFragment"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	public void testParamName() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name Hello World.\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			TagElement tagElement= (TagElement) tags.get(0);
-			List fragments= tagElement.fragments();
-			assertTrue("Has fragments", !fragments.isEmpty());
-			
-			SimpleName name= (SimpleName) fragments.get(0);
-			rewrite.replace(name, ast.newSimpleName("newName"), null);
-			}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param newName Hello World.\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testSeeTag1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @see String A String\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			TagElement tagElement= (TagElement) tags.get(0);
-			List fragments= tagElement.fragments();
-			assertTrue("Has fragments", !fragments.isEmpty());
-			
-			SimpleName name= (SimpleName) fragments.get(0);
-			rewrite.replace(name, ast.newSimpleName("Vector"), null);
-			}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @see Vector A String\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testSeeTag2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @see #toString A String\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			TagElement tagElement= (TagElement) tags.get(0);
-			List fragments= tagElement.fragments();
-			assertTrue("Has fragments", !fragments.isEmpty());
-			
-			MemberRef ref= (MemberRef) fragments.get(0);
-			rewrite.replace(ref.getName(), ast.newSimpleName("hashCode"), null);
-			}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @see #hashCode A String\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testSeeTag3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @see #toString A String\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			TagElement tagElement= (TagElement) tags.get(0);
-			List fragments= tagElement.fragments();
-			assertTrue("Has fragments", !fragments.isEmpty());
-			
-			MemberRef ref= (MemberRef) fragments.get(0);
-			rewrite.set(ref, MemberRef.QUALIFIER_PROPERTY, ast.newSimpleName("E"), null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @see E#toString A String\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testSeeTagParamInsert1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @see #toString() A String\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			TagElement tagElement= (TagElement) tags.get(0);
-			List fragments= tagElement.fragments();
-			assertTrue("Has fragments", !fragments.isEmpty());
-			
-			MethodRef ref= (MethodRef) fragments.get(0);
-			MethodRefParameter param= ast.newMethodRefParameter();
-			param.setName(ast.newSimpleName("arg"));
-			param.setType(ast.newPrimitiveType(PrimitiveType.INT));
-			rewrite.getListRewrite(ref, MethodRef.PARAMETERS_PROPERTY).insertLast(param, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @see #toString(int arg) A String\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testSeeTagParamInsert2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * {@link #toString(int x) A String}\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			TagElement topElement= (TagElement) tags.get(0);
-			List fragments= topElement.fragments();
-			assertTrue("Has fragments", !fragments.isEmpty());
-			
-			TagElement tagElement= (TagElement) fragments.get(0);
-			fragments= tagElement.fragments();
-			assertTrue("Has fragments", !fragments.isEmpty());
-			
-			MethodRef ref= (MethodRef) fragments.get(0);
-			MethodRefParameter param= ast.newMethodRefParameter();
-			param.setName(ast.newSimpleName("arg"));
-			param.setType(ast.newPrimitiveType(PrimitiveType.INT));
-			rewrite.getListRewrite(ref, MethodRef.PARAMETERS_PROPERTY).insertLast(param, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * {@link #toString(int x, int arg) A String}\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testTagInsert1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			TagElement newTag= ast.newTagElement();
-			newTag.setTagName("@throws");
-			newTag.fragments().add(ast.newSimpleName("Exception"));
-			TextElement text= ast.newTextElement();
-			text.setText("Thrown for no reason.");
-			newTag.fragments().add(text);
-
-			rewrite.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY).insertLast(newTag, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name\n");
-		buf.append("     * @throws Exception Thrown for no reason.\n");		
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testTagInsert2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			TagElement newTag= ast.newTagElement();
-			newTag.setTagName("@see");
-			MemberRef ref= ast.newMemberRef();
-			ref.setQualifier(ast.newSimpleName("Vector"));
-			ref.setName(ast.newSimpleName("size"));
-			newTag.fragments().add(ref);
-			
-			rewrite.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY).insertFirst(newTag, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");
-		buf.append("     * @see Vector#size\n");
-		buf.append("     * @param name\n");		
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testTagInsert3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 0);
-			
-			TagElement newTag= ast.newTagElement();
-			newTag.setTagName(null);
-			
-			TextElement text= ast.newTextElement();
-			text.setText("Comment");
-			newTag.fragments().add(text);
-			
-			TagElement nested= ast.newTagElement();
-			nested.setTagName("@link");
-			
-			newTag.fragments().add(nested);
-			
-			MethodRef ref= ast.newMethodRef();
-			ref.setQualifier(ast.newSimpleName("Vector"));
-			ref.setName(ast.newSimpleName("size"));
-			nested.fragments().add(ref);
-			
-			TextElement textNested= ast.newTextElement();
-			textNested.setText("Link");
-			nested.fragments().add(textNested);
-
-			rewrite.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY).insertFirst(newTag, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");
-		buf.append("     * Comment {@link Vector#size() Link}\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testTagRemove1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 1);
-			
-			rewrite.remove((ASTNode) tags.get(0), null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testTagRemove2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name1 The first name.\n");
-		buf.append("     * @param name2 The second name.\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-	
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 2);
-			
-			rewrite.remove((ASTNode) tags.get(0), null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name2 The second name.\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testTagRemove3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name1 The first name.\n");
-		buf.append("     * @param name2 The second name.\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-	
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 2);
-			
-			rewrite.remove((ASTNode) tags.get(1), null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name1 The first name.\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testTagRemoveInsert() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name1 The first name.\n");
-		buf.append("     * @param name2 The second name.\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-	
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= methodDecl.getJavadoc();
-			List tags= javadoc.tags();
-			assertTrue("Has one tag", tags.size() == 2);
-			
-			ListRewrite listRewrite= rewrite.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY);
-			listRewrite.remove((ASTNode) tags.get(1), null);
-			
-			AST ast= astRoot.getAST();
-			TagElement element= ast.newTagElement();
-			element.setTagName("@since");
-			
-			TextElement textElement= ast.newTextElement();
-			textElement.setText("1.1");
-			element.fragments().add(textElement);
-			
-			listRewrite.insertLast(element, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @param name1 The first name.\n");
-		buf.append("     * @since 1.1\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testAddJavadoc() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-	
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			Javadoc javadoc= ast.newJavadoc();
-			TagElement element= ast.newTagElement();
-			element.setTagName("@since");
-			
-			TextElement textElement= ast.newTextElement();
-			textElement.setText("1.1");
-			element.fragments().add(textElement);
-			javadoc.tags().add(element);
-			
-			rewrite.set(methodDecl, MethodDeclaration.JAVADOC_PROPERTY, javadoc, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @since 1.1\n");
-		buf.append("     */\n");
-		buf.append("    public void gee(String name) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testAddJavadoc2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    public int count;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-	
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			FieldDeclaration fieldDecl= type.getFields()[0];
-			
-			Javadoc javadoc= ast.newJavadoc();
-			TagElement element= ast.newTagElement();
-			element.setTagName("@since");
-			
-			TextElement textElement= ast.newTextElement();
-			textElement.setText("1.1");
-			element.fragments().add(textElement);
-			javadoc.tags().add(element);
-			
-			rewrite.set(fieldDecl, FieldDeclaration.JAVADOC_PROPERTY, javadoc, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @since 1.1\n");
-		buf.append("     */\n");
-		buf.append("    public int count;\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testRemoveJavadoc() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    /**\n");			
-		buf.append("     * @since 1.1\n");
-		buf.append("     */\n");
-		buf.append("    static {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-	
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			Initializer initializer= (Initializer) type.bodyDeclarations().get(0);
-			rewrite.remove(initializer.getJavadoc(), null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    static {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testRemoveJavadoc2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");			
-		buf.append(" * @since 1.1\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-	
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			
-			rewrite.remove(type.getJavadoc(), null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingMethodDeclTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingMethodDeclTest.java
deleted file mode 100644
index 0aaa145..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingMethodDeclTest.java
+++ /dev/null
@@ -1,1455 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ListRewrite;
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-
-public class ASTRewritingMethodDeclTest extends ASTRewritingTest {
-	
-	private static final Class THIS= ASTRewritingMethodDeclTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ASTRewritingMethodDeclTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingMethodDeclTest("testMethodDeclChanges"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	public void testMethodDeclChanges() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(int p1, int p2, int p3) {}\n");
-		buf.append("    public void gee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void hee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void iee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public void jee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public abstract void kee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("    public abstract void lee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // convert constructor to method: insert return type
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-			
-			Type newReturnType= astRoot.getAST().newPrimitiveType(PrimitiveType.FLOAT);
-			
-			// from constructor to method
-			rewrite.set(methodDecl, MethodDeclaration.RETURN_TYPE_PROPERTY, newReturnType, null);
-			rewrite.set(methodDecl, MethodDeclaration.CONSTRUCTOR_PROPERTY, Boolean.FALSE, null);
-		}
-		{ // change return type
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			assertTrue("Has no return type: gee", methodDecl.getReturnType() != null);
-			
-			Type returnType= methodDecl.getReturnType();
-			Type newReturnType= astRoot.getAST().newPrimitiveType(PrimitiveType.FLOAT);
-			rewrite.replace(returnType, newReturnType, null);
-		}
-		{ // remove return type
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "hee");
-			assertTrue("Has no return type: hee", methodDecl.getReturnType() != null);
-						
-			// from method to constructor
-			rewrite.set(methodDecl, MethodDeclaration.CONSTRUCTOR_PROPERTY, Boolean.TRUE, null);
-		}
-		{ // rename method name
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "iee");
-			
-			SimpleName name= methodDecl.getName();
-			SimpleName newName= ast.newSimpleName("xii");
-			
-			rewrite.replace(name, newName, null);
-		}				
-		{ // rename first param & last throw statement
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "jee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			SingleVariableDeclaration newParam= createNewParam(ast, "m");
-			rewrite.replace((ASTNode) parameters.get(0), newParam, null);
-						
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 2 thrown exceptions", thrownExceptions.size() == 2);
-			Name newThrownException= ast.newSimpleName("ArrayStoreException");
-			rewrite.replace((ASTNode) thrownExceptions.get(1), newThrownException, null);			
-		}
-		{ // rename first and second param & rename first and last exception
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "kee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");
-			rewrite.replace((ASTNode) parameters.get(0), newParam1, null);
-			rewrite.replace((ASTNode) parameters.get(1), newParam2, null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 3 thrown exceptions", thrownExceptions.size() == 3);
-			Name newThrownException1= ast.newSimpleName("ArrayStoreException");
-			Name newThrownException2= ast.newSimpleName("InterruptedException");
-			rewrite.replace((ASTNode) thrownExceptions.get(0), newThrownException1, null);
-			rewrite.replace((ASTNode) thrownExceptions.get(2), newThrownException2, null);
-		}		
-		{ // rename all params & rename second exception
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "lee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");			
-			SingleVariableDeclaration newParam3= createNewParam(ast, "m3");	
-			rewrite.replace((ASTNode) parameters.get(0), newParam1, null);
-			rewrite.replace((ASTNode) parameters.get(1), newParam2, null);
-			rewrite.replace((ASTNode) parameters.get(2), newParam3, null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 3 thrown exceptions", thrownExceptions.size() == 3);
-			Name newThrownException= ast.newSimpleName("ArrayStoreException");
-			rewrite.replace((ASTNode) thrownExceptions.get(1), newThrownException, null);
-		}				
-		
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public float E(int p1, int p2, int p3) {}\n");
-		buf.append("    public float gee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public hee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void xii(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public void jee(float m, int p2, int p3) throws IllegalArgumentException, ArrayStoreException {}\n");
-		buf.append("    public abstract void kee(float m1, float m2, int p3) throws ArrayStoreException, IllegalAccessException, InterruptedException;\n");
-		buf.append("    public abstract void lee(float m1, float m2, float m3) throws IllegalArgumentException, ArrayStoreException, SecurityException;\n");
-		buf.append("}\n");	
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testListRemoves() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(int p1, int p2, int p3) {}\n");
-		buf.append("    public void gee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void hee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void iee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public void jee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public abstract void kee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("    public abstract void lee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // delete first param
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			rewrite.remove((ASTNode) parameters.get(0), null);
-		}
-		{ // delete second param & remove exception & remove public
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			// change flags
-			rewrite.set(methodDecl, MethodDeclaration.MODIFIERS_PROPERTY, new Integer(0), null);
-			
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			rewrite.remove((ASTNode) parameters.get(1), null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 1 thrown exceptions", thrownExceptions.size() == 1);
-			rewrite.remove((ASTNode) thrownExceptions.get(0), null);
-		}		
-		{ // delete last param
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "hee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			rewrite.remove((ASTNode) parameters.get(2), null);	
-		}				
-		{ // delete first and second param & remove first exception
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "iee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			rewrite.remove((ASTNode) parameters.get(0), null);
-			rewrite.remove((ASTNode) parameters.get(1), null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 2 thrown exceptions", thrownExceptions.size() == 2);
-			rewrite.remove((ASTNode) thrownExceptions.get(0), null);	
-		}				
-		{ // delete first and last param & remove second
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "jee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			rewrite.remove((ASTNode) parameters.get(0), null);
-			rewrite.remove((ASTNode) parameters.get(2), null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 2 thrown exceptions", thrownExceptions.size() == 2);
-			rewrite.remove((ASTNode) thrownExceptions.get(1), null);			
-		}
-		{ // delete second and last param & remove first exception
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "kee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			rewrite.remove((ASTNode) parameters.get(1), null);
-			rewrite.remove((ASTNode) parameters.get(2), null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 3 thrown exceptions", thrownExceptions.size() == 3);
-			rewrite.remove((ASTNode) thrownExceptions.get(1), null);
-		}		
-		{ // delete all params & remove first and last exception
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "lee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			rewrite.remove((ASTNode) parameters.get(0), null);
-			rewrite.remove((ASTNode) parameters.get(1), null);
-			rewrite.remove((ASTNode) parameters.get(2), null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 3 thrown exceptions", thrownExceptions.size() == 3);
-			rewrite.remove((ASTNode) thrownExceptions.get(0), null);
-			rewrite.remove((ASTNode) thrownExceptions.get(2), null);				
-		}				
-
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(int p2, int p3) {}\n");
-		buf.append("    void gee(int p1, int p3) {}\n");
-		buf.append("    public void hee(int p1, int p2) throws IllegalArgumentException {}\n");
-		buf.append("    public void iee(int p3) throws IllegalAccessException {}\n");
-		buf.append("    public void jee(int p2) throws IllegalArgumentException {}\n");
-		buf.append("    public abstract void kee(int p1) throws IllegalArgumentException, SecurityException;\n");
-		buf.append("    public abstract void lee() throws IllegalAccessException;\n");
-		buf.append("}\n");	
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testListInserts() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(int p1, int p2, int p3) {}\n");
-		buf.append("    public void gee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void hee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void iee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public void jee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public abstract void kee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("    public abstract void lee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // insert before first param & insert an exception
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			SingleVariableDeclaration newParam= createNewParam(ast, "m");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY).insertFirst(newParam, null);
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 0 thrown exceptions", thrownExceptions.size() == 0);
-			
-			Name newThrownException= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertFirst(newThrownException, null);
-
-		}
-		{ // insert before second param & insert before first exception & add synchronized
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			// change flags
-			int newModifiers= Modifier.PUBLIC | Modifier.SYNCHRONIZED;
-			rewrite.set(methodDecl, MethodDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			ASTNode secondParam= (ASTNode) parameters.get(1);
-			SingleVariableDeclaration newParam= createNewParam(ast, "m");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY).insertBefore(newParam, secondParam, null);
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 1 thrown exceptions", thrownExceptions.size() == 1);
-			
-			ASTNode firstException= (ASTNode) thrownExceptions.get(0);
-			Name newThrownException= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertBefore(newThrownException, firstException, null);
-		}		
-		{ // insert after last param & insert after first exception & add synchronized, static
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "hee");
-			
-			// change flags
-			int newModifiers= Modifier.PUBLIC | Modifier.SYNCHRONIZED | Modifier.STATIC;
-			rewrite.set(methodDecl, MethodDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-			
-			SingleVariableDeclaration newParam= createNewParam(ast, "m");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY).insertLast(newParam, null);
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 1 thrown exceptions", thrownExceptions.size() == 1);
-			
-			ASTNode firstException= (ASTNode) thrownExceptions.get(0);
-			Name newThrownException= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertAfter(newThrownException, firstException, null);
-
-		}				
-		{ // insert 2 params before first & insert between two exception
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "iee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			ASTNode firstParam= (ASTNode) parameters.get(0);
-			
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");
-			
-			ListRewrite listRewrite = rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY);
-			listRewrite.insertBefore(newParam1, firstParam, null);
-			listRewrite.insertBefore(newParam2, firstParam, null);
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 2 thrown exceptions", thrownExceptions.size() == 2);
-			
-			ASTNode firstException= (ASTNode) thrownExceptions.get(0);
-			Name newThrownException= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertAfter(newThrownException, firstException, null);
-		}			
-		{ // insert 2 params after first & replace the second exception and insert new after
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "jee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			ListRewrite listRewrite = rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY);
-
-			ASTNode firstParam= (ASTNode) parameters.get(0);
-			
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");
-			listRewrite.insertAfter(newParam2, firstParam, null);
-			listRewrite.insertAfter(newParam1, firstParam, null);
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 2 thrown exceptions", thrownExceptions.size() == 2);
-			
-			Name newThrownException1= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException1, null);
-
-			Name newThrownException2= ast.newSimpleName("ArrayStoreException");
-			rewrite.replace((ASTNode) thrownExceptions.get(1), newThrownException2, null);
-		}
-		{ // insert 2 params after last & remove the last exception and insert new after
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "kee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			ListRewrite listRewrite= rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY);
-			ASTNode lastParam= (ASTNode) parameters.get(2);
-			
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");
-
-			listRewrite.insertAfter(newParam2, lastParam, null);
-			listRewrite.insertAfter(newParam1, lastParam, null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 3 thrown exceptions", thrownExceptions.size() == 3);
-			
-			ASTNode lastException= (ASTNode) thrownExceptions.get(2);
-			rewrite.remove(lastException, null);
-			
-			Name newThrownException= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertBefore(newThrownException, lastException, null);
-		}	
-		{ // insert at first and last position & remove 2nd, add after 2nd, remove 3rd
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "lee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			ListRewrite listRewrite= rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY);
-			
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");
-			listRewrite.insertFirst(newParam1, null);
-			listRewrite.insertLast(newParam2, null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 3 thrown exceptions", thrownExceptions.size() == 3);
-			
-			ASTNode secondException= (ASTNode) thrownExceptions.get(1);
-			ASTNode lastException= (ASTNode) thrownExceptions.get(2);
-			rewrite.remove(secondException, null);
-			rewrite.remove(lastException, null);
-			
-			Name newThrownException= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertAfter(newThrownException, secondException, null);
-
-		}				
-
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(float m, int p1, int p2, int p3) throws InterruptedException {}\n");
-		buf.append("    public synchronized void gee(int p1, float m, int p2, int p3) throws InterruptedException, IllegalArgumentException {}\n");
-		buf.append("    public static synchronized void hee(int p1, int p2, int p3, float m) throws IllegalArgumentException, InterruptedException {}\n");
-		buf.append("    public void iee(float m1, float m2, int p1, int p2, int p3) throws IllegalArgumentException, InterruptedException, IllegalAccessException {}\n");
-		buf.append("    public void jee(int p1, float m1, float m2, int p2, int p3) throws IllegalArgumentException, ArrayStoreException, InterruptedException {}\n");
-		buf.append("    public abstract void kee(int p1, int p2, int p3, float m1, float m2) throws IllegalArgumentException, IllegalAccessException, InterruptedException;\n");
-		buf.append("    public abstract void lee(float m1, int p1, int p2, int p3, float m2) throws IllegalArgumentException, InterruptedException;\n");
-		buf.append("}\n");	
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testListInsert() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public abstract void lee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // insert at first and last position & remove 2nd, add after 2nd, remove 3rd
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "lee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			ListRewrite listRewrite= rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY);
-			
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");
-			listRewrite.insertFirst(newParam1, null);
-			listRewrite.insertLast(newParam2, null);
-			
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 3 thrown exceptions", thrownExceptions.size() == 3);
-			
-			rewrite.remove((ASTNode) thrownExceptions.get(1), null);
-			rewrite.remove((ASTNode) thrownExceptions.get(2), null);
-			
-			Name newThrownException= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException, null);
-		}				
-
-
-	
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public abstract void lee(float m1, int p1, int p2, int p3, float m2) throws IllegalArgumentException, InterruptedException;\n");
-		buf.append("}\n");	
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testListCombinations() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(int p1, int p2, int p3) {}\n");
-		buf.append("    public void gee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void hee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void iee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public void jee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public abstract void kee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("    public abstract void lee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // delete all and insert after & insert 2 exceptions
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-		
-			rewrite.remove((ASTNode) parameters.get(0), null);
-			rewrite.remove((ASTNode) parameters.get(1), null);
-			rewrite.remove((ASTNode) parameters.get(2), null);
-
-			SingleVariableDeclaration newParam= createNewParam(ast, "m");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY).insertLast(newParam, null);
-
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 0 thrown exceptions", thrownExceptions.size() == 0);
-			
-			Name newThrownException1= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException1, null);
-
-			Name newThrownException2= ast.newSimpleName("ArrayStoreException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException2, null);
-			
-		}
-		{ // delete first 2, replace last and insert after & replace first exception and insert before
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			rewrite.remove((ASTNode) parameters.get(0), null);
-			rewrite.remove((ASTNode) parameters.get(1), null);
-			
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			rewrite.replace((ASTNode) parameters.get(2), newParam1, null);
-						
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY).insertLast(newParam2, null);
-
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 1 thrown exceptions", thrownExceptions.size() == 1);
-			
-			Name modifiedThrownException= ast.newSimpleName("InterruptedException");
-			rewrite.replace((ASTNode) thrownExceptions.get(0), modifiedThrownException, null);
-						
-			Name newThrownException2= ast.newSimpleName("ArrayStoreException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException2, null);
-
-		}		
-		{ // delete first 2, replace last and insert at first & remove first and insert before
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "hee");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-
-			rewrite.remove((ASTNode) parameters.get(0), null);
-			rewrite.remove((ASTNode) parameters.get(1), null);
-			
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			rewrite.replace((ASTNode) parameters.get(2), newParam1, null);
-						
-			SingleVariableDeclaration newParam2= createNewParam(ast, "m2");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY).insertFirst(newParam2, null);
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 1 thrown exceptions", thrownExceptions.size() == 1);
-			
-			rewrite.remove((ASTNode) thrownExceptions.get(0), null);
-						
-			Name newThrownException2= ast.newSimpleName("ArrayStoreException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException2, null);
-		}				
-
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(float m) throws InterruptedException, ArrayStoreException {}\n");
-		buf.append("    public void gee(float m1, float m2) throws InterruptedException, ArrayStoreException {}\n");
-		buf.append("    public void hee(float m2, float m1) throws ArrayStoreException {}\n");
-		buf.append("    public void iee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public void jee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public abstract void kee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("    public abstract void lee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("}\n");	
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testListCombination() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(int p1, int p2, int p3) {}\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // delete all and insert after & insert 2 exceptions
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-			List parameters= methodDecl.parameters();
-			assertTrue("must be 3 parameters", parameters.size() == 3);
-		
-			rewrite.remove((ASTNode) parameters.get(0), null);
-			rewrite.remove((ASTNode) parameters.get(1), null);
-			rewrite.remove((ASTNode) parameters.get(2), null);
-
-			SingleVariableDeclaration newParam= createNewParam(ast, "m");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY).insertLast(newParam, null);
-
-			List thrownExceptions= methodDecl.thrownExceptions();
-			assertTrue("must be 0 thrown exceptions", thrownExceptions.size() == 0);
-			
-			Name newThrownException1= ast.newSimpleName("InterruptedException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException1, null);
-			
-			Name newThrownException2= ast.newSimpleName("ArrayStoreException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException2, null);
-
-			
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(float m) throws InterruptedException, ArrayStoreException {}\n");
-		buf.append("}\n");	
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testMethodBody() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(int p1, int p2, int p3) {}\n");
-		buf.append("    public void gee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void hee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void iee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public void jee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public abstract void kee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("    public abstract void lee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // replace block
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-			
-			Block body= methodDecl.getBody();
-			assertTrue("No body: E", body != null);
-			
-			Block newBlock= ast.newBlock();
-
-			rewrite.replace(body, newBlock, null);
-		}
-		{ // delete block & set abstract
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-			
-			// change flags
-			int newModifiers= Modifier.PUBLIC | Modifier.ABSTRACT;
-			rewrite.set(methodDecl, MethodDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			Block body= methodDecl.getBody();
-			assertTrue("No body: gee", body != null);
-
-			rewrite.remove(body, null);
-		}
-		{ // insert block & set to private
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "kee");
-			
-			// change flags
-			int newModifiers= Modifier.PRIVATE;
-			rewrite.set(methodDecl, MethodDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			
-			Block body= methodDecl.getBody();
-			assertTrue("Has body", body == null);
-			
-			Block newBlock= ast.newBlock();
-			rewrite.set(methodDecl, MethodDeclaration.BODY_PROPERTY, newBlock, null);
-		}		
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public E(int p1, int p2, int p3) {\n");
-		buf.append("    }\n");
-		buf.append("    public abstract void gee(int p1, int p2, int p3) throws IllegalArgumentException;\n");
-		buf.append("    public void hee(int p1, int p2, int p3) throws IllegalArgumentException {}\n");
-		buf.append("    public void iee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    public void jee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException {}\n");
-		buf.append("    private void kee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException {\n");
-		buf.append("    }\n");
-		buf.append("    public abstract void lee(int p1, int p2, int p3) throws IllegalArgumentException, IllegalAccessException, SecurityException;\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testMethodDeclarationExtraDimensions() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public Object foo1() { return null; }\n");
-		buf.append("    public Object foo2() throws IllegalArgumentException { return null; }\n");
-		buf.append("    public Object foo3()[][] { return null; }\n");
-		buf.append("    public Object foo4()[][] throws IllegalArgumentException { return null; }\n");
-		buf.append("    public Object foo5()[][] { return null; }\n");
-		buf.append("    public Object foo6(int i)[][] throws IllegalArgumentException { return null; }\n");
-		buf.append("    public Object foo7(int i)[][] { return null; }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // add extra dim, add throws
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo1");
-			
-			rewrite.set(methodDecl, MethodDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(1), null);
-			
-			Name newThrownException2= ast.newSimpleName("ArrayStoreException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException2, null);
-
-		}
-		{ // add extra dim, remove throws
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo2");
-			
-			rewrite.set(methodDecl, MethodDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(1), null);
-			
-			rewrite.remove((ASTNode) methodDecl.thrownExceptions().get(0), null);			
-		}		
-		{ // remove extra dim, add throws
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo3");
-
-			rewrite.set(methodDecl, MethodDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(1), null);
-			
-			Name newThrownException2= ast.newSimpleName("ArrayStoreException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException2, null);
-
-		}
-		{ // add extra dim, remove throws
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo4");
-			
-			rewrite.set(methodDecl, MethodDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(1), null);
-			
-			rewrite.remove((ASTNode) methodDecl.thrownExceptions().get(0), null);			
-		}
-		{ // add params, add extra dim, add throws
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo5");
-			
-			SingleVariableDeclaration newParam1= createNewParam(ast, "m1");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY).insertLast(newParam1, null);
-
-			
-			rewrite.set(methodDecl, MethodDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(4), null);
-			
-			Name newThrownException2= ast.newSimpleName("ArrayStoreException");
-			rewrite.getListRewrite(methodDecl, MethodDeclaration.THROWN_EXCEPTIONS_PROPERTY).insertLast(newThrownException2, null);
-	
-		}
-		{ // remove params, add extra dim, remove throws
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo6");
-			
-			rewrite.remove((ASTNode) methodDecl.parameters().get(0), null);		
-			
-			rewrite.set(methodDecl, MethodDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(4), null);
-			
-			rewrite.remove((ASTNode) methodDecl.thrownExceptions().get(0), null);			
-		}
-		{ // remove block
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo7");
-			rewrite.remove(methodDecl.getBody(), null);			
-		}					
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public Object foo1()[] throws ArrayStoreException { return null; }\n");
-		buf.append("    public Object foo2()[] { return null; }\n");
-		buf.append("    public Object foo3()[] throws ArrayStoreException { return null; }\n");
-		buf.append("    public Object foo4()[] { return null; }\n");
-		buf.append("    public Object foo5(float m1)[][][][] throws ArrayStoreException { return null; }\n");
-		buf.append("    public Object foo6()[][][][] { return null; }\n");
-		buf.append("    public Object foo7(int i)[][];\n");		
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	
-	public void testFieldDeclaration() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    int i1= 1;\n");
-		buf.append("    int i2= 1, k2= 2, n2= 3;\n");
-		buf.append("    static final int i3= 1, k3= 2, n3= 3;\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "A");
-		
-		FieldDeclaration[] fieldDeclarations= type.getFields();
-		assertTrue("Number of fieldDeclarations not 3", fieldDeclarations.length == 3);
-		{	// add modifier, change type, add fragment
-			FieldDeclaration decl= fieldDeclarations[0];
-			
-			// add modifier
-			int newModifiers= Modifier.FINAL;
-			rewrite.set(decl, FieldDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			PrimitiveType newType= ast.newPrimitiveType(PrimitiveType.BOOLEAN);
-			rewrite.replace(decl.getType(), newType, null);
-					
-			VariableDeclarationFragment frag=	ast.newVariableDeclarationFragment();
-			frag.setName(ast.newSimpleName("k1"));
-			frag.setInitializer(null);
-
-			rewrite.getListRewrite(decl, FieldDeclaration.FRAGMENTS_PROPERTY).insertLast(frag, null);
-
-		}
-		{	// add modifiers, remove first two fragments, replace last
-			FieldDeclaration decl= fieldDeclarations[1];
-			
-			// add modifier
-			int newModifiers= Modifier.FINAL | Modifier.STATIC | Modifier.TRANSIENT;
-			rewrite.set(decl, FieldDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			List fragments= decl.fragments();
-			assertTrue("Number of fragments not 3", fragments.size() == 3);
-			
-			rewrite.remove((ASTNode) fragments.get(0), null);
-			rewrite.remove((ASTNode) fragments.get(1), null);
-			
-			VariableDeclarationFragment frag=	ast.newVariableDeclarationFragment();
-			frag.setName(ast.newSimpleName("k2"));
-			frag.setInitializer(null);
-			
-			rewrite.replace((ASTNode) fragments.get(2), frag, null);
-		}
-		{	// remove modifiers
-			FieldDeclaration decl= fieldDeclarations[2];
-			
-			// change modifier
-			int newModifiers= 0;
-			rewrite.set(decl, FieldDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    final boolean i1= 1, k1;\n");
-		buf.append("    static final transient int k2;\n");
-		buf.append("    int i3= 1, k3= 2, n3= 3;\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testInitializer() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    {\n");
-		buf.append("        foo();\n");
-		buf.append("    }\n");
-		buf.append("    static {\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "A");
-		
-		List declarations= type.bodyDeclarations();
-		assertTrue("Number of fieldDeclarations not 2", declarations.size() == 2);
-		{	// change modifier, replace body
-			Initializer initializer= (Initializer) declarations.get(0);
-			
-			// add modifier
-			int newModifiers= Modifier.STATIC;
-			rewrite.set(initializer, Initializer.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			
-			Block block= ast.newBlock();
-			block.statements().add(ast.newReturnStatement());
-			
-			rewrite.replace(initializer.getBody(), block, null);
-		}
-		{	// change modifier
-			Initializer initializer= (Initializer) declarations.get(1);
-			
-			int newModifiers= 0;
-			rewrite.set(initializer, Initializer.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    static {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("    {\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testMethodDeclarationParamShuffel() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public Object foo1(int i, boolean b) { return null; }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // add extra dim, add throws
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo1");
-			
-			List params= methodDecl.parameters();
-			
-			SingleVariableDeclaration first= (SingleVariableDeclaration) params.get(0);
-			SingleVariableDeclaration second= (SingleVariableDeclaration) params.get(1);
-			rewrite.replace(first.getName(), ast.newSimpleName("x"), null);
-			rewrite.replace(second.getName(), ast.newSimpleName("y"), null);
-				
-			ASTNode copy1= rewrite.createCopyTarget(first);
-			ASTNode copy2= rewrite.createCopyTarget(second);
-			
-			rewrite.replace(first, copy2, null);
-			rewrite.replace(second, copy1, null);
-			
-		}
-	
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public Object foo1(boolean y, int x) { return null; }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-
-	public void testMethodDeclarationParamShuffel1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public Object foo1(int i, boolean b) { return null; }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ 
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo1");
-			
-			List params= methodDecl.parameters();
-			
-			SingleVariableDeclaration first= (SingleVariableDeclaration) params.get(0);
-			SingleVariableDeclaration second= (SingleVariableDeclaration) params.get(1);
-				
-			ASTNode copy2= rewrite.createCopyTarget(second);
-
-			rewrite.replace(first, copy2, null);
-			rewrite.remove(second, null);
-		}
-	
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public Object foo1(boolean b) { return null; }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-		
-	public void testMethodDeclaration_bug24916() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class DD {\n");
-		buf.append("    private int DD()[]{\n");
-		buf.append("    };\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("DD.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "DD");
-		{
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "DD");
-			
-			rewrite.set(methodDecl, MethodDeclaration.CONSTRUCTOR_PROPERTY, Boolean.TRUE, null);
-			rewrite.set(methodDecl, MethodDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(0), null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class DD {\n");
-		buf.append("    private DD(){\n");
-		buf.append("    };\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testMethodComments1() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-
-		buf.append("public class DD {\n");
-		buf.append("    // one line comment\n");
-		buf.append("    private void foo(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    /**\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("DD.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "DD");
-		{
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			rewrite.remove(methodDecl, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class DD {\n");
-		buf.append("    /**\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testMethodComments2() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class DD {\n");
-		buf.append("    // one line comment\n");
-		buf.append("    private void foo(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("DD.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "DD");
-		{
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo2");
-			ASTNode node= rewrite.createCopyTarget(methodDecl);
-
-			ASTNode firstDecl= (ASTNode) type.bodyDeclarations().get(0);
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertAfter(node, firstDecl, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class DD {\n");
-		buf.append("    // one line comment\n");
-		buf.append("    private void foo(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");
-		buf.append("\n");				
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testMethodComments3() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-
-		buf.append("public class DD {\n");
-		buf.append("    // one line comment\n");
-		buf.append("\n");		
-		buf.append("    private void foo(){\n");
-		buf.append("    } // another\n");
-		buf.append("\n");
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("DD.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "DD");
-		{
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			rewrite.remove(methodDecl, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class DD {\n");
-		buf.append("    // one line comment\n");
-		buf.append("\n");			
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testBUG_38447() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-
-		buf.append("public class DD {\n");
-		buf.append("\n");		
-		buf.append("    private void foo(){\n");
-		buf.append("\n"); // missing closing bracket
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("DD.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "DD");
-		{
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			rewrite.remove(methodDecl, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class DD {\n");
-		buf.append("\n");			
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testMethodComments4() throws Exception {
-	
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-
-		buf.append("public class DD {\n");
-		buf.append("    // one line comment\n");
-		buf.append("\n");		
-		buf.append("    private void foo(){\n");
-		buf.append("    } // another\n");
-		buf.append("\n");
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("DD.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "DD");
-		{
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			ASTNode copy= rewrite.createCopyTarget(methodDecl);
-			
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(copy, null);
-			
-			MethodDeclaration newMethodDecl= createNewMethod(astRoot.getAST(), "xoo", false);
-			rewrite.replace(methodDecl, newMethodDecl, null);
-			
-			//MethodDeclaration methodDecl2= findMethodDeclaration(type, "foo1");
-			//rewrite.markAsReplaced(methodDecl2, copy);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-
-		buf.append("public class DD {\n");
-		buf.append("    // one line comment\n");
-		buf.append("\n");		
-		buf.append("    private void xoo(String str) {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo2(){\n");
-		buf.append("    }\n");
-		buf.append("\n");	
-		buf.append("    private void foo(){\n");
-		buf.append("    } // another\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testInsertFieldAfter() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-
-		buf.append("public class DD {\n");
-		buf.append("    private int fCount1;\n");
-		buf.append("\n");	
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("DD.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "DD");
-		{
-			VariableDeclarationFragment frag= ast.newVariableDeclarationFragment();
-			frag.setName(ast.newSimpleName("fColor"));
-			FieldDeclaration newField= ast.newFieldDeclaration(frag);
-			newField.setType(ast.newPrimitiveType(PrimitiveType.CHAR));
-			newField.setModifiers(Modifier.PRIVATE);
-					
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertAt(newField, 1, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-
-		buf.append("public class DD {\n");
-		buf.append("    private int fCount1;\n");
-		buf.append("    private char fColor;\n");
-		buf.append("\n");
-		buf.append("    /*\n");
-		buf.append("     *\n");
-		buf.append("     */\n");
-		buf.append("    private void foo1(){\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	
-	
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingMoveCodeTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingMoveCodeTest.java
deleted file mode 100644
index ae7fe27..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingMoveCodeTest.java
+++ /dev/null
@@ -1,1672 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-import org.eclipse.jdt.internal.corext.dom.ListRewrite;
-
-public class ASTRewritingMoveCodeTest extends ASTRewritingTest {
-	
-	private static final Class THIS= ASTRewritingMoveCodeTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ASTRewritingMoveCodeTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (false) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingMoveCodeTest("testCopyMultipleNodes0"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	public void testMove() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    int x;\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		List bodyDecls= type.bodyDeclarations();
-		
-		ASTNode first= (ASTNode) bodyDecls.get(0);
-		ASTNode placeholder= rewrite.createMoveTarget(first);
-		
-		rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(placeholder, null);
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("    int x;\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}		
-	
-	public void testMoveDeclSameLevelCD() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("        i= 0;\n");
-		buf.append("        k= 9;\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // move inner type to the end of the type & move, copy statements from constructor to method
-			
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			assertTrue("Cannot find inner class", members.get(0) instanceof TypeDeclaration);
-			TypeDeclaration innerType= (TypeDeclaration) members.get(0);
-			
-			rewrite.remove(innerType, null);
-			ASTNode movedNode= rewrite.createCopyTarget(innerType);
-
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(movedNode, null);
-			
-			Statement toMove;
-			Statement toCopy;
-			{
-				MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-				assertTrue("Cannot find Constructor E", methodDecl != null);
-				Block body= methodDecl.getBody();
-				assertTrue("No body", body != null);
-				List statements= body.statements();
-				assertTrue("Not expected number of statements", statements.size() == 4);
-				
-				toMove= (Statement) statements.get(1);
-				toCopy= (Statement) statements.get(3);
-				
-				rewrite.remove(toMove, null);
-			}
-			{
-				MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-				assertTrue("Cannot find gee()", methodDecl != null);
-				Block body= methodDecl.getBody();
-				assertTrue("No body", body != null);
-				List statements= body.statements();
-				assertTrue("Has statements", statements.isEmpty());
-				
-				ASTNode insertNodeForMove= rewrite.createCopyTarget(toMove);
-				ASTNode insertNodeForCopy= rewrite.createCopyTarget(toCopy);
-				
-				rewrite.getListRewrite(body, Block.STATEMENTS_PROPERTY).insertLast(insertNodeForCopy, null);
-				rewrite.getListRewrite(body, Block.STATEMENTS_PROPERTY).insertLast(insertNodeForMove, null);
-				
-			}	
-		}			
-					
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");		
-		buf.append("        k= 9;\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");		
-		buf.append("        i= 0;\n");
-		buf.append("    }\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("    }\n");			
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testMoveDeclSameLevel() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("        i= 0;\n");
-		buf.append("        k= 9;\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // move inner type to the end of the type & move, copy statements from constructor to method
-			
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			assertTrue("Cannot find inner class", members.get(0) instanceof TypeDeclaration);
-			TypeDeclaration innerType= (TypeDeclaration) members.get(0);
-			
-			ASTNode movedNode= rewrite.createMoveTarget(innerType);
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(movedNode, null);
-
-			
-			Statement toMove;
-			Statement toCopy;
-			{
-				MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-				assertTrue("Cannot find Constructor E", methodDecl != null);
-				Block body= methodDecl.getBody();
-				assertTrue("No body", body != null);
-				List statements= body.statements();
-				assertTrue("Not expected number of statements", statements.size() == 4);
-				
-				toMove= (Statement) statements.get(1);
-				toCopy= (Statement) statements.get(3);
-			}
-			{
-				MethodDeclaration methodDecl= findMethodDeclaration(type, "gee");
-				assertTrue("Cannot find gee()", methodDecl != null);
-				Block body= methodDecl.getBody();
-				assertTrue("No body", body != null);
-				List statements= body.statements();
-				assertTrue("Has statements", statements.isEmpty());
-				
-				ASTNode insertNodeForMove= rewrite.createMoveTarget(toMove);
-				ASTNode insertNodeForCopy= rewrite.createCopyTarget(toCopy);
-				
-				rewrite.getListRewrite(body, Block.STATEMENTS_PROPERTY).insertLast(insertNodeForCopy, null);
-				rewrite.getListRewrite(body, Block.STATEMENTS_PROPERTY).insertLast(insertNodeForMove, null);
-			}	
-		}			
-					
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");		
-		buf.append("        k= 9;\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");		
-		buf.append("        i= 0;\n");
-		buf.append("    }\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("    }\n");			
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-
-	public void testMoveDeclDifferentLevelCD() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("        i= 0;\n");
-		buf.append("        k= 9;\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			assertTrue("Cannot find inner class", members.get(0) instanceof TypeDeclaration);
-			TypeDeclaration innerType= (TypeDeclaration) members.get(0);
-			
-			List innerMembers= innerType.bodyDeclarations();
-			assertTrue("Not expected number of inner members", innerMembers.size() == 1);
-			
-			{ // move outer as inner of inner.
-				TypeDeclaration outerType= findTypeDeclaration(astRoot, "G");
-				assertTrue("G not found", outerType != null);
-				
-				rewrite.remove(outerType, null);
-				
-				ASTNode insertNodeForCopy= rewrite.createCopyTarget(outerType);
-				
-				rewrite.getListRewrite(innerType, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(insertNodeForCopy, null);
-
-				
-			}
-			{ // copy method of inner to main type
-				MethodDeclaration methodDecl= (MethodDeclaration) innerMembers.get(0);
-				ASTNode insertNodeForMove= rewrite.createCopyTarget(methodDecl);
-				
-				rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(insertNodeForMove, null);
-
-			}
-			{ // nest body of constructor in a while statement
-				MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-				assertTrue("Cannot find Constructor E", methodDecl != null);
-
-				Block body= methodDecl.getBody();
-
-				WhileStatement whileStatement= ast.newWhileStatement();
-				whileStatement.setExpression(ast.newBooleanLiteral(true));
-				
-				Statement insertNodeForCopy= (Statement) rewrite.createCopyTarget(body);
-				
-				whileStatement.setBody(insertNodeForCopy); // set existing body
-
-				Block newBody= ast.newBlock();
-				List newStatements= newBody.statements();				
-				newStatements.add(whileStatement);
-				
-				rewrite.replace(body, newBody, null);
-			}			
-		}	
-					
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("\n");			
-		buf.append("        interface G {\n");
-		buf.append("        }\n");				
-		buf.append("    }\n");		
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        while (true) {\n");		
-		buf.append("            super();\n");
-		buf.append("            i= 0;\n");
-		buf.append("            k= 9;\n");
-		buf.append("            if (System.out == null) {\n");
-		buf.append("                gee(); // cool\n");
-		buf.append("            }\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("    public void xee() {\n");
-		buf.append("        /* does nothing */\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testMoveDeclDifferentLevel() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("        i= 0;\n");
-		buf.append("        k= 9;\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			assertTrue("Cannot find inner class", members.get(0) instanceof TypeDeclaration);
-			TypeDeclaration innerType= (TypeDeclaration) members.get(0);
-			
-			List innerMembers= innerType.bodyDeclarations();
-			assertTrue("Not expected number of inner members", innerMembers.size() == 1);
-			
-			{ // move outer as inner of inner.
-				TypeDeclaration outerType= findTypeDeclaration(astRoot, "G");
-				assertTrue("G not found", outerType != null);
-				
-				ASTNode insertNodeForCopy= rewrite.createMoveTarget(outerType);
-				
-				rewrite.getListRewrite(innerType, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(insertNodeForCopy, null);
-			}
-			{ // copy method of inner to main type
-				MethodDeclaration methodDecl= (MethodDeclaration) innerMembers.get(0);
-				ASTNode insertNodeForMove= rewrite.createCopyTarget(methodDecl);
-				
-				rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(insertNodeForMove, null);
-			}
-			{ // nest body of constructor in a while statement
-				MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-				assertTrue("Cannot find Constructor E", methodDecl != null);
-
-				Block body= methodDecl.getBody();
-
-				WhileStatement whileStatement= ast.newWhileStatement();
-				whileStatement.setExpression(ast.newBooleanLiteral(true));
-				
-				Statement insertNodeForCopy= (Statement) rewrite.createCopyTarget(body);
-				
-				whileStatement.setBody(insertNodeForCopy); // set existing body
-
-				Block newBody= ast.newBlock();
-				List newStatements= newBody.statements();				
-				newStatements.add(whileStatement);
-				
-				rewrite.replace(body, newBody, null);
-			}			
-		}	
-					
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("\n");			
-		buf.append("        interface G {\n");
-		buf.append("        }\n");				
-		buf.append("    }\n");		
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        while (true) {\n");		
-		buf.append("            super();\n");
-		buf.append("            i= 0;\n");
-		buf.append("            k= 9;\n");
-		buf.append("            if (System.out == null) {\n");
-		buf.append("                gee(); // cool\n");
-		buf.append("            }\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("    public void xee() {\n");
-		buf.append("        /* does nothing */\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testMoveStatementsCD() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("        i= 0;\n");
-		buf.append("        k= 9;\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // move first statments inside an ifstatement, move second statment inside a new while statement
-		   // that is in the ifstatement
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-			assertTrue("Cannot find Constructor E", methodDecl != null);
-
-			Block body= methodDecl.getBody();
-			List statements= body.statements();
-			
-			assertTrue("Cannot find if statement", statements.get(3) instanceof IfStatement);
-			
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-			
-			Statement insertNodeForCopy1= (Statement) rewrite.createCopyTarget((ASTNode) statements.get(1));
-			Statement insertNodeForCopy2= (Statement) rewrite.createCopyTarget((ASTNode) statements.get(2));
-			
-			Block whileBody= ast.newBlock();
-			
-			WhileStatement whileStatement= ast.newWhileStatement();
-			whileStatement.setExpression(ast.newBooleanLiteral(true));
-			whileStatement.setBody(whileBody);
-			
-			List whileBodyStatements= whileBody.statements();
-			whileBodyStatements.add(insertNodeForCopy2);
-			
-			
-			assertTrue("if statement body not a block", ifStatement.getThenStatement() instanceof Block);
-			
-			
-			Block block= (Block)ifStatement.getThenStatement();
-			
-			rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY).insertFirst(whileStatement, null);
-			rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY).insertAfter(insertNodeForCopy1, whileStatement, null);
-			
-			rewrite.remove((ASTNode) statements.get(1), null);
-			rewrite.remove((ASTNode) statements.get(2), null);
-		}	
-					
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("            /* does nothing */\n");
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            while (true) {\n");
-		buf.append("                k= 9;\n");
-		buf.append("            }\n");		
-		buf.append("            i= 0;\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	public void testMoveStatements() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("        i= 0;\n");
-		buf.append("        k= 9;\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // move first statments inside an ifstatement, move second statment inside a new while statement
-		   // that is in the ifstatement
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "E");
-			assertTrue("Cannot find Constructor E", methodDecl != null);
-
-			Block body= methodDecl.getBody();
-			List statements= body.statements();
-			
-			assertTrue("Cannot find if statement", statements.get(3) instanceof IfStatement);
-			
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-			
-			Statement insertNodeForCopy1= (Statement) rewrite.createMoveTarget((ASTNode) statements.get(1));
-			Statement insertNodeForCopy2= (Statement) rewrite.createMoveTarget((ASTNode) statements.get(2));
-			
-			Block whileBody= ast.newBlock();
-			
-			WhileStatement whileStatement= ast.newWhileStatement();
-			whileStatement.setExpression(ast.newBooleanLiteral(true));
-			whileStatement.setBody(whileBody);
-			
-			List whileBodyStatements= whileBody.statements();
-			whileBodyStatements.add(insertNodeForCopy2);
-			
-			
-			assertTrue("if statement body not a block", ifStatement.getThenStatement() instanceof Block);
-						
-			Block block= (Block) ifStatement.getThenStatement();
-			rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY).insertFirst(whileStatement, null);
-			rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY).insertAfter(insertNodeForCopy1, whileStatement, null);
-		}	
-					
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    private /* inner comment */ int i;\n");
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            while (true) {\n");
-		buf.append("                k= 9;\n");
-		buf.append("            }\n");		
-		buf.append("            i= 0;\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testCopyFromDeleted() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void goo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // delete method foo, but copy if statement to goo
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			assertTrue("Cannot find foo", methodDecl != null);
-			
-			rewrite.remove(methodDecl, null);
-			
-			Block body= methodDecl.getBody();
-			List statements= body.statements();
-			assertTrue("Cannot find if statement", statements.size() == 1);
-			
-			ASTNode placeHolder= rewrite.createMoveTarget((ASTNode) statements.get(0));
-			
-			
-			MethodDeclaration methodGoo= findMethodDeclaration(type, "goo");
-			assertTrue("Cannot find goo", methodGoo != null);
-			
-			rewrite.getListRewrite(methodGoo.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeHolder, null);
-		}	
-					
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void goo() {\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee(); // cool\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testChangesInMoveCD() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee( /* cool */);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void goo() {\n");
-		buf.append("        x= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // replace statement in goo with moved ifStatement from foo. add a node to if statement
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			assertTrue("Cannot find foo", methodDecl != null);
-			
-			List fooStatements= methodDecl.getBody().statements();
-			assertTrue("Cannot find if statement", fooStatements.size() == 1);
-			
-			// prepare ifStatement to move
-			IfStatement ifStatement= (IfStatement) fooStatements.get(0);
-			rewrite.remove(ifStatement, null);
-			
-			ASTNode placeHolder= rewrite.createCopyTarget(ifStatement);
-			
-			// add return statement to ifStatement block
-			ReturnStatement returnStatement= ast.newReturnStatement();
-			Block then= (Block) ifStatement.getThenStatement();
-			rewrite.getListRewrite(then, Block.STATEMENTS_PROPERTY).insertLast(returnStatement, null);
-	
-			// replace statement in goo with moved ifStatement
-			MethodDeclaration methodGoo= findMethodDeclaration(type, "goo");
-			assertTrue("Cannot find goo", methodGoo != null);
-			
-			List gooStatements= methodGoo.getBody().statements();
-			assertTrue("Cannot find statement in goo", gooStatements.size() == 1);
-			
-			rewrite.replace((ASTNode) gooStatements.get(0), placeHolder, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("    public void goo() {\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee( /* cool */);\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testChangesInMove() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee( /* cool */);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public void goo() {\n");
-		buf.append("        x= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // replace statement in goo with moved ifStatement from foo. add a node to if statement
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			assertTrue("Cannot find foo", methodDecl != null);
-			
-			List fooStatements= methodDecl.getBody().statements();
-			assertTrue("Cannot find if statement", fooStatements.size() == 1);
-			
-			// prepare ifStatement to move
-			IfStatement ifStatement= (IfStatement) fooStatements.get(0);
-			
-			ASTNode placeHolder= rewrite.createMoveTarget(ifStatement);
-			
-			// add return statement to ifStatement block
-			ReturnStatement returnStatement= ast.newReturnStatement();
-
-			Block then= (Block) ifStatement.getThenStatement();
-			rewrite.getListRewrite(then, Block.STATEMENTS_PROPERTY).insertLast(returnStatement, null);
-
-	
-			// replace statement in goo with moved ifStatement
-			MethodDeclaration methodGoo= findMethodDeclaration(type, "goo");
-			assertTrue("Cannot find goo", methodGoo != null);
-			
-			List gooStatements= methodGoo.getBody().statements();
-			assertTrue("Cannot find statement in goo", gooStatements.size() == 1);
-			
-			rewrite.replace((ASTNode) gooStatements.get(0), placeHolder, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("    public void goo() {\n");
-		buf.append("        if (System.out == null) {\n");
-		buf.append("            gee( /* cool */);\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testSwapCD() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(xoo(/*hello*/), k * 2);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // swap the two arguments
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			assertTrue("Cannot find foo", methodDecl != null);
-			
-			List fooStatements= methodDecl.getBody().statements();
-			assertTrue("More statements than expected", fooStatements.size() == 1);
-			
-			ExpressionStatement statement= (ExpressionStatement) fooStatements.get(0);
-			MethodInvocation invocation= (MethodInvocation) statement.getExpression();
-			
-			List arguments= invocation.arguments();
-			assertTrue("More arguments than expected", arguments.size() == 2);
-			
-			ASTNode arg0= (ASTNode) arguments.get(0);
-			ASTNode arg1= (ASTNode) arguments.get(1);
-			
-			ASTNode placeHolder0= rewrite.createCopyTarget(arg0);
-			ASTNode placeHolder1= rewrite.createCopyTarget(arg1);
-			
-			rewrite.replace(arg0, placeHolder1, null);
-			rewrite.replace(arg1, placeHolder0, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(k * 2, xoo(/*hello*/));\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testSwap() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(xoo(/*hello*/), k * 2);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		
-		{ // swap the two arguments
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			assertTrue("Cannot find foo", methodDecl != null);
-			
-			List fooStatements= methodDecl.getBody().statements();
-			assertTrue("More statements than expected", fooStatements.size() == 1);
-			
-			ExpressionStatement statement= (ExpressionStatement) fooStatements.get(0);
-			MethodInvocation invocation= (MethodInvocation) statement.getExpression();
-			
-			List arguments= invocation.arguments();
-			assertTrue("More arguments than expected", arguments.size() == 2);
-			
-			ASTNode arg0= (ASTNode) arguments.get(0);
-			ASTNode arg1= (ASTNode) arguments.get(1);
-			
-			ASTNode placeHolder0= rewrite.createMoveTarget(arg0);
-			ASTNode placeHolder1= rewrite.createMoveTarget(arg1);
-			
-			rewrite.replace(arg0, placeHolder1, null); // replace instead of remove
-			rewrite.replace(arg1, placeHolder0, null); // replace instead of remove
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo(k * 2, xoo(/*hello*/));\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	
-	public void testMultipleCopiesOfSameNode() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			List ifStatementBody= ((Block) ifStatement.getThenStatement()).statements();
-			
-			ASTNode node= (ASTNode) ifStatementBody.get(1);
-			ASTNode placeholder1= rewrite.createCopyTarget(node);
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder1, null);
-
-			ASTNode placeholder2= rewrite.createCopyTarget(node);
-			rewrite.replace((ASTNode) ifStatementBody.get(0), placeholder2, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("        i++; // comment\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testCopyMultipleNodes() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			Block thenBlock= (Block) ifStatement.getThenStatement();
-
-			ListRewrite listRewrite= rewrite.getListRewrite(thenBlock, Block.STATEMENTS_PROPERTY);
-			List thenStatements= thenBlock.statements();
-			ASTNode first= (ASTNode) thenStatements.get(0);
-			ASTNode last= (ASTNode) thenStatements.get(1);
-			
-			ASTNode placeholder= listRewrite.createCopyTarget(first, last);
-			
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("        foo();\n");
-		buf.append("        i++; // comment\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testCopyMultipleNodes0() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			Block thenBlock= (Block) ifStatement.getThenStatement();
-
-			ListRewrite listRewrite= rewrite.getListRewrite(thenBlock, Block.STATEMENTS_PROPERTY);
-			List thenStatements= thenBlock.statements();
-			ASTNode first= (ASTNode) thenStatements.get(0);
-			ASTNode second= (ASTNode) thenStatements.get(1);
-			
-			ASTNode placeholder= listRewrite.createCopyTarget(first, second);
-			
-			// replace the first
-			AST ast= astRoot.getAST();
-			PrefixExpression expression= ast.newPrefixExpression();
-			expression.setOperand(ast.newSimpleName("i"));
-			expression.setOperator(PrefixExpression.Operator.DECREMENT);
-			ExpressionStatement newStatement= ast.newExpressionStatement(expression);
-			
-			listRewrite.replace(first, newStatement, null);
-			
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            --i;\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("        --i;\n");
-		buf.append("        i++; // comment\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	
-	public void testCopyMultipleNodes1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			Block thenBlock= (Block) ifStatement.getThenStatement();
-
-			ListRewrite listRewrite= rewrite.getListRewrite(thenBlock, Block.STATEMENTS_PROPERTY);
-			List thenStatements= thenBlock.statements();
-			ASTNode first= (ASTNode) thenStatements.get(0);
-			ASTNode second= (ASTNode) thenStatements.get(1);
-			
-			ASTNode placeholder= listRewrite.createCopyTarget(first, second);
-			
-			// insert between the copied
-			AST ast= astRoot.getAST();
-			PrefixExpression expression= ast.newPrefixExpression();
-			expression.setOperand(ast.newSimpleName("i"));
-			expression.setOperator(PrefixExpression.Operator.DECREMENT);
-			ExpressionStatement newStatement= ast.newExpressionStatement(expression);
-			listRewrite.insertAfter(newStatement, first, null);
-			
-			// remove the last
-			listRewrite.remove((ASTNode) thenStatements.get(2), null);
-			
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            --i;\n");
-		buf.append("            i++; // comment\n");
-		buf.append("        }\n");
-		buf.append("        foo();\n");
-		buf.append("        --i;\n");
-		buf.append("        i++; // comment\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-
-	public void testCopyMultipleNodes2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo(1);\n");
-		buf.append("            foo(2); // comment\n");
-		buf.append("            foo(3);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			Block thenBlock= (Block) ifStatement.getThenStatement();
-
-			ListRewrite listRewrite= rewrite.getListRewrite(thenBlock, Block.STATEMENTS_PROPERTY);
-			List thenStatements= thenBlock.statements();
-			ASTNode second= (ASTNode) thenStatements.get(1);
-			ASTNode last= (ASTNode) thenStatements.get(2);
-			
-			ASTNode placeholder1= listRewrite.createCopyTarget(second, last);
-			rewrite.replace(ifStatement, placeholder1, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        foo(2); // comment\n");
-		buf.append("        foo(3);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testCopyMultipleNodes3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo(1);\n");
-		buf.append("            foo(2);\n");
-		buf.append("            foo(3);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			Block thenBlock= (Block) ifStatement.getThenStatement();
-
-			ListRewrite listRewrite= rewrite.getListRewrite(thenBlock, Block.STATEMENTS_PROPERTY);
-			List thenStatements= thenBlock.statements();
-			ASTNode first= (ASTNode) thenStatements.get(0);
-			ASTNode second= (ASTNode) thenStatements.get(1);
-			ASTNode last= (ASTNode) thenStatements.get(2);
-			
-			ASTNode placeholder1= listRewrite.createCopyTarget(first, second);
-			ASTNode placeholder2= listRewrite.createCopyTarget(first, last);
-			
-			listRewrite.insertAfter(placeholder1, last, null);
-			
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder2, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo(1);\n");
-		buf.append("            foo(2);\n");
-		buf.append("            foo(3);\n");
-		buf.append("            foo(1);\n");
-		buf.append("            foo(2);\n");
-		buf.append("        }\n");
-		buf.append("        foo(1);\n");
-		buf.append("        foo(2);\n");
-		buf.append("        foo(3);\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testCopyMultipleNodes4() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo(1);\n");
-		buf.append("            foo(2);\n");
-		buf.append("            foo(3);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			Block thenBlock= (Block) ifStatement.getThenStatement();
-
-			ListRewrite listRewrite= rewrite.getListRewrite(thenBlock, Block.STATEMENTS_PROPERTY);
-			List thenStatements= thenBlock.statements();
-			ASTNode first= (ASTNode) thenStatements.get(0);
-			ASTNode second= (ASTNode) thenStatements.get(1);
-			
-			ASTNode last= (ASTNode) thenStatements.get(2);
-			
-			ASTNode placeholder1= listRewrite.createCopyTarget(first, last);
-			ASTNode placeholder2= listRewrite.createCopyTarget(first, second);		
-			ASTNode placeholder3= rewrite.createMoveTarget(first);
-
-			listRewrite.insertAfter(placeholder1, last, null);
-			
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder2, null);
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertFirst(placeholder3, null);
-
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        foo(1);\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo(2);\n");
-		buf.append("            foo(3);\n");
-		buf.append("            foo(2);\n");
-		buf.append("            foo(3);\n");
-		buf.append("        }\n");
-		buf.append("        foo(2);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testMultipleCopiesOfSameNodeAndMove() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			List statements= methodDecl.getBody().statements();
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			List ifStatementBody= ((Block) ifStatement.getThenStatement()).statements();
-			
-			ASTNode node= (ASTNode) ifStatementBody.get(1);
-			ASTNode placeholder1= rewrite.createCopyTarget(node);
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder1, null);
-
-			ASTNode placeholder2= rewrite.createCopyTarget(node);
-			rewrite.replace((ASTNode) ifStatementBody.get(0), placeholder2, null);
-			
-			ASTNode placeholder3= rewrite.createMoveTarget(node);
-			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertFirst(placeholder3, null);
-
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i++; // comment\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("        i++; // comment\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	
-	
-	public void testMoveForStatementToForBlockCD() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for(int i= 0; i < 8; i++)\n");
-		buf.append("            foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			List statements= methodDecl.getBody().statements();
-			ForStatement forStatement= (ForStatement) statements.get(0);
-			Statement body= forStatement.getBody();
-			
-			ASTNode placeholder= rewrite.createCopyTarget(body);
-			
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(body, newBody, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for(int i= 0; i < 8; i++) {\n");
-		buf.append("            foo();\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testMoveForStatementToForBlock() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for(int i= 0; i < 8; i++)\n");
-		buf.append("            foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		{
-			List statements= methodDecl.getBody().statements();
-			ForStatement forStatement= (ForStatement) statements.get(0);
-			Statement body= forStatement.getBody();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(body);
-			
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(body, newBody, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for(int i= 0; i < 8; i++) {\n");
-		buf.append("            foo();\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}	
-		
-	public void testNestedCopies() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        int i= (String) o.indexOf('1');\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		TypeDeclaration typeDecl= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methDecl= findMethodDeclaration(typeDecl, "foo");
-		VariableDeclarationStatement varStat= (VariableDeclarationStatement) methDecl.getBody().statements().get(0);
-		
-		CastExpression expression= (CastExpression) ((VariableDeclarationFragment) varStat.fragments().get(0)).getInitializer();
-		MethodInvocation invocation= (MethodInvocation) expression.getExpression();
-		
-		CastExpression newCast= ast.newCastExpression();
-		newCast.setType((Type) rewrite.createCopyTarget(expression.getType()));
-		newCast.setExpression((Expression) rewrite.createCopyTarget(invocation.getExpression()));
-		ParenthesizedExpression parents= ast.newParenthesizedExpression();
-		parents.setExpression(newCast);
-		
-		ASTNode node= rewrite.createCopyTarget(invocation);
-		rewrite.replace(expression, node, null);
-		rewrite.replace(invocation.getExpression(), parents, null);
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        int i= ((String) o).indexOf('1');\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();		
-
-		assertEqualString(preview, expected);
-	}
-	
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingStatementsTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingStatementsTest.java
deleted file mode 100644
index 4f08d78..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingStatementsTest.java
+++ /dev/null
@@ -1,3327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ListRewrite;
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-
-public class ASTRewritingStatementsTest extends ASTRewritingTest {
-
-	private static final Class THIS= ASTRewritingStatementsTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ASTRewritingStatementsTest(String name) {
-		super(name);
-	}
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (false) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingStatementsTest("testInsert2"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	public void testInsert1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		/* foo(): append a return statement */
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public Object foo() {\n");
-		buf.append("        if (this.equals(new Object())) {\n");
-		buf.append("            toString();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("No block" , block != null);	
-		
-		ReturnStatement returnStatement= block.getAST().newReturnStatement();
-		returnStatement.setExpression(block.getAST().newNullLiteral());
-		rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY).insertLast(returnStatement, null);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public Object foo() {\n");
-		buf.append("        if (this.equals(new Object())) {\n");
-		buf.append("            toString();\n");
-		buf.append("        }\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testInsert2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		
-		/* insert a statement before */
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class D {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        Integer i= new Integer(3);\n");
-		buf.append("    }\n");
-		buf.append("    public void hoo(int p1, Object p2) {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("D.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "D");
-		
-		MethodDeclaration methodDeclGoo= findMethodDeclaration(type, "goo");
-		List bodyStatements= methodDeclGoo.getBody().statements();
-
-		ASTNode copy= rewrite.createCopyTarget((ASTNode) bodyStatements.get(0));
-		
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "hoo");
-		Block block= methodDecl.getBody();
-		assertTrue("No block" , block != null);
-		
-		List statements= block.statements();
-		assertTrue("No statements in block", !statements.isEmpty());
-		assertTrue("No ReturnStatement", statements.get(0) instanceof ReturnStatement);
-		
-		rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY).insertFirst(copy, null);
-
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class D {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        Integer i= new Integer(3);\n");
-		buf.append("    }\n");
-		buf.append("    public void hoo(int p1, Object p2) {\n");
-		buf.append("        Integer i= new Integer(3);\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());			
-
-	}
-
-	public void testInsert3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-
-	  // add after comment 
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        i++; //comment\n");
-		buf.append("        i++; //comment\n");					
-		buf.append("        return new Integer(3);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		AST ast= astRoot.getAST();
-	
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "goo");
-		Block block= methodDecl.getBody();
-		assertTrue("No block" , block != null);
-		
-		MethodInvocation invocation1= ast.newMethodInvocation();
-		invocation1.setName(ast.newSimpleName("foo"));
-		ExpressionStatement statement1= ast.newExpressionStatement(invocation1);
-		
-		MethodInvocation invocation2= ast.newMethodInvocation();
-		invocation2.setName(ast.newSimpleName("foo"));
-		ExpressionStatement statement2= ast.newExpressionStatement(invocation2);
-		
-		List statements= methodDecl.getBody().statements();
-		ASTNode second= (ASTNode) statements.get(1);
-		
-		ListRewrite listRewrite= rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY);
-		listRewrite.remove(second, null); 
-		listRewrite.insertBefore(statement1, second, null);
-		listRewrite.insertAfter(statement2, second, null);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        i++; //comment\n");
-		buf.append("        foo();\n");
-		buf.append("        foo();\n");				
-		buf.append("        return new Integer(3);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());			
-
-	}		
-	
-	public void testRemove1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);			
-		/* foo():  remove if... */
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public Object foo() {\n");
-		buf.append("        if (this.equals(new Object())) {\n");
-		buf.append("            toString();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("No block" , block != null);	
-		
-		List statements= block.statements();
-		assertTrue("No statements in block", !statements.isEmpty());
-		
-		rewrite.remove((ASTNode) statements.get(0), null);
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public Object foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-	public void testRemove2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);			
-	
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class D {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        return new Integer(3);\n");
-		buf.append("    }\n");
-		buf.append("    public void hoo(int p1, Object p2) {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("D.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "D");
-	
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "goo");
-		Block block= methodDecl.getBody();
-		assertTrue("No block" , block != null);
-		
-		List statements= block.statements();
-		assertTrue("No statements in block", !statements.isEmpty());
-		assertTrue("No ReturnStatement", statements.get(0) instanceof ReturnStatement);
-		
-		ReturnStatement returnStatement= (ReturnStatement) statements.get(0);
-		Expression expr= returnStatement.getExpression();
-		rewrite.remove(expr, null);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class D {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("    public void hoo(int p1, Object p2) {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());			
-
-	}
-	public void testRemove3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);			
-	
-	  // delete 
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        i++; //comment\n");
-		buf.append("        i++; //comment\n");					
-		buf.append("        return new Integer(3);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-	
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "goo");
-		Block block= methodDecl.getBody();
-		assertTrue("No block" , block != null);
-		
-		List statements= methodDecl.getBody().statements();
-		rewrite.remove((ASTNode) statements.get(0), null);
-		rewrite.remove((ASTNode) statements.get(1), null);
-		rewrite.remove((ASTNode) statements.get(2), null);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());			
-
-	}
-	
-	public void testReplace1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);		
-		/* foo(): if.. -> return; */
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public Object foo() {\n");
-		buf.append("        if (this.equals(new Object())) {\n");
-		buf.append("            toString();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "C");
-		
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("No block" , block != null);	
-		
-		List statements= block.statements();
-		assertTrue("No statements in block", !statements.isEmpty());
-		
-		ReturnStatement returnStatement= block.getAST().newReturnStatement();
-		rewrite.replace((ASTNode) statements.get(0), returnStatement, null);
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public Object foo() {\n");
-		buf.append("        return;\n");			
-		buf.append("    }\n");
-		buf.append("}\n");
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testReplace2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);		
-		
-		/* goo(): new Integer(3) -> 'null' */
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class D {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        return new Integer(3);\n");
-		buf.append("    }\n");
-		buf.append("    public void hoo(int p1, Object p2) {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("D.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		TypeDeclaration type= findTypeDeclaration(astRoot, "D");
-	
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "goo");
-		Block block= methodDecl.getBody();
-		assertTrue("No block" , block != null);
-		
-		List statements= block.statements();
-		assertTrue("No statements in block", !statements.isEmpty());
-		assertTrue("No ReturnStatement", statements.get(0) instanceof ReturnStatement);
-		
-		ReturnStatement returnStatement= (ReturnStatement) statements.get(0);
-		Expression expr= returnStatement.getExpression();
-		Expression modified= block.getAST().newNullLiteral();
-
-		rewrite.replace(expr, modified, null);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class D {\n");
-		buf.append("    public Object goo() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("    public void hoo(int p1, Object p2) {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	
-	public void testBreakStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        break;\n");
-		buf.append("        break label;\n");
-		buf.append("        break label;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-		{ // insert label
-			BreakStatement statement= (BreakStatement) statements.get(0);
-			assertTrue("Has label", statement.getLabel() == null);
-			
-			SimpleName newLabel= ast.newSimpleName("label2");
-			rewrite.set(statement, BreakStatement.LABEL_PROPERTY, newLabel, null);
-		}
-		{ // replace label
-			BreakStatement statement= (BreakStatement) statements.get(1);
-			
-			SimpleName label= statement.getLabel();
-			assertTrue("Has no label", label != null);
-			
-			SimpleName newLabel= ast.newSimpleName("label2");	
-
-			rewrite.replace(label, newLabel, null);
-		}
-		{ // remove label
-			BreakStatement statement= (BreakStatement) statements.get(2);
-			
-			SimpleName label= statement.getLabel();
-			assertTrue("Has no label", label != null);
-			
-			rewrite.remove(label, null);
-		}	
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        break label2;\n");
-		buf.append("        break label2;\n");
-		buf.append("        break;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testConstructorInvocation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(String e, String f) {\n");
-		buf.append("        this();\n");
-		buf.append("    }\n");
-		buf.append("    public E() {\n");
-		buf.append("        this(\"Hello\", true);\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration[] declarations= type.getMethods();
-		assertTrue("Number of statements not 2", declarations.length == 2);			
-
-		{ // add parameters
-			Block block= declarations[0].getBody();
-			List statements= block.statements();
-			assertTrue("Number of statements not 1", statements.size() == 1);
-			
-			ConstructorInvocation invocation= (ConstructorInvocation) statements.get(0);
-				
-			StringLiteral stringLiteral1= ast.newStringLiteral();
-			stringLiteral1.setLiteralValue("Hello");
-			
-			StringLiteral stringLiteral2= ast.newStringLiteral();
-			stringLiteral2.setLiteralValue("World");
-			
-			ListRewrite listRewrite= rewrite.getListRewrite(invocation, ConstructorInvocation.ARGUMENTS_PROPERTY);
-			listRewrite.insertLast(stringLiteral1, null);
-			listRewrite.insertLast(stringLiteral2, null);
-			
-		}
-		{ //remove parameters
-			Block block= declarations[1].getBody();
-			List statements= block.statements();
-			assertTrue("Number of statements not 1", statements.size() == 1);			
-			ConstructorInvocation invocation= (ConstructorInvocation) statements.get(0);
-	
-			List arguments= invocation.arguments();
-			
-			rewrite.remove((ASTNode) arguments.get(0), null);
-			rewrite.remove((ASTNode) arguments.get(1), null);
-		}		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(String e, String f) {\n");
-		buf.append("        this(\"Hello\", \"World\");\n");
-		buf.append("    }\n");
-		buf.append("    public E() {\n");
-		buf.append("        this();\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testContinueStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        continue;\n");
-		buf.append("        continue label;\n");
-		buf.append("        continue label;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-		{ // insert label
-			ContinueStatement statement= (ContinueStatement) statements.get(0);
-			assertTrue("Has label", statement.getLabel() == null);
-			
-			SimpleName newLabel= ast.newSimpleName("label2");	
-
-			rewrite.set(statement, ContinueStatement.LABEL_PROPERTY, newLabel, null);
-		}
-		{ // replace label
-			ContinueStatement statement= (ContinueStatement) statements.get(1);
-			
-			SimpleName label= statement.getLabel();
-			assertTrue("Has no label", label != null);
-			
-			SimpleName newLabel= ast.newSimpleName("label2");	
-
-			rewrite.replace(label, newLabel, null);
-		}
-		{ // remove label
-			ContinueStatement statement= (ContinueStatement) statements.get(2);
-			
-			SimpleName label= statement.getLabel();
-			assertTrue("Has no label", label != null);
-			
-			rewrite.remove(label, null);
-		}	
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        continue label2;\n");
-		buf.append("        continue label2;\n");
-		buf.append("        continue;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testDoStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        do {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } while (i == j);\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-
-		{ // replace body and expression
-			DoStatement doStatement= (DoStatement) statements.get(0);
-			
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(doStatement.getBody(), newBody, null);
-
-			BooleanLiteral literal= ast.newBooleanLiteral(true);
-			rewrite.replace(doStatement.getExpression(), literal, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        do {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        } while (true);\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testDoStatement1() throws Exception {
-		if (true) {
-			return;
-		}
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        do {\n");
-		buf.append("            foo();\n");		
-		buf.append("        } while (true);\n");	
-		buf.append("        do\n");
-		buf.append("            foo();\n");
-		buf.append("        while (true);\n");	
-		buf.append("        do {\n");
-		buf.append("            foo();\n");	
-		buf.append("        } while (true);\n");	
-		buf.append("        do\n");
-		buf.append("            foo();\n");
-		buf.append("        while (true);\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("Parse errors", (block.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace body block with statement
-			DoStatement doStatement= (DoStatement) statements.get(0);
-			
-			
-			TryStatement newTry= ast.newTryStatement();
-			newTry.getBody().statements().add(ast.newReturnStatement());
-			CatchClause newCatchClause= ast.newCatchClause();
-			SingleVariableDeclaration varDecl= ast.newSingleVariableDeclaration();
-			varDecl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			varDecl.setName(ast.newSimpleName("e"));
-			newCatchClause.setException(varDecl);
-			newTry.catchClauses().add(newCatchClause);
-			
-			rewrite.replace(doStatement.getBody(), newTry, null);
-		}
-		{ // replace body statement with block
-			DoStatement doStatement= (DoStatement) statements.get(1);
-			
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(doStatement.getBody(), newBody, null);
-
-		}
-		{ // replace body block with block
-			DoStatement doStatement= (DoStatement) statements.get(2);
-			
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(doStatement.getBody(), newBody, null);
-
-		}		
-		{ // replace body statement with body
-			DoStatement doStatement= (DoStatement) statements.get(3);
-			
-			
-			TryStatement newTry= ast.newTryStatement();
-			newTry.getBody().statements().add(ast.newReturnStatement());
-			CatchClause newCatchClause= ast.newCatchClause();
-			SingleVariableDeclaration varDecl= ast.newSingleVariableDeclaration();
-			varDecl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			varDecl.setName(ast.newSimpleName("e"));
-			newCatchClause.setException(varDecl);
-			newTry.catchClauses().add(newCatchClause);
-			
-			rewrite.replace(doStatement.getBody(), newTry, null);
-		}
-		
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        do\n");
-		buf.append("            try {\n");
-		buf.append("                return;\n");
-		buf.append("            } catch (Exception e) {\n");
-		buf.append("            }\n");
-		buf.append("        while (true);\n");	
-		buf.append("        do {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        } while (true);\n");	
-		buf.append("        do {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        } while (true);\n");	
-		buf.append("        do\n");
-		buf.append("            try {\n");
-		buf.append("                return;\n");
-		buf.append("            } catch (Exception e) {\n");
-		buf.append("            }\n");
-		buf.append("        while (true);\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}		
-	
-
-	public void testExpressionStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        i= 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("Parse errors", (block.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // replace expression
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			
-			Assignment assignment= (Assignment) stmt.getExpression();
-			Expression placeholder= (Expression) rewrite.createCopyTarget(assignment);
-									
-			Assignment newExpression= ast.newAssignment();
-			newExpression.setLeftHandSide(ast.newSimpleName("x"));
-			newExpression.setRightHandSide(placeholder);
-			newExpression.setOperator(Assignment.Operator.ASSIGN);
-	
-			rewrite.replace(stmt.getExpression(), newExpression, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        x = i= 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-
-	}
-	
-	public void testForStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for (int i= 0; i < len; i++) {\n");
-		buf.append("        }\n");
-		buf.append("        for (i= 0, j= 0; i < len; i++, j++) {\n");
-		buf.append("        }\n");
-		buf.append("        for (;;) {\n");
-		buf.append("        }\n");	
-		buf.append("        for (;;) {\n");
-		buf.append("        }\n");
-		buf.append("        for (i= 0; i < len; i++) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("Parse errors", (block.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		List statements= block.statements();
-		assertTrue("Number of statements not 5", statements.size() == 5);
-
-		{ // replace initializer, change expression, add updater, replace cody
-			ForStatement forStatement= (ForStatement) statements.get(0);
-			
-			List initializers= forStatement.initializers();
-			assertTrue("Number of initializers not 1", initializers.size() == 1);
-			
-			Assignment assignment= ast.newAssignment();
-			assignment.setLeftHandSide(ast.newSimpleName("i"));
-			assignment.setOperator(Assignment.Operator.ASSIGN);
-			assignment.setRightHandSide(ast.newNumberLiteral("3"));
-			
-			rewrite.replace((ASTNode) initializers.get(0), assignment, null);
-			
-			Assignment assignment2= ast.newAssignment();
-			assignment2.setLeftHandSide(ast.newSimpleName("j"));
-			assignment2.setOperator(Assignment.Operator.ASSIGN);
-			assignment2.setRightHandSide(ast.newNumberLiteral("4"));
-			
-			rewrite.getListRewrite(forStatement, ForStatement.INITIALIZERS_PROPERTY).insertLast(assignment2, null);
-			
-			BooleanLiteral literal= ast.newBooleanLiteral(true);
-			rewrite.replace(forStatement.getExpression(), literal, null);
-			
-			// add updater
-			PrefixExpression prefixExpression= ast.newPrefixExpression();
-			prefixExpression.setOperand(ast.newSimpleName("j"));
-			prefixExpression.setOperator(PrefixExpression.Operator.INCREMENT);
-			
-			rewrite.getListRewrite(forStatement, ForStatement.UPDATERS_PROPERTY).insertLast(prefixExpression, null);
-			
-			// replace body		
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(forStatement.getBody(), newBody, null);
-		}
-		{ // remove initializers, expression and updaters
-			ForStatement forStatement= (ForStatement) statements.get(1);
-			
-			List initializers= forStatement.initializers();
-			assertTrue("Number of initializers not 2", initializers.size() == 2);
-			
-			rewrite.remove((ASTNode) initializers.get(0), null);
-			rewrite.remove((ASTNode) initializers.get(1), null);
-			
-			rewrite.remove(forStatement.getExpression(), null);
-			
-			List updaters= forStatement.updaters();
-			assertTrue("Number of initializers not 2", updaters.size() == 2);
-			
-			rewrite.remove((ASTNode) updaters.get(0), null);
-			rewrite.remove((ASTNode) updaters.get(1), null);
-		}
-		{ // insert updater
-			ForStatement forStatement= (ForStatement) statements.get(2);
-			
-			PrefixExpression prefixExpression= ast.newPrefixExpression();
-			prefixExpression.setOperand(ast.newSimpleName("j"));
-			prefixExpression.setOperator(PrefixExpression.Operator.INCREMENT);
-
-			rewrite.getListRewrite(forStatement, ForStatement.UPDATERS_PROPERTY).insertLast(prefixExpression, null);
-		}
-		
-		{ // insert updater & initializer
-			ForStatement forStatement= (ForStatement) statements.get(3);
-			
-			Assignment assignment= ast.newAssignment();
-			assignment.setLeftHandSide(ast.newSimpleName("j"));
-			assignment.setOperator(Assignment.Operator.ASSIGN);
-			assignment.setRightHandSide(ast.newNumberLiteral("3"));
-			
-			rewrite.getListRewrite(forStatement, ForStatement.INITIALIZERS_PROPERTY).insertLast(assignment, null);
-			
-			PrefixExpression prefixExpression= ast.newPrefixExpression();
-			prefixExpression.setOperand(ast.newSimpleName("j"));
-			prefixExpression.setOperator(PrefixExpression.Operator.INCREMENT);
-			
-			rewrite.getListRewrite(forStatement, ForStatement.UPDATERS_PROPERTY).insertLast(prefixExpression, null);
-		}
-		
-		{ // replace initializer: turn assignement to var decl
-			ForStatement forStatement= (ForStatement) statements.get(4);
-			
-			Assignment assignment= (Assignment) forStatement.initializers().get(0);
-			SimpleName leftHandSide= (SimpleName) assignment.getLeftHandSide();
-			
-			VariableDeclarationFragment varFragment= ast.newVariableDeclarationFragment();
-			VariableDeclarationExpression varDecl= ast.newVariableDeclarationExpression(varFragment);
-			varFragment.setName(ast.newSimpleName(leftHandSide.getIdentifier()));
-			
-			Expression placeholder= (Expression) rewrite.createCopyTarget(assignment.getRightHandSide());
-			varFragment.setInitializer(placeholder);
-			varDecl.setType(ast.newPrimitiveType(PrimitiveType.INT));
-
-			
-			rewrite.replace(assignment, varDecl, null);
-		}	
-		
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for (i = 3, j = 4; true; i++, ++j) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        for (;;) {\n");
-		buf.append("        }\n");
-		buf.append("        for (;;++j) {\n");
-		buf.append("        }\n");		
-		buf.append("        for (j = 3;;++j) {\n");
-		buf.append("        }\n");
-		buf.append("        for (int i = 0; i < len; i++) {\n");
-		buf.append("        }\n");			
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testForStatement1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for (;;) {\n");
-		buf.append("            foo();\n");		
-		buf.append("        }\n");	
-		buf.append("        for (;;)\n");
-		buf.append("            foo();\n");	
-		buf.append("        for (;;) {\n");
-		buf.append("            foo();\n");	
-		buf.append("        }\n");	
-		buf.append("        for (;;)\n");
-		buf.append("            foo();\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("Parse errors", (block.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace body block with statement
-			ForStatement forStatement= (ForStatement) statements.get(0);
-			
-			
-			TryStatement newTry= ast.newTryStatement();
-			newTry.getBody().statements().add(ast.newReturnStatement());
-			CatchClause newCatchClause= ast.newCatchClause();
-			SingleVariableDeclaration varDecl= ast.newSingleVariableDeclaration();
-			varDecl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			varDecl.setName(ast.newSimpleName("e"));
-			newCatchClause.setException(varDecl);
-			newTry.catchClauses().add(newCatchClause);
-			
-			rewrite.replace(forStatement.getBody(), newTry, null);
-		}
-		{ // replace body statement with block
-			ForStatement forStatement= (ForStatement) statements.get(1);
-			
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(forStatement.getBody(), newBody, null);
-
-		}
-		{ // replace body block with block
-			ForStatement forStatement= (ForStatement) statements.get(2);
-			
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(forStatement.getBody(), newBody, null);
-
-		}		
-		{ // replace body statement with body
-			ForStatement forStatement= (ForStatement) statements.get(3);
-			
-			
-			TryStatement newTry= ast.newTryStatement();
-			newTry.getBody().statements().add(ast.newReturnStatement());
-			CatchClause newCatchClause= ast.newCatchClause();
-			SingleVariableDeclaration varDecl= ast.newSingleVariableDeclaration();
-			varDecl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			varDecl.setName(ast.newSimpleName("e"));
-			newCatchClause.setException(varDecl);
-			newTry.catchClauses().add(newCatchClause);
-			
-			rewrite.replace(forStatement.getBody(), newTry, null);
-		}
-		
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for (;;)\n");
-		buf.append("            try {\n");
-		buf.append("                return;\n");
-		buf.append("            } catch (Exception e) {\n");
-		buf.append("            }\n");	
-		buf.append("        for (;;) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");	
-		buf.append("        for (;;) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");	
-		buf.append("        for (;;)\n");
-		buf.append("            try {\n");
-		buf.append("                return;\n");
-		buf.append("            } catch (Exception e) {\n");
-		buf.append("            }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}		
-	
-	
-	public void testIfStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 2", statements.size() == 2);
-
-		{ // replace expression body and then body, remove else body
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			
-			BooleanLiteral literal= ast.newBooleanLiteral(true);
-			rewrite.replace(ifStatement.getExpression(), literal, null);			
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			Block newBody= ast.newBlock();
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(ifStatement.getThenStatement(), newBody, null);
-			
-			rewrite.remove(ifStatement.getElseStatement(), null);
-		}
-		{ // add else body
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			Block newBody= ast.newBlock();
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.set(ifStatement, IfStatement.ELSE_STATEMENT_PROPERTY, newBody, null);
-		}		
-		
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (true) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatement1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            hoo(11);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 5", statements.size() == 3);
-
-		{ // replace then block by statement
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-	
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-		}
-		{ // replace then block by statement
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-	
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-		}
-		{ // replace then block by statement
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-	
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            hoo(11);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatement2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            hoo(11);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace then block by statement, add else statement
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-	
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-			
-			Statement returnStatement= ast.newReturnStatement();
-			rewrite.set(ifStatement, IfStatement.ELSE_STATEMENT_PROPERTY, returnStatement, null);
-			
-		}
-		{ // replace then block by statement, remove else statement
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-	
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-			rewrite.remove(ifStatement.getElseStatement(), null);
-		}
-		{ // replace then block by statement, add else statement
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-	
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-			
-			Block newElseBlock= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newElseBlock.statements().add(returnStatement);
-			
-			rewrite.set(ifStatement, IfStatement.ELSE_STATEMENT_PROPERTY, newElseBlock, null);
-
-			
-		}
-		{ // replace then block by statement, remove else statement
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-	
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-			rewrite.remove(ifStatement.getElseStatement(), null);
-		}				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            return;\n");		
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatement3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            hoo(11);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-
-		{ // replace then block by statement
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-		}
-		{ // replace then block by statement
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-		}
-		{ // replace then block by statement
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            hoo(11);\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatement4() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            hoo(11);\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace then statement by block , add else statement
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			Statement returnStatement= ast.newReturnStatement();
-			rewrite.set(ifStatement, IfStatement.ELSE_STATEMENT_PROPERTY, returnStatement, null);
-			
-		}
-		{ // replace then statement by block, remove else statement
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			rewrite.remove(ifStatement.getElseStatement(), null);
-		}
-		{ // replace then block by statement, add else statement
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			Block newElseBlock= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newElseBlock.statements().add(returnStatement);
-			
-			rewrite.set(ifStatement, IfStatement.ELSE_STATEMENT_PROPERTY, newElseBlock, null);
-		}
-		{ // replace then block by statement, remove else statement
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			rewrite.remove(ifStatement.getElseStatement(), null);
-		}				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            return;\n");		
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatement5() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else if (true) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else if (true)\n");
-		buf.append("            hoo(11);\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace then statement by block , add else statement
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Block newBody2= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newBody2.statements().add(returnStatement);			
-
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.set(ifStatement, IfStatement.ELSE_STATEMENT_PROPERTY, newElseBlock, null);
-		}
-		{ // replace then statement by block, remove else statement
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			rewrite.remove(ifStatement.getElseStatement(), null);
-		}
-		{ // replace then block by statement, add else statement
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Statement returnStatement= ast.newReturnStatement();
-
-			newElseBlock.setThenStatement(returnStatement);
-			rewrite.set(ifStatement, IfStatement.ELSE_STATEMENT_PROPERTY, newElseBlock, null);
-		}
-		{ // replace then block by statement, remove else statement
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-	
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			ASTNode placeholder= rewrite.createMoveTarget(statement);
-			Block newBody= ast.newBlock();
-			newBody.statements().add(placeholder);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			rewrite.remove(ifStatement.getElseStatement(), null);
-		}				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else if (true) {\n");
-		buf.append("            return;\n");		
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else if (true)\n");
-		buf.append("            return;\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatement6() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 2", statements.size() == 2);
-
-		{ // replace then statement by a try statement
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			
-			TryStatement newTry= ast.newTryStatement();
-			newTry.getBody().statements().add(ast.newReturnStatement());
-			CatchClause newCatchClause= ast.newCatchClause();
-			SingleVariableDeclaration varDecl= ast.newSingleVariableDeclaration();
-			varDecl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			varDecl.setName(ast.newSimpleName("e"));
-			newCatchClause.setException(varDecl);
-			newTry.catchClauses().add(newCatchClause);
-			
-			rewrite.replace(ifStatement.getThenStatement(), newTry, null);			
-		}
-		{ // replace then statement by a try statement
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-	
-			TryStatement newTry= ast.newTryStatement();
-			newTry.getBody().statements().add(ast.newReturnStatement());
-			CatchClause newCatchClause= ast.newCatchClause();
-			SingleVariableDeclaration varDecl= ast.newSingleVariableDeclaration();
-			varDecl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			varDecl.setName(ast.newSimpleName("e"));
-			newCatchClause.setException(varDecl);
-			newTry.catchClauses().add(newCatchClause);
-			
-			rewrite.replace(ifStatement.getThenStatement(), newTry, null);	
-		}
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            try {\n");
-		buf.append("                return;\n");
-		buf.append("            } catch (Exception e) {\n");
-		buf.append("            }\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            try {\n");
-		buf.append("                return;\n");
-		buf.append("            } catch (Exception e) {\n");
-		buf.append("            }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatement_bug48988() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void doit() {\n");
-		buf.append("        int var;\n");
-		buf.append("        if (true)\n");
-		buf.append("            var = 17;\n");
-		buf.append("        else if (var == 18)\n");
-		buf.append("            if (1 < var && var < 17)\n");
-		buf.append("                var = 1;\n");
-		buf.append("            else\n");
-		buf.append("                var++;\n");
-		buf.append("        else\n");
-		buf.append("            return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		TypeDeclaration typeDecl= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methDecl= findMethodDeclaration(typeDecl, "doit");
-		IfStatement outerIf= (IfStatement) methDecl.getBody().statements().get(1);
-		ASTNode node= ((IfStatement) outerIf.getElseStatement()).getThenStatement();
-		
-		assertTrue(node instanceof IfStatement);
-		
-		{ // replace else statement by a block containing the old then statement
-			IfStatement ifStatement= (IfStatement) node;
-			ASTNode placeholder = rewrite.createMoveTarget(ifStatement);
-			Block newBlock = ast.newBlock();
-			newBlock.statements().add(placeholder);
-			rewrite.replace(ifStatement, newBlock, null);
-		}
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void doit() {\n");
-		buf.append("        int var;\n");
-		buf.append("        if (true)\n");
-		buf.append("            var = 17;\n");
-		buf.append("        else if (var == 18) {\n");
-		buf.append("            if (1 < var && var < 17)\n");
-		buf.append("                var = 1;\n");
-		buf.append("            else\n");
-		buf.append("                var++;\n");
-		buf.append("        } else\n");
-		buf.append("            return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testIfStatementReplaceElse1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            hoo(11);\n");			
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            hoo(11);\n");	
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace then statement by block , replace else statement
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			
-			Block newElseBlock= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newElseBlock.statements().add(returnStatement);			
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-			
-		}
-		{ // replace then statement by block, replace else statement
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-				
-			Block newElseBlock= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newElseBlock.statements().add(returnStatement);			
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-		}
-		{ // replace then block by statement, replace else statement
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-				
-			Statement returnStatement= ast.newReturnStatement();
-			rewrite.replace(ifStatement.getElseStatement(), returnStatement, null);
-			
-		}
-		{ // replace then block by statement, replace else statement
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-				
-			Statement returnStatement= ast.newReturnStatement();
-			rewrite.replace(ifStatement.getElseStatement(), returnStatement, null);
-		}				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");	
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            return;\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            return;\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-	public void testIfStatementReplaceElse2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            hoo(11);\n");			
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            hoo(11);\n");	
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace then statement by block , replace else statement
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			Block newBody= ast.newBlock();
-			ASTNode newStatement= rewrite.createMoveTarget(statement);
-			newBody.statements().add(newStatement);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			Block newElseBlock= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newElseBlock.statements().add(returnStatement);			
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-			
-		}
-		{ // replace then statement by block, replace else statement
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-			
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-				
-			Block newElseBlock= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newElseBlock.statements().add(returnStatement);			
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-		}
-		{ // replace then block by statement, replace else statement
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-			
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			Block newBody= ast.newBlock();
-			ASTNode newStatement= rewrite.createMoveTarget(statement);
-			newBody.statements().add(newStatement);
-			
-			rewrite.replace(statement, newBody, null);				
-			
-			Statement returnStatement= ast.newReturnStatement();
-			rewrite.replace(ifStatement.getElseStatement(), returnStatement, null);
-			
-		}
-		{ // replace then block by statement, replace else statement
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-			
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-				
-			Statement returnStatement= ast.newReturnStatement();
-			rewrite.replace(ifStatement.getElseStatement(), returnStatement, null);
-		}				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");	
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            return;\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            return;\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatementReplaceElse3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            hoo(11);\n");			
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            hoo(11);\n");	
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace then statement by block , replace else with if statement (no block)
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			Block newBody= ast.newBlock();
-			ASTNode newStatement= rewrite.createMoveTarget(statement);
-			newBody.statements().add(newStatement);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Statement newBody2= (Statement) rewrite.createMoveTarget(ifStatement.getElseStatement());
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-		}
-		{ // replace then statement by block, replace else with if statement (no block)
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-			
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-				
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Statement newBody2= (Statement) rewrite.createMoveTarget(ifStatement.getElseStatement());
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-		}
-		{ // replace then block by statement, replace else with if statement (block)
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-			
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			Block newBody= ast.newBlock();
-			ASTNode newStatement= rewrite.createMoveTarget(statement);
-			newBody.statements().add(newStatement);
-			
-			rewrite.replace(statement, newBody, null);				
-			
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Statement newBody2= (Statement) rewrite.createMoveTarget(ifStatement.getElseStatement());
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-			
-		}
-		{ // replace then block by statement, replace else with if statement (block)
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-			
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-				
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Statement newBody2= (Statement) rewrite.createMoveTarget(ifStatement.getElseStatement());
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-		}				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else if (true)\n");
-		buf.append("            hoo(11);\n");			
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else if (true)\n");
-		buf.append("            hoo(11);\n");	
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else if (true) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else if (true) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testIfStatementReplaceElse4() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else\n");
-		buf.append("            hoo(11);\n");			
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else\n");
-		buf.append("            hoo(11);\n");	
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-				
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace then statement by block , replace else with if statement (block)
-			IfStatement ifStatement= (IfStatement) statements.get(0);
-			
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			Block newBody= ast.newBlock();
-			ASTNode newStatement= rewrite.createMoveTarget(statement);
-			newBody.statements().add(newStatement);
-			
-			rewrite.replace(statement, newBody, null);
-			
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Block newBody2= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newBody2.statements().add(returnStatement);			
-
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-		}
-		{ // replace then statement by block, replace else with if statement (block)
-			IfStatement ifStatement= (IfStatement) statements.get(1);
-			
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-				
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Block newBody2= ast.newBlock();
-			Statement returnStatement= ast.newReturnStatement();
-			newBody2.statements().add(returnStatement);	
-			
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-		}
-		{ // replace then block by statement, replace else with if statement (no block)
-			IfStatement ifStatement= (IfStatement) statements.get(2);
-			
-			ASTNode statement= ifStatement.getThenStatement();
-			
-			Block newBody= ast.newBlock();
-			ASTNode newStatement= rewrite.createMoveTarget(statement);
-			newBody.statements().add(newStatement);
-			
-			rewrite.replace(statement, newBody, null);				
-			
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Statement newBody2= ast.newReturnStatement();
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-			
-		}
-		{ // replace then block by statement, replace else with if statement (no block)
-			IfStatement ifStatement= (IfStatement) statements.get(3);
-			
-			Block body= (Block) ifStatement.getThenStatement();
-			ASTNode statement= (ASTNode) body.statements().get(0);
-			
-			ASTNode newBody= rewrite.createMoveTarget(statement);
-			
-			rewrite.replace(body, newBody, null);
-				
-			IfStatement newElseBlock= ast.newIfStatement();
-			newElseBlock.setExpression(ast.newBooleanLiteral(true));
-			
-			Statement newBody2= ast.newReturnStatement();
-			newElseBlock.setThenStatement(newBody2);
-
-			rewrite.replace(ifStatement.getElseStatement(), newElseBlock, null);
-		}				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else if (true) {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");			
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else if (true) {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");		
-		buf.append("        if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        } else if (true)\n");
-		buf.append("            return;\n");	
-		buf.append("        if (i == 0)\n");
-		buf.append("            System.beep();\n");
-		buf.append("        else if (true)\n");
-		buf.append("            return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	public void testLabeledStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        label: if (i == 0) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-
-		{ // replace label and statement
-			LabeledStatement labeledStatement= (LabeledStatement) statements.get(0);
-			
-			Name newLabel= ast.newSimpleName("newLabel");
-			
-			rewrite.replace(labeledStatement.getLabel(), newLabel, null);
-						
-			Assignment newExpression= ast.newAssignment();
-			newExpression.setLeftHandSide(ast.newSimpleName("x"));
-			newExpression.setRightHandSide(ast.newNumberLiteral("1"));
-			newExpression.setOperator(Assignment.Operator.ASSIGN);
-			
-			Statement newStatement= ast.newExpressionStatement(newExpression);
-			
-			rewrite.replace(labeledStatement.getBody(), newStatement, null);
-		}		
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        newLabel: x = 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}		
-	
-	public void testReturnStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        return;\n");
-		buf.append("        return 1;\n");
-		buf.append("        return 1;\n");
-		buf.append("        return 1 + 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-		{ // insert expression
-			ReturnStatement statement= (ReturnStatement) statements.get(0);
-			assertTrue("Has expression", statement.getExpression() == null);
-			
-			SimpleName newExpression= ast.newSimpleName("x");	
-			rewrite.set(statement, ReturnStatement.EXPRESSION_PROPERTY, newExpression, null);
-		}
-		{ // replace expression
-			ReturnStatement statement= (ReturnStatement) statements.get(1);
-			
-			Expression expression= statement.getExpression();
-			assertTrue("Has no label", expression != null);
-			
-			SimpleName newExpression= ast.newSimpleName("x");
-
-			rewrite.replace(expression, newExpression, null);
-		}
-		{ // remove expression
-			ReturnStatement statement= (ReturnStatement) statements.get(2);
-			
-			Expression expression= statement.getExpression();
-			assertTrue("Has no label", expression != null);
-			
-			rewrite.remove(expression, null);
-		}
-		{ // modify in expression (no change)
-			ReturnStatement statement= (ReturnStatement) statements.get(3);
-			
-			InfixExpression expression= (InfixExpression) statement.getExpression();
-			rewrite.replace(expression.getLeftOperand(), ast.newNumberLiteral("9"), null);
-		}		
-		
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        return x;\n");
-		buf.append("        return x;\n");
-		buf.append("        return;\n");
-		buf.append("        return 9 + 2;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testSwitchStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        switch (i) {\n");
-		buf.append("        }\n");
-		buf.append("        switch (i) {\n");
-		buf.append("            case 1:\n");
-		buf.append("                i= 1;\n");
-		buf.append("                break;\n");	
-		buf.append("            case 2:\n");
-		buf.append("                i= 2;\n");
-		buf.append("                break;\n");			
-		buf.append("            default:\n");
-		buf.append("                i= 3;\n");		
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List blockStatements= block.statements();
-		assertTrue("Number of statements not 2", blockStatements.size() == 2);
-		{ // insert statements, replace expression
-			SwitchStatement switchStatement= (SwitchStatement) blockStatements.get(0);
-			
-			ASTNode expression= switchStatement.getExpression();
-			SimpleName newExpression= ast.newSimpleName("x");	
-			rewrite.replace(expression, newExpression, null);
-			
-			List statements= switchStatement.statements();
-			assertTrue("Number of statements not 0", statements.size() == 0);
-			
-			SwitchCase caseStatement1= ast.newSwitchCase();
-			caseStatement1.setExpression(ast.newNumberLiteral("1"));
-			
-			Statement statement1= ast.newReturnStatement();
-			
-			SwitchCase caseStatement2= ast.newSwitchCase(); // default
-			caseStatement2.setExpression(null);
-			
-			ListRewrite listRewrite= rewrite.getListRewrite(switchStatement, SwitchStatement.STATEMENTS_PROPERTY);
-			listRewrite.insertLast(caseStatement1, null);
-			listRewrite.insertLast(statement1, null);
-			listRewrite.insertLast(caseStatement2, null);
-		}
-		
-		{ // insert, remove, replace statements, change case statements
-			SwitchStatement switchStatement= (SwitchStatement) blockStatements.get(1);
-			
-			List statements= switchStatement.statements();
-			assertTrue("Number of statements not 8", statements.size() == 8);
-			
-			// remove statements
-			
-			rewrite.remove((ASTNode) statements.get(0), null);
-			rewrite.remove((ASTNode) statements.get(1), null);
-			rewrite.remove((ASTNode) statements.get(2), null);
-			
-			// change case statement
-			SwitchCase caseStatement= (SwitchCase) statements.get(3);
-			Expression newCaseExpression= ast.newNumberLiteral("10");
-			rewrite.replace(caseStatement.getExpression(), newCaseExpression, null);
-			
-			ListRewrite listRewrite= rewrite.getListRewrite(switchStatement, SwitchStatement.STATEMENTS_PROPERTY);
-			
-			{
-				// insert case statement
-				SwitchCase caseStatement2= ast.newSwitchCase();
-				caseStatement2.setExpression(ast.newNumberLiteral("11"));
-				listRewrite.insertFirst(caseStatement2, null);
-	
-				// insert statement
-				Statement statement1= ast.newReturnStatement();
-				listRewrite.insertAfter(statement1, caseStatement2, null);
-			}
-			
-			{
-				// insert case statement
-				SwitchCase caseStatement2= ast.newSwitchCase();
-				caseStatement2.setExpression(ast.newNumberLiteral("12"));
-				listRewrite.insertLast(caseStatement2, null);
-	
-				// insert statement
-				Statement statement1= ast.newReturnStatement();
-				listRewrite.insertAfter(statement1, caseStatement2, null);
-			}			
-			
-
-		}		
-	
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        switch (x) {\n");
-		buf.append("            case 1 :\n");
-		buf.append("                return;\n");
-		buf.append("            default :\n");			
-		buf.append("        }\n");
-		buf.append("        switch (i) {\n");
-		buf.append("            case 11 :\n");
-		buf.append("                return;\n");
-		buf.append("            case 10:\n");		
-		buf.append("                i= 2;\n");
-		buf.append("                break;\n");			
-		buf.append("            default:\n");
-		buf.append("                i= 3;\n");
-		buf.append("            case 12 :\n");
-		buf.append("                return;\n");			
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testSynchronizedStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        synchronized(this) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-
-		{ // replace expression and body
-			SynchronizedStatement statement= (SynchronizedStatement) statements.get(0);
-			ASTNode newExpression= ast.newSimpleName("obj");
-			rewrite.replace(statement.getExpression(), newExpression, null);
-			
-			Block newBody= ast.newBlock();
-						
-			Assignment assign= ast.newAssignment();
-			assign.setLeftHandSide(ast.newSimpleName("x"));
-			assign.setRightHandSide(ast.newNumberLiteral("1"));
-			assign.setOperator(Assignment.Operator.ASSIGN);
-			
-			newBody.statements().add(ast.newExpressionStatement(assign));
-			
-			rewrite.replace(statement.getBody(), newBody, null);
-		}		
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        synchronized(obj) {\n");
-		buf.append("            x = 1;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testThrowStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        throw new Exception();\n");
-		buf.append("    }\n");
-		buf.append("    public void goo() {\n");
-		buf.append("        throw new Exception('d');\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		{ // replace expression
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-			Block block= methodDecl.getBody();
-			List statements= block.statements();
-			assertTrue("Number of statements not 1", statements.size() == 1);			
-			
-			ThrowStatement statement= (ThrowStatement) statements.get(0);
-			
-			ClassInstanceCreation creation= ast.newClassInstanceCreation();
-			creation.setName(ast.newSimpleName("NullPointerException"));
-			creation.arguments().add(ast.newSimpleName("x"));
-			
-			rewrite.replace(statement.getExpression(), creation, null);
-		}
-		
-		{ // modify expression
-			MethodDeclaration methodDecl= findMethodDeclaration(type, "goo");
-			Block block= methodDecl.getBody();
-			List statements= block.statements();
-			assertTrue("Number of statements not 1", statements.size() == 1);			
-			
-			ThrowStatement statement= (ThrowStatement) statements.get(0);			
-			
-			ClassInstanceCreation creation= (ClassInstanceCreation) statement.getExpression();
-			
-			ASTNode newArgument= ast.newSimpleName("x");
-			rewrite.replace((ASTNode) creation.arguments().get(0), newArgument, null);
-		}				
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        throw new NullPointerException(x);\n");
-		buf.append("    }\n");
-		buf.append("    public void goo() {\n");
-		buf.append("        throw new Exception(x);\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}		
-		
-	public void testTryStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        try {\n");	
-		buf.append("        } finally {\n");
-		buf.append("        }\n");		
-		buf.append("        try {\n");	
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");
-		buf.append("        try {\n");	
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");
-		buf.append("        try {\n");	
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List blockStatements= block.statements();
-		assertTrue("Number of statements not 4", blockStatements.size() == 4);
-		{ // add catch, replace finally
-			TryStatement tryStatement= (TryStatement) blockStatements.get(0);
-			
-			CatchClause catchClause= ast.newCatchClause();
-			SingleVariableDeclaration decl= ast.newSingleVariableDeclaration();
-			decl.setType(ast.newSimpleType(ast.newSimpleName("IOException")));
-			decl.setName(ast.newSimpleName("e"));
-			catchClause.setException(decl);
-						
-			rewrite.getListRewrite(tryStatement, TryStatement.CATCH_CLAUSES_PROPERTY).insertLast(catchClause, null);
-			
-			Block body= ast.newBlock();
-			body.statements().add(ast.newReturnStatement());
-			
-			rewrite.replace(tryStatement.getFinally(), body, null);
-		}
-		{ // replace catch, remove finally
-			TryStatement tryStatement= (TryStatement) blockStatements.get(1);
-			
-			List catchClauses= tryStatement.catchClauses();
-			
-			CatchClause catchClause= ast.newCatchClause();
-			SingleVariableDeclaration decl= ast.newSingleVariableDeclaration();
-			decl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			decl.setName(ast.newSimpleName("x"));
-			catchClause.setException(decl);
-			
-			rewrite.replace((ASTNode) catchClauses.get(0), catchClause, null);
-					
-			rewrite.remove(tryStatement.getFinally(), null);
-		}
-		{ // remove catch, add finally
-			TryStatement tryStatement= (TryStatement) blockStatements.get(2);
-			
-			List catchClauses= tryStatement.catchClauses();
-			rewrite.remove((ASTNode) catchClauses.get(0), null);
-			
-			
-			Block body= ast.newBlock();
-			body.statements().add(ast.newReturnStatement());
-
-			rewrite.set(tryStatement, TryStatement.FINALLY_PROPERTY, body, null);
-		}
-		{ // insert catch before and after existing
-			TryStatement tryStatement= (TryStatement) blockStatements.get(3);
-			
-			CatchClause catchClause1= ast.newCatchClause();
-			SingleVariableDeclaration decl1= ast.newSingleVariableDeclaration();
-			decl1.setType(ast.newSimpleType(ast.newSimpleName("ParseException")));
-			decl1.setName(ast.newSimpleName("e"));
-			catchClause1.setException(decl1);
-			
-			rewrite.getListRewrite(tryStatement, TryStatement.CATCH_CLAUSES_PROPERTY).insertFirst(catchClause1, null);
-
-			
-			CatchClause catchClause2= ast.newCatchClause();
-			SingleVariableDeclaration decl2= ast.newSingleVariableDeclaration();
-			decl2.setType(ast.newSimpleType(ast.newSimpleName("FooException")));
-			decl2.setName(ast.newSimpleName("e"));
-			catchClause2.setException(decl2);
-			
-			rewrite.getListRewrite(tryStatement, TryStatement.CATCH_CLAUSES_PROPERTY).insertLast(catchClause2, null);
-		}				
-			
-	
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        try {\n");
-		buf.append("        } catch (IOException e) {\n");		
-		buf.append("        } finally {\n");
-		buf.append("            return;\n");				
-		buf.append("        }\n");		
-		buf.append("        try {\n");	
-		buf.append("        } catch (Exception x) {\n");
-		buf.append("        }\n");
-		buf.append("        try {\n");	
-		buf.append("        } finally {\n");
-		buf.append("            return;\n");		
-		buf.append("        }\n");
-		buf.append("        try {\n");
-		buf.append("        } catch (ParseException e) {\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } catch (FooException e) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testTypeDeclarationStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        class A {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("Parse errors", (block.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		{ // replace expression
-			TypeDeclarationStatement stmt= (TypeDeclarationStatement) statements.get(0);
-			
-			TypeDeclaration newDeclaration= ast.newTypeDeclaration();
-			newDeclaration.setName(ast.newSimpleName("X"));
-			newDeclaration.setInterface(true);
-				
-			rewrite.replace(stmt.getTypeDeclaration(), newDeclaration, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        interface X {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testVariableDeclarationStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i1= 1;\n");
-		buf.append("        int i2= 1, k2= 2, n2= 3;\n");
-		buf.append("        final int i3= 1, k3= 2, n3= 3;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "A");
-		
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("Parse errors", (block.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-		{	// add modifier, change type, add fragment
-			VariableDeclarationStatement decl= (VariableDeclarationStatement) statements.get(0);
-			
-			// add modifier
-			int newModifiers= Modifier.FINAL;
-			rewrite.set(decl, VariableDeclarationStatement.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			PrimitiveType newType= ast.newPrimitiveType(PrimitiveType.BOOLEAN);
-			rewrite.replace(decl.getType(), newType, null);
-					
-			VariableDeclarationFragment frag=	ast.newVariableDeclarationFragment();
-			frag.setName(ast.newSimpleName("k1"));
-			frag.setInitializer(null);
-						
-			rewrite.getListRewrite(decl, VariableDeclarationStatement.FRAGMENTS_PROPERTY).insertLast(frag, null);
-		}
-		{	// add modifiers, remove first two fragments, replace last
-			VariableDeclarationStatement decl= (VariableDeclarationStatement) statements.get(1);
-			
-			// add modifier
-			int newModifiers= Modifier.FINAL;
-			rewrite.set(decl, VariableDeclarationStatement.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			List fragments= decl.fragments();
-			assertTrue("Number of fragments not 3", fragments.size() == 3);
-			
-			rewrite.remove((ASTNode) fragments.get(0), null);
-			rewrite.remove((ASTNode) fragments.get(1), null);
-			
-			VariableDeclarationFragment frag=	ast.newVariableDeclarationFragment();
-			frag.setName(ast.newSimpleName("k2"));
-			frag.setInitializer(null);
-			
-			rewrite.replace((ASTNode) fragments.get(2), frag, null);
-		}
-		{	// remove modifiers
-			VariableDeclarationStatement decl= (VariableDeclarationStatement) statements.get(2);
-			
-			// add modifiers
-			int newModifiers= 0;
-			rewrite.set(decl, VariableDeclarationStatement.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo() {\n");		
-		buf.append("        final boolean i1= 1, k1;\n");
-		buf.append("        final int k2;\n");
-		buf.append("        int i3= 1, k3= 2, n3= 3;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");	
-		
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testWhileStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (i == j) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-
-		{ // replace expression and body
-			WhileStatement whileStatement= (WhileStatement) statements.get(0);
-
-			BooleanLiteral literal= ast.newBooleanLiteral(true);
-			rewrite.replace(whileStatement.getExpression(), literal, null);
-			
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(whileStatement.getBody(), newBody, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (true) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testWhileStatement1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (true) {\n");
-		buf.append("            foo();\n");		
-		buf.append("        }\n");	
-		buf.append("        while (true)\n");
-		buf.append("            foo();\n");	
-		buf.append("        while (true) {\n");
-		buf.append("            foo();\n");	
-		buf.append("        }\n");	
-		buf.append("        while (true)\n");
-		buf.append("            foo();\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		assertTrue("Parse errors", (block.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		List statements= block.statements();
-		assertTrue("Number of statements not 4", statements.size() == 4);
-
-		{ // replace body block with statement
-			WhileStatement whileStatement= (WhileStatement) statements.get(0);
-			
-			
-			TryStatement newTry= ast.newTryStatement();
-			newTry.getBody().statements().add(ast.newReturnStatement());
-			CatchClause newCatchClause= ast.newCatchClause();
-			SingleVariableDeclaration varDecl= ast.newSingleVariableDeclaration();
-			varDecl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			varDecl.setName(ast.newSimpleName("e"));
-			newCatchClause.setException(varDecl);
-			newTry.catchClauses().add(newCatchClause);
-			
-			rewrite.replace(whileStatement.getBody(), newTry, null);
-		}
-		{ // replace body statement with block
-			WhileStatement whileStatement= (WhileStatement) statements.get(1);
-			
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(whileStatement.getBody(), newBody, null);
-
-		}
-		{ // replace body block with block
-			WhileStatement whileStatement= (WhileStatement) statements.get(2);
-			
-			Block newBody= ast.newBlock();
-			
-			MethodInvocation invocation= ast.newMethodInvocation();
-			invocation.setName(ast.newSimpleName("hoo"));
-			invocation.arguments().add(ast.newNumberLiteral("11"));
-			
-			newBody.statements().add(ast.newExpressionStatement(invocation));
-			
-			rewrite.replace(whileStatement.getBody(), newBody, null);
-
-		}		
-		{ // replace body statement with body
-			WhileStatement whileStatement= (WhileStatement) statements.get(3);
-			
-			
-			TryStatement newTry= ast.newTryStatement();
-			newTry.getBody().statements().add(ast.newReturnStatement());
-			CatchClause newCatchClause= ast.newCatchClause();
-			SingleVariableDeclaration varDecl= ast.newSingleVariableDeclaration();
-			varDecl.setType(ast.newSimpleType(ast.newSimpleName("Exception")));
-			varDecl.setName(ast.newSimpleName("e"));
-			newCatchClause.setException(varDecl);
-			newTry.catchClauses().add(newCatchClause);
-			
-			rewrite.replace(whileStatement.getBody(), newTry, null);
-		}
-		
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (true)\n");
-		buf.append("            try {\n");
-		buf.append("                return;\n");
-		buf.append("            } catch (Exception e) {\n");
-		buf.append("            }\n");	
-		buf.append("        while (true) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");	
-		buf.append("        while (true) {\n");
-		buf.append("            hoo(11);\n");
-		buf.append("        }\n");	
-		buf.append("        while (true)\n");
-		buf.append("            try {\n");
-		buf.append("                return;\n");
-		buf.append("            } catch (Exception e) {\n");
-		buf.append("            }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}		
-	
-	
-	public void testInsertCode() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (i == j) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-	
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-
-		{ // replace while statement with comment, insert new statement
-			WhileStatement whileStatement= (WhileStatement) statements.get(0);
-			String comment= "//hello";
-			ASTNode placeHolder= rewrite.createStringPlaceholder(comment, ASTNode.RETURN_STATEMENT);
-			
-			rewrite.replace(whileStatement, placeHolder, null);
-			
-			StringBuffer buf1= new StringBuffer();
-			buf1.append("if (i == 3) {\n");
-			buf1.append("    System.beep();\n");
-			buf1.append("}");
-			
-			ASTNode placeHolder2= rewrite.createStringPlaceholder(buf1.toString(), ASTNode.IF_STATEMENT);
-			rewrite.getListRewrite(block, Block.STATEMENTS_PROPERTY).insertLast(placeHolder2, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        //hello\n");
-		buf.append("        if (i == 3) {\n");
-		buf.append("            System.beep();\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	
-}
-
-
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTest.java
deleted file mode 100644
index 7b4d4cd..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.StringAsserts;
-import org.eclipse.text.edits.TextEdit;
-
-import org.eclipse.jface.text.Document;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.Modifier;
-import org.eclipse.jdt.core.dom.PrimitiveType;
-import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-
-/**
-  */
-public class ASTRewritingTest extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite();
-		suite.addTest(ASTRewritingExpressionsTest.allTests());
-		suite.addTest(ASTRewritingInsertBoundTest.allTests());
-		suite.addTest(ASTRewritingMethodDeclTest.allTests());
-		suite.addTest(ASTRewritingMoveCodeTest.allTests());
-		suite.addTest(ASTRewritingStatementsTest.allTests());
-		suite.addTest(ASTRewritingTrackingTest.allTests());
-		suite.addTest(ASTRewritingTypeDeclTest.allTests());
-		suite.addTest(SourceModifierTest.allTests());
-		suite.addTest(ASTRewritingCollapseTest.allTests());
-		suite.addTest(ASTRewritingJavadocTest.allTests());
-		
-		return new ProjectTestSetup(suite);
-	}
-
-	
-	public ASTRewritingTest(String name) {
-		super(name);
-	}
-	
-	protected CompilationUnit createAST(ICompilationUnit cu) {
-		ASTParser parser= ASTParser.newParser(AST.LEVEL_2_0);
-		parser.setSource(cu);
-		parser.setResolveBindings(false);
-		return (CompilationUnit) parser.createAST(null);
-	}
-	
-	/**
-	 * Returns the result of a rewrite.
-	 */
-	protected String evaluateRewrite(ICompilationUnit cu, ASTRewrite rewrite) throws Exception {
-		Document document= new Document(cu.getSource());
-		TextEdit res= rewrite.rewriteAST(document, cu.getJavaProject().getOptions(true));
-		
-		res.apply(document);
-		return document.get();
-	}
-	
-	
-	public static void assertEqualString(String actual, String expected) {
-		StringAsserts.assertEqualString(actual, expected);
-	}
-	
-	public static TypeDeclaration findTypeDeclaration(CompilationUnit astRoot, String simpleTypeName) {
-		List types= astRoot.types();
-		for (int i= 0; i < types.size(); i++) {
-			TypeDeclaration elem= (TypeDeclaration) types.get(i);
-			if (simpleTypeName.equals(elem.getName().getIdentifier())) {
-				return elem;
-			}
-		}
-		return null;
-	}
-	
-	public static MethodDeclaration findMethodDeclaration(TypeDeclaration typeDecl, String methodName) {
-		MethodDeclaration[] methods= typeDecl.getMethods();
-		for (int i= 0; i < methods.length; i++) {
-			if (methodName.equals(methods[i].getName().getIdentifier())) {
-				return methods[i];
-			}
-		}
-		return null;
-	}
-	
-	public static SingleVariableDeclaration createNewParam(AST ast, String name) {
-		SingleVariableDeclaration newParam= ast.newSingleVariableDeclaration();
-		newParam.setType(ast.newPrimitiveType(PrimitiveType.FLOAT));
-		newParam.setName(ast.newSimpleName(name));
-		return newParam;
-	}
-	
-	protected FieldDeclaration createNewField(AST ast, String name) {
-		VariableDeclarationFragment frag= ast.newVariableDeclarationFragment();
-		frag.setName(ast.newSimpleName(name));
-		FieldDeclaration newFieldDecl= ast.newFieldDeclaration(frag);
-		newFieldDecl.setModifiers(Modifier.PRIVATE);
-		newFieldDecl.setType(ast.newPrimitiveType(PrimitiveType.DOUBLE));
-		return newFieldDecl;
-	}
-	
-	protected MethodDeclaration createNewMethod(AST ast, String name, boolean isAbstract) {
-		MethodDeclaration decl= ast.newMethodDeclaration();
-		decl.setName(ast.newSimpleName(name));
-		decl.setReturnType(ast.newPrimitiveType(PrimitiveType.VOID));
-		decl.setModifiers(isAbstract ? (Modifier.ABSTRACT | Modifier.PRIVATE) : Modifier.PRIVATE);
-		SingleVariableDeclaration param= ast.newSingleVariableDeclaration();
-		param.setName(ast.newSimpleName("str"));
-		param.setType(ast.newSimpleType(ast.newSimpleName("String")));
-		decl.parameters().add(param);
-		decl.setBody(isAbstract ? null : ast.newBlock());
-		return decl;
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTrackingTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTrackingTest.java
deleted file mode 100644
index 97b8ef3..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTrackingTest.java
+++ /dev/null
@@ -1,565 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ITrackedNodePosition;
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-
-public class ASTRewritingTrackingTest extends ASTRewritingTest {
-
-	private static final Class THIS= ASTRewritingTrackingTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-	
-	
-
-	public ASTRewritingTrackingTest(String name) {
-		super(name);
-	}
-	
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingTrackingTest("testNamesWithPlaceholder"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-		
-	
-	public void testNamesWithDelete() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            i--;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		ASTRewrite rewrite= new ASTRewrite(ast);
-		
-		ArrayList names= new ArrayList();
-		ArrayList positions= new ArrayList();
-		
-		TypeDeclaration typeC= findTypeDeclaration(astRoot, "C");
-		ITrackedNodePosition position= rewrite.track(typeC.getName());
-		names.add("C");
-		positions.add(position);
-		
-		List decls= typeC.bodyDeclarations();
-		
-		MethodDeclaration method= (MethodDeclaration) decls.get(1);
-		ITrackedNodePosition position2= rewrite.track(method.getName());
-		names.add("foo");
-		positions.add(position2);
-		
-		FieldDeclaration field= (FieldDeclaration) decls.get(0);
-		rewrite.remove(field, null);
-						
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            i--;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		String expected= buf.toString();
-		assertEqualString(preview, expected);
-		
-		assertCorrectTracking(names, positions, expected);
-
-	}
-	
-	private void assertCorrectTracking(List names, List positions, String expected) {
-		for (int i= 0; i < names.size(); i++) {
-			String name= (String) names.get(i);
-			ITrackedNodePosition pos= (ITrackedNodePosition) positions.get(i);
-			String string= expected.substring(pos.getStartPosition(), pos.getStartPosition() + pos.getLength());
-			assertEqualString(string, name);
-		}
-	}
-
-	public void testNamesWithInsert() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            i--;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(ast);
-		
-		ArrayList names= new ArrayList();
-		ArrayList positions= new ArrayList();
-		
-		TypeDeclaration typeC= findTypeDeclaration(astRoot, "C");
-		ITrackedNodePosition position= rewrite.track(typeC.getName());
-		names.add("C");
-		positions.add(position);
-		
-		List decls= typeC.bodyDeclarations();
-		
-		MethodDeclaration method= (MethodDeclaration) decls.get(1);
-		position= rewrite.track(method.getName());
-		names.add("foo");
-		positions.add(position);
-		
-		FieldDeclaration field= (FieldDeclaration) decls.get(0);
-		List fragments= field.fragments();
-		VariableDeclarationFragment frag1= (VariableDeclarationFragment) fragments.get(0);
-		position= rewrite.track(frag1.getName());
-		names.add("x1");
-		positions.add(position);
-		
-		VariableDeclarationFragment newFrag= ast.newVariableDeclarationFragment();
-		newFrag.setName(ast.newSimpleName("newVariable"));
-		newFrag.setExtraDimensions(2);
-
-		rewrite.getListRewrite(field, FieldDeclaration.FRAGMENTS_PROPERTY).insertFirst(newFrag, null);
-
-						
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public int newVariable[][], x1;\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            i--;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		String expected= buf.toString();
-		assertEqualString(preview, expected);
-
-		assertCorrectTracking(names, positions, expected);
-
-	}
-	
-	public void testNamesWithReplace() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            ++i;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		
-		ASTRewrite rewrite= new ASTRewrite(ast);
-		
-		ArrayList names= new ArrayList();
-		ArrayList positions= new ArrayList();
-		
-		// change type name
-		TypeDeclaration typeC= findTypeDeclaration(astRoot, "C");
-		SimpleName newName= ast.newSimpleName("XX");
-		rewrite.replace(typeC.getName(), newName, null);
-		ITrackedNodePosition position= rewrite.track(newName);
-		names.add("XX");
-		positions.add(position);
-		
-		List decls= typeC.bodyDeclarations();
-		
-		MethodDeclaration method= (MethodDeclaration) decls.get(1);
-		position= rewrite.track(method.getName());
-		names.add("foo");
-		positions.add(position);
-		
-		WhileStatement whileStatement= (WhileStatement) method.getBody().statements().get(0);
-		PrefixExpression prefixExpression= (PrefixExpression) ((ExpressionStatement) ((Block) whileStatement.getBody()).statements().get(0)).getExpression();
-		position= rewrite.track(prefixExpression.getOperand());
-		names.add("i");
-		positions.add(position);
-				
-		FieldDeclaration field= (FieldDeclaration) decls.get(0);
-		List fragments= field.fragments();
-		VariableDeclarationFragment frag1= (VariableDeclarationFragment) fragments.get(0);
-		position= rewrite.track(frag1.getName());
-		names.add("x1");
-		positions.add(position);
-		
-		// change modifier
-		int newModifiers= Modifier.STATIC | Modifier.TRANSIENT | Modifier.PRIVATE;
-		rewrite.set(field, FieldDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-								
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class XX {\n");
-		buf.append("\n");
-		buf.append("    private static transient int x1;\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            ++i;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		String expected= buf.toString();
-		assertEqualString(preview, expected);
-		
-		assertCorrectTracking(names, positions, expected);
-	}
-	
-	public void testNamesWithMove1() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            ++i;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		ASTRewrite rewrite= new ASTRewrite(ast);
-		
-		ArrayList names= new ArrayList();
-		ArrayList positions= new ArrayList();
-		
-		// change type name
-		TypeDeclaration typeC= findTypeDeclaration(astRoot, "C");
-		ITrackedNodePosition position= rewrite.track(typeC.getName());
-		names.add("C");
-		positions.add(position);
-		
-		List decls= typeC.bodyDeclarations();
-		
-		MethodDeclaration method= (MethodDeclaration) decls.get(1);
-		position= rewrite.track(method.getName());
-		names.add("foo");
-		positions.add(position);
-		
-		WhileStatement whileStatement= (WhileStatement) method.getBody().statements().get(0);
-		PrefixExpression prefixExpression= (PrefixExpression) ((ExpressionStatement) ((Block) whileStatement.getBody()).statements().get(0)).getExpression();
-		position= rewrite.track(prefixExpression.getOperand());
-		names.add("i");
-		positions.add(position);
-					
-		FieldDeclaration field= (FieldDeclaration) decls.get(0);
-		List fragments= field.fragments();
-		VariableDeclarationFragment frag1= (VariableDeclarationFragment) fragments.get(0);
-		position= rewrite.track(frag1.getName());
-		names.add("x1");
-		positions.add(position);
-
-		// move method before field
-		ASTNode placeHolder= rewrite.createMoveTarget(method);
-		rewrite.getListRewrite(typeC, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertFirst(placeHolder, null);
-								
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            ++i;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("}\n");	
-		String expected= buf.toString();
-		assertEqualString(preview, expected);
-		
-		assertCorrectTracking(names, positions, expected);
-
-	}
-	
-	public void testNamesWithMove2() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            ++i;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		ASTRewrite rewrite= new ASTRewrite(ast);
-		
-		ArrayList names= new ArrayList();
-		ArrayList positions= new ArrayList();
-		
-		// change type name
-		TypeDeclaration typeC= findTypeDeclaration(astRoot, "C");
-		ITrackedNodePosition position= rewrite.track(typeC.getName());
-		names.add("C");
-		positions.add(position);
-		
-		List decls= typeC.bodyDeclarations();
-		
-		MethodDeclaration method= (MethodDeclaration) decls.get(0);
-		position= rewrite.track(method.getName());
-		names.add("foo");
-		positions.add(position);
-		
-		WhileStatement whileStatement= (WhileStatement) method.getBody().statements().get(0);
-		PrefixExpression prefixExpression= (PrefixExpression) ((ExpressionStatement) ((Block) whileStatement.getBody()).statements().get(0)).getExpression();
-		position= rewrite.track(prefixExpression.getOperand());
-		names.add("i");
-		positions.add(position);
-
-		// move method before field
-		ASTNode placeHolder= rewrite.createMoveTarget(whileStatement);
-		
-		TryStatement tryStatement= ast.newTryStatement();
-		tryStatement.getBody().statements().add(placeHolder);
-		tryStatement.setFinally(ast.newBlock());
-		rewrite.replace(whileStatement, tryStatement, null);
-								
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("        try {\n");
-		buf.append("            while (i == 0) {\n");
-		buf.append("                ++i;\n");
-		buf.append("            }\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		String expected= buf.toString();
-		assertEqualString(preview, expected);
-		
-		assertCorrectTracking(names, positions, expected);
-	}	
-	
-	public void testNamesWithMove3() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		ASTRewrite rewrite= new ASTRewrite(ast);
-		
-		ArrayList names= new ArrayList();
-		ArrayList positions= new ArrayList();
-		
-		// change type name
-		TypeDeclaration typeC= findTypeDeclaration(astRoot, "C");
-		ITrackedNodePosition position= rewrite.track(typeC.getName());
-		names.add("C");
-		positions.add(position);
-		
-		List decls= typeC.bodyDeclarations();
-		
-		MethodDeclaration method= (MethodDeclaration) decls.get(1);
-		position=  rewrite.track(method.getName());
-		names.add("foo");
-		positions.add(position);
-		
-		// move method before field
-		ASTNode placeHolder= rewrite.createMoveTarget(method);
-		
-		rewrite.getListRewrite(typeC, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertFirst(placeHolder, null);
-								
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("\n");
-		buf.append("    public void foo(String s, int i) {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public int x1;\n");
-		buf.append("}\n");	
-		String expected= buf.toString();
-		assertEqualString(preview, expected);
-		
-		assertCorrectTracking(names, positions, expected);
-
-	}
-	public void testNamesWithPlaceholder() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public String foo(Object s) {\n");
-		buf.append("        return s;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		CompilationUnit astRoot= createAST(cu);
-		AST ast= astRoot.getAST();
-		ASTRewrite rewrite= new ASTRewrite(ast);
-		
-		ArrayList names= new ArrayList();
-		ArrayList positions= new ArrayList();
-		
-		// change type name
-		TypeDeclaration typeC= findTypeDeclaration(astRoot, "C");
-		ITrackedNodePosition position= rewrite.track(typeC.getName());
-		names.add("C");
-		positions.add(position);
-		
-		List decls= typeC.bodyDeclarations();
-		
-		MethodDeclaration method= (MethodDeclaration) decls.get(0);
-		position= rewrite.track(method.getName());
-		names.add("foo");
-		positions.add(position);
-		
-		ReturnStatement returnStatement= (ReturnStatement) method.getBody().statements().get(0);
-		
-		CastExpression castExpression= ast.newCastExpression();
-		Type type= (Type) rewrite.createStringPlaceholder("String", ASTNode.SIMPLE_TYPE);
-		Expression expression= (Expression) rewrite.createMoveTarget(returnStatement.getExpression());
-		castExpression.setType(type);
-		castExpression.setExpression(expression);
-		
-		rewrite.replace(returnStatement.getExpression(), castExpression, null);
-		
-		position= rewrite.track(type);
-		names.add("String");
-		positions.add(position);
-		
-		position= rewrite.track(expression);
-		names.add("s");
-		positions.add(position);
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    public String foo(Object s) {\n");
-		buf.append("        return (String) s;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		String expected= buf.toString();
-		assertEqualString(preview, expected);
-		
-		assertCorrectTracking(names, positions, expected);
-
-	}	
-
-	
-}
-
-
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTypeDeclTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTypeDeclTest.java
deleted file mode 100644
index 0dbf106..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/ASTRewritingTypeDeclTest.java
+++ /dev/null
@@ -1,1028 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.ListRewrite;
-import org.eclipse.jdt.internal.corext.dom.ASTRewrite;
-
-public class ASTRewritingTypeDeclTest extends ASTRewritingTest {
-	
-	private static final Class THIS= ASTRewritingTypeDeclTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ASTRewritingTypeDeclTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ASTRewritingTypeDeclTest("testVariableDeclarationFragment"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-		
-	public void testTypeDeclChanges() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");		
-		buf.append("    private int i;\n");	
-		buf.append("    private int k;\n");	
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("class F implements Runnable {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // rename type, rename supertype, rename first interface, replace inner class with field
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			SimpleName name= type.getName();
-			SimpleName newName= ast.newSimpleName("X");
-			
-			rewrite.replace(name, newName, null);
-			
-			Name superClass= type.getSuperclass();
-			assertTrue("Has super type", superClass != null);
-			
-			SimpleName newSuperclass= ast.newSimpleName("Object");
-			rewrite.replace(superClass, newSuperclass, null);
-
-			List superInterfaces= type.superInterfaces();
-			assertTrue("Has super interfaces", !superInterfaces.isEmpty());
-			
-			SimpleName newSuperinterface= ast.newSimpleName("Cloneable");
-			rewrite.replace((ASTNode) superInterfaces.get(0), newSuperinterface, null);
-			
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			FieldDeclaration newFieldDecl= createNewField(ast, "fCount");
-			
-			rewrite.replace((ASTNode) members.get(0), newFieldDecl, null);
-		}
-		{ // replace method in F, change to interface
-			TypeDeclaration type= findTypeDeclaration(astRoot, "F");
-			
-			// change flags
-			int newModifiers= 0;
-			rewrite.set(type, TypeDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-
-			// change to interface
-			rewrite.set(type, TypeDeclaration.INTERFACE_PROPERTY, Boolean.TRUE, null);
-			
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", members.size() == 1);
-
-			MethodDeclaration methodDecl= createNewMethod(ast, "newFoo", true);
-
-			rewrite.replace((ASTNode) members.get(0), methodDecl, null);
-		}
-		
-		{ // change to class, add supertype
-			TypeDeclaration type= findTypeDeclaration(astRoot, "G");
-			
-			// change flags
-			int newModifiers= 0;
-			rewrite.set(type, TypeDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-
-			// change to class
-			rewrite.set(type, TypeDeclaration.INTERFACE_PROPERTY, Boolean.FALSE, null);
-			
-			
-			SimpleName newSuperclass= ast.newSimpleName("Object");
-			rewrite.set(type, TypeDeclaration.SUPERCLASS_PROPERTY, newSuperclass, null);
-		}			
-					
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X extends Object implements Cloneable, Serializable {\n");
-		buf.append("    private double fCount;\n");
-		buf.append("    private int i;\n");	
-		buf.append("    private int k;\n");
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("interface F extends Runnable {\n");
-		buf.append("    private abstract void newFoo(String str);\n");
-		buf.append("}\n");				
-		buf.append("class G extends Object {\n");
-		buf.append("}\n");			
-		assertEqualString(preview, buf.toString());
-
-	}
-
-
-	
-	public void testTypeDeclRemoves() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");		
-		buf.append("    private int i;\n");	
-		buf.append("    private int k;\n");	
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("class F implements Runnable {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		{ // change to interface, remove supertype, remove first interface, remove field
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			
-			// change flags
-			int newModifiers= 0;
-			rewrite.set(type, TypeDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-
-			// change to interface
-			rewrite.set(type, TypeDeclaration.INTERFACE_PROPERTY, Boolean.TRUE, null);
-		
-			Name superClass= type.getSuperclass();
-			assertTrue("Has super type", superClass != null);
-			
-			rewrite.remove(superClass, null);
-
-			List superInterfaces= type.superInterfaces();
-			assertTrue("Has super interfaces", !superInterfaces.isEmpty());
-			
-			rewrite.remove((ASTNode) superInterfaces.get(0), null);
-			
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-					
-			rewrite.remove((ASTNode) members.get(1), null);
-			
-			MethodDeclaration meth= findMethodDeclaration(type, "hee");
-			rewrite.remove(meth, null);
-		}
-		{ // remove superinterface & method, change to interface & final
-			TypeDeclaration type= findTypeDeclaration(astRoot, "F");
-					
-			// change flags
-			int newModifiers= Modifier.FINAL;
-			rewrite.set(type, TypeDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-
-			// change to interface
-			rewrite.set(type, TypeDeclaration.INTERFACE_PROPERTY, Boolean.TRUE, null);
-			
-			List superInterfaces= type.superInterfaces();
-			assertTrue("Has super interfaces", !superInterfaces.isEmpty());
-			rewrite.remove((ASTNode) superInterfaces.get(0), null);
-			
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", members.size() == 1);
-
-			rewrite.remove((ASTNode) members.get(0), null);			
-		}			
-		{ // remove class G
-			TypeDeclaration type= findTypeDeclaration(astRoot, "G");
-			rewrite.remove(type, null);		
-		}				
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("interface E extends Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");		
-		buf.append("    private int k;\n");	
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("final interface F {\n");
-		buf.append("}\n");				
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testTypeDeclInserts() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");		
-		buf.append("    private int i;\n");	
-		buf.append("    private int k;\n");	
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("class F implements Runnable {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		buf.append("interface G {\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Errors in AST", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		AST ast= astRoot.getAST();
-		{ // add interface & set to final
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-					
-			// change flags
-			int newModifiers= Modifier.PUBLIC | Modifier.FINAL;
-			rewrite.set(type, TypeDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-				
-			SimpleName newSuperinterface= ast.newSimpleName("Cloneable");
-			
-			rewrite.getListRewrite(type, TypeDeclaration.SUPER_INTERFACES_PROPERTY).insertFirst(newSuperinterface, null);
-			
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			assertTrue("Cannot find inner class", members.get(0) instanceof TypeDeclaration);
-			TypeDeclaration innerType= (TypeDeclaration) members.get(0);
-
-/*		bug 22161
-			SimpleName newSuperclass= ast.newSimpleName("Exception");
-			innerType.setSuperclass(newSuperclass);
-			rewrite.markAsInserted(newSuperclass);
-*/
-
-			FieldDeclaration newField= createNewField(ast, "fCount");
-			
-			rewrite.getListRewrite(innerType, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertFirst(newField, null);
-			
-			MethodDeclaration newMethodDecl= createNewMethod(ast, "newMethod", false);
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertAt(newMethodDecl, 4, null);
-		}
-		{ // add exception, add method
-			TypeDeclaration type= findTypeDeclaration(astRoot, "F");
-			
-			SimpleName newSuperclass= ast.newSimpleName("Exception");
-			rewrite.set(type, TypeDeclaration.SUPERCLASS_PROPERTY, newSuperclass, null);
-					
-			MethodDeclaration newMethodDecl= createNewMethod(ast, "newMethod", false);
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(newMethodDecl, null);
-		}			
-		{ // insert interface
-			TypeDeclaration type= findTypeDeclaration(astRoot, "G");
-						
-			SimpleName newInterface= ast.newSimpleName("Runnable");
-			rewrite.getListRewrite(type, TypeDeclaration.SUPER_INTERFACES_PROPERTY).insertLast(newInterface, null);
-			
-			MethodDeclaration newMethodDecl= createNewMethod(ast, "newMethod", true);
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(newMethodDecl,  null);
-		}			
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public final class E extends Exception implements Cloneable, Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        private double fCount;\n");
-		buf.append("\n");				
-		buf.append("        public void xee() {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("    private int i;\n");	
-		buf.append("    private int k;\n");	
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    private void newMethod(String str) {\n");
-		buf.append("    }\n");		
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		buf.append("class F extends Exception implements Runnable {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void newMethod(String str) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");				
-		buf.append("interface G extends Runnable {\n");
-		buf.append("\n");		
-		buf.append("    private abstract void newMethod(String str);\n");		
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testTypeDeclInsertFields1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		buf.append("class F {\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		assertTrue("Errors in AST", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		AST ast= astRoot.getAST();
-		{ 	
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			
-			VariableDeclarationFragment frag= ast.newVariableDeclarationFragment();
-			frag.setName(ast.newSimpleName("x"));
-			
-			FieldDeclaration decl= ast.newFieldDeclaration(frag);
-			decl.setType(ast.newPrimitiveType(PrimitiveType.INT));
-
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertFirst(decl, null);
-			
-		}
-		{ 	
-			TypeDeclaration type= findTypeDeclaration(astRoot, "F");
-			
-			VariableDeclarationFragment frag1= ast.newVariableDeclarationFragment();
-			frag1.setName(ast.newSimpleName("x"));
-			
-			FieldDeclaration decl1= ast.newFieldDeclaration(frag1);
-			decl1.setType(ast.newPrimitiveType(PrimitiveType.INT));
-			
-			VariableDeclarationFragment frag2= ast.newVariableDeclarationFragment();
-			frag2.setName(ast.newSimpleName("y"));
-			
-			FieldDeclaration decl2= ast.newFieldDeclaration(frag2);
-			decl2.setType(ast.newPrimitiveType(PrimitiveType.INT));			
-						
-			ListRewrite listRewrite= rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);
-			listRewrite.insertFirst(decl1, null);
-			listRewrite.insertAfter(decl2, decl1, null);
-		}				
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    int x;\n");
-		buf.append("}\n");
-		buf.append("class F {\n");
-		buf.append("\n");
-		buf.append("    int x;\n");
-		buf.append("    int y;\n");	
-		buf.append("}\n");		
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	public void testBug22161() throws Exception {
-	//	System.out.println(getClass().getName()+"::" + getName() +" disabled (bug 22161)");
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class T extends Exception implements Runnable, Serializable {\n");
-		buf.append("    public static class EInner {\n");
-		buf.append("        public void xee() {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("T.java", buf.toString(), false, null);				
-
-		CompilationUnit astRoot= createAST(cu);
-		assertTrue("Errors in AST", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		TypeDeclaration type= findTypeDeclaration(astRoot, "T");
-		assertTrue("Outer type not found", type != null);
-		
-		List members= type.bodyDeclarations();
-		assertTrue("Cannot find inner class", members.size() == 1 &&  members.get(0) instanceof TypeDeclaration);
-
-		TypeDeclaration innerType= (TypeDeclaration) members.get(0);
-		
-		SimpleName name= innerType.getName();
-		assertTrue("Name positions not correct", name.getStartPosition() != -1 && name.getLength() > 0);
-		
-	}
-	
-	public void testAnonymousClassDeclaration() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E2 {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("        };\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            int i= 8;\n");
-		buf.append("        };\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            int i= 8;\n");
-		buf.append("        };\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E2.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E2");
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 3", statements.size() == 3);
-		{	// insert body decl in AnonymousClassDeclaration
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(0);
-			ClassInstanceCreation creation= (ClassInstanceCreation) stmt.getExpression();
-			AnonymousClassDeclaration anonym= creation.getAnonymousClassDeclaration();
-			assertTrue("no anonym class decl", anonym != null);
-			
-			List decls= anonym.bodyDeclarations();
-			assertTrue("Number of bodyDeclarations not 0", decls.size() == 0);
-			
-			MethodDeclaration newMethod= createNewMethod(ast, "newMethod", false);
-			rewrite.getListRewrite(anonym, AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY).insertFirst(newMethod, null);
-		}
-		{	// remove body decl in AnonymousClassDeclaration
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(1);
-			ClassInstanceCreation creation= (ClassInstanceCreation) stmt.getExpression();
-			AnonymousClassDeclaration anonym= creation.getAnonymousClassDeclaration();
-			assertTrue("no anonym class decl", anonym != null);
-			
-			List decls= anonym.bodyDeclarations();
-			assertTrue("Number of bodyDeclarations not 1", decls.size() == 1);
-
-			rewrite.remove((ASTNode) decls.get(0), null);
-		}		
-		{	// replace body decl in AnonymousClassDeclaration
-			ExpressionStatement stmt= (ExpressionStatement) statements.get(2);
-			ClassInstanceCreation creation= (ClassInstanceCreation) stmt.getExpression();
-			AnonymousClassDeclaration anonym= creation.getAnonymousClassDeclaration();
-			assertTrue("no anonym class decl", anonym != null);
-			
-			List decls= anonym.bodyDeclarations();
-			assertTrue("Number of bodyDeclarations not 1", decls.size() == 1);
-			
-			MethodDeclaration newMethod= createNewMethod(ast, "newMethod", false);
-
-			rewrite.replace((ASTNode) decls.get(0), newMethod, null);
-		}	
-					
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E2 {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("\n");
-		buf.append("            private void newMethod(String str) {\n");
-		buf.append("            }\n");	
-		buf.append("        };\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("        };\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            private void newMethod(String str) {\n");
-		buf.append("            }\n");	
-		buf.append("        };\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-			
-		assertEqualString(preview, buf.toString());
-
-	}
-			
-	public void testImportDeclaration() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.net.*;\n");
-		buf.append("import java.text.*;\n");					
-		buf.append("public class Z {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("Z.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		List imports= astRoot.imports();
-		assertTrue("Number of imports not 4", imports.size() == 4);
-		
-		{ // rename import
-			ImportDeclaration imp= (ImportDeclaration) imports.get(0);
-			
-			Name name= ast.newName(new String[] { "org", "eclipse", "X" });
-			rewrite.replace(imp.getName(), name, null);
-		}
-		{ // change to import on demand
-			ImportDeclaration imp= (ImportDeclaration) imports.get(1);
-			
-			Name name= ast.newName(new String[] { "java", "util" });
-			rewrite.replace(imp.getName(), name, null);
-			
-			rewrite.set(imp, ImportDeclaration.ON_DEMAND_PROPERTY, Boolean.TRUE, null);
-		}
-		{ // change to single import
-			ImportDeclaration imp= (ImportDeclaration) imports.get(2);
-			
-			rewrite.set(imp, ImportDeclaration.ON_DEMAND_PROPERTY, Boolean.FALSE, null);
-		}
-		{ // rename import
-			ImportDeclaration imp= (ImportDeclaration) imports.get(3);
-			
-			Name name= ast.newName(new String[] { "org", "eclipse" });
-			rewrite.replace(imp.getName(), name, null);
-		}		
-		
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import org.eclipse.X;\n");
-		buf.append("import java.util.*;\n");
-		buf.append("import java.net;\n");
-		buf.append("import org.eclipse.*;\n");			
-		buf.append("public class Z {\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testPackageDeclaration() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class Z {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("Z.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		{ // rename package
-			PackageDeclaration packageDeclaration= astRoot.getPackage();
-			
-			Name name= ast.newName(new String[] { "org", "eclipse" });
-			
-			rewrite.replace(packageDeclaration.getName(), name, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package org.eclipse;\n");
-		buf.append("public class Z {\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testCompilationUnit() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class Z {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("Z.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		{
-			PackageDeclaration packageDeclaration= astRoot.getPackage();
-			rewrite.remove(packageDeclaration, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("\n");	
-		buf.append("public class Z {\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testCompilationUnit2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Z {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("Z.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		
-		{
-			PackageDeclaration packageDeclaration= ast.newPackageDeclaration();
-			Name name= ast.newName(new String[] { "org", "eclipse" });
-			packageDeclaration.setName(name);
-			
-			rewrite.set(astRoot, CompilationUnit.PACKAGE_PROPERTY, packageDeclaration, null);
-		}
-				
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package org.eclipse;\n");
-		buf.append("public class Z {\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	public void testSingleVariableDeclaration() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i, final int[] k, int[] x[]) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		List arguments= methodDecl.parameters();
-		{ // add modifier, change type, change name, add extra dimension
-			SingleVariableDeclaration decl= (SingleVariableDeclaration) arguments.get(0);
-					
-			int newModifiers= Modifier.FINAL;
-			rewrite.set(decl, SingleVariableDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-
-			rewrite.set(decl, SingleVariableDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(1), null);
-			
-			ArrayType newVarType= ast.newArrayType(ast.newPrimitiveType(PrimitiveType.FLOAT), 2);
-			rewrite.replace(decl.getType(), newVarType, null);
-			
-			Name newName= ast.newSimpleName("count");
-			rewrite.replace(decl.getName(), newName, null);
-		}
-		{ // remove modifier, change type
-			SingleVariableDeclaration decl= (SingleVariableDeclaration) arguments.get(1);
-						
-			int newModifiers= 0;
-			rewrite.set(decl, SingleVariableDeclaration.MODIFIERS_PROPERTY, new Integer(newModifiers), null);
-			
-			Type newVarType= ast.newPrimitiveType(PrimitiveType.FLOAT);
-			rewrite.replace(decl.getType(), newVarType, null);
-		}
-		{ // remove extra dim
-			SingleVariableDeclaration decl= (SingleVariableDeclaration) arguments.get(2);
-			
-			rewrite.set(decl, SingleVariableDeclaration.EXTRA_DIMENSIONS_PROPERTY, new Integer(0), null);
-		}			
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(final float[][] count[], float k, int[] x) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}	
-	
-	public void testVariableDeclarationFragment() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i, j, k= 0, x[][], y[]= {0, 1};\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		
-		AST ast= astRoot.getAST();
-		
-		assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);
-		TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-
-		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");
-		Block block= methodDecl.getBody();
-		List statements= block.statements();
-		assertTrue("Number of statements not 1", statements.size() == 1);
-		
-		VariableDeclarationStatement variableDeclStatement= (VariableDeclarationStatement) statements.get(0);
-		List fragments= variableDeclStatement.fragments();
-		assertTrue("Number of fragments not 5", fragments.size() == 5);
-		
-		{ // rename var, add dimension
-			VariableDeclarationFragment fragment= (VariableDeclarationFragment) fragments.get(0);
-			
-			ASTNode name= ast.newSimpleName("a");
-			rewrite.replace(fragment.getName(), name, null);
-			
-			rewrite.set(fragment, VariableDeclarationFragment.EXTRA_DIMENSIONS_PROPERTY, new Integer(2), null);
-		}
-		
-		{ // add initializer
-			VariableDeclarationFragment fragment= (VariableDeclarationFragment) fragments.get(1);
-			
-			assertTrue("Has initializer", fragment.getInitializer() == null);
-			
-			Expression initializer= ast.newNumberLiteral("1");
-			rewrite.set(fragment, VariableDeclarationFragment.INITIALIZER_PROPERTY, initializer, null);
-		}
-		
-		{ // remove initializer
-			VariableDeclarationFragment fragment= (VariableDeclarationFragment) fragments.get(2);
-			
-			assertTrue("Has no initializer", fragment.getInitializer() != null);
-			rewrite.remove(fragment.getInitializer(), null);
-		}
-		{ // add dimension, add initializer
-			VariableDeclarationFragment fragment= (VariableDeclarationFragment) fragments.get(3);			
-			
-			rewrite.set(fragment, VariableDeclarationFragment.EXTRA_DIMENSIONS_PROPERTY, new Integer(4), null);
-
-			assertTrue("Has initializer", fragment.getInitializer() == null);
-			
-			Expression initializer= ast.newNullLiteral();
-			rewrite.set(fragment, VariableDeclarationFragment.INITIALIZER_PROPERTY, initializer, null);
-		}
-		{ // remove dimension
-			VariableDeclarationFragment fragment= (VariableDeclarationFragment) fragments.get(4);			
-			
-			rewrite.set(fragment, VariableDeclarationFragment.EXTRA_DIMENSIONS_PROPERTY, new Integer(0), null);
-		}					
-			
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int a[][], j = 1, k, x[][][][] = null, y= {0, 1};\n");		
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testTypeDeclSpacingMethods1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("\n");		
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			MethodDeclaration newMethodDecl= createNewMethod(ast, "foo", false);
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertLast(newMethodDecl, null);
-			
-		}
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("\n");		
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("\n");		
-		buf.append("    private void foo(String str) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");		
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	public void testTypeDeclSpacingMethods2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("\n");			
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			MethodDeclaration newMethodDecl= createNewMethod(ast, "foo", false);
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertFirst(newMethodDecl, null);
-		}
-		
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private void foo(String str) {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("\n");			
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("\n");
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testTypeDeclSpacingFields() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int x;\n");
-		buf.append("    private int y;\n");
-		buf.append("\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("\n");			
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);			
-
-		CompilationUnit astRoot= createAST(cu);
-		ASTRewrite rewrite= new ASTRewrite(astRoot.getAST());
-		AST ast= astRoot.getAST();
-		
-		{  // insert method at first position
-			TypeDeclaration type= findTypeDeclaration(astRoot, "E");
-			List members= type.bodyDeclarations();
-			assertTrue("Has declarations", !members.isEmpty());
-			
-			FieldDeclaration newField= createNewField(ast, "fCount");
-			rewrite.getListRewrite(type, TypeDeclaration.BODY_DECLARATIONS_PROPERTY).insertFirst(newField, null);
-		}
-
-		String preview= evaluateRewrite(cu, rewrite);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private double fCount;\n");
-		buf.append("    private int x;\n");
-		buf.append("    private int y;\n");
-		buf.append("\n");
-		buf.append("    public void gee() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("\n");			
-		buf.append("    public void hee() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualString(preview, buf.toString());
-
-	}
-
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/SourceModifierTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/SourceModifierTest.java
deleted file mode 100644
index 0f4efe4..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/astrewrite/SourceModifierTest.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.astrewrite;
-
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-
-import org.eclipse.jface.text.Document;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.dom.SourceModifier;
-
-/**
- *
- */
-public class SourceModifierTest extends ASTRewritingTest {
-	
-	private static final Class THIS= SourceModifierTest.class;
-	
-	private IJavaProject fJProject1;
-
-	public SourceModifierTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new SourceModifierTest("testCollapsedTargetNodes2"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-		
-		fJProject1= ProjectTestSetup.getProject();
-	}
-	
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	
-	
-	public void testRemoveIndents() throws Exception {
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-
-		Document buffer= new Document(buf.toString());
-		
-		int offset= buf.toString().indexOf("while");
-		int length= buf.toString().indexOf("return;") + "return;".length() - offset;
-		
-		String content= buffer.get(offset, length);
-		SourceModifier modifier= new SourceModifier(2, "    ", 4);
-		MultiTextEdit edit= new MultiTextEdit(0, content.length());
-		ReplaceEdit[] replaces= modifier.getModifications(content);
-		for (int i= 0; i < replaces.length; i++) {
-			edit.addChild(replaces[i]);
-		}
-		
-		Document innerBuffer= new Document(content);
-		edit.apply(innerBuffer);
-		
-		buffer.replace(offset, length, innerBuffer.get());
-				
-		String preview= buffer.get();
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("        foo();\n");
-		buf.append("        i++; // comment\n");
-		buf.append("        i++;\n");
-		buf.append("    }\n");
-		buf.append("    return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		String expected= buf.toString();		
-
-		assertEqualString(preview, expected);
-	}
-	
-	public void testAddIndents() throws Exception {
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("            foo();\n");
-		buf.append("            i++; // comment\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-
-		Document buffer= new Document(buf.toString());
-		
-		int offset= buf.toString().indexOf("while");
-		int length= buf.toString().indexOf("return;") + "return;".length() - offset;
-		
-		String content= buffer.get(offset, length);
-		SourceModifier modifier= new SourceModifier(2, "            ", 4);
-		MultiTextEdit edit= new MultiTextEdit(0, content.length());
-		ReplaceEdit[] replaces= modifier.getModifications(content);
-		for (int i= 0; i < replaces.length; i++) {
-			edit.addChild(replaces[i]);
-		}
-		
-		Document innerBuffer= new Document(content);
-		edit.apply(innerBuffer);
-		
-		buffer.replace(offset, length, innerBuffer.get());
-		
-		String preview= buffer.get();
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (i == 0) {\n");
-		buf.append("                foo();\n");
-		buf.append("                i++; // comment\n");
-		buf.append("                i++;\n");
-		buf.append("            }\n");
-		buf.append("            return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		String expected= buf.toString();		
-
-		assertEqualString(preview, expected);
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/MockPluginView.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/MockPluginView.java
deleted file mode 100644
index 1bedaa1..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/MockPluginView.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.ui.tests.browsing;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-
-import org.eclipse.jdt.core.IJavaElement;
-
-import org.eclipse.jdt.internal.ui.browsing.PackagesView;
-import org.eclipse.jdt.internal.ui.viewsupport.ProblemTableViewer;
-import org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer;
-
-
-public class MockPluginView extends PackagesView {
-
-	StructuredViewer fViewer;
-	private IContentProvider fContentProvider;
-	private boolean fRefreshHappened;
-	private boolean fRemoveHappened;
-	private boolean fAddHappened;
-	
-	private List fRemovedObject;
-	private List fAddedObject;
-	private List fAddedParentObject;
-	private List fRefreshedObject;
-
-	private boolean fListState;
-	
-	public MockPluginView() {
-		super();
-		fRefreshedObject= new ArrayList();
-		fAddedObject= new ArrayList();
-		fRemovedObject= new ArrayList();
-		fAddedParentObject= new ArrayList();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-
-		//create viewer
-		//super.createViewer(parent);
-		fViewer= createViewer(parent);
-
-		//create my contentProvider
-		fContentProvider= super.createContentProvider();
-		fContentProvider.inputChanged(fViewer, null, null);
-
-		//set content provider
-		fViewer.setContentProvider(fContentProvider);
-
-	}
-	
-	/* Override so that tests can set layout state.
-	 * 
-	 * (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.browsing.PackagesView#isInListState()
-	 */
-	protected boolean isInListState(){
-		return fListState;	
-	}
-	
-	/**
-	 * Set the view is in flat or hierarchical state.
-	 * @param state
-	 */
-	void setListState(boolean state){
-		fListState= state;	
-	}
-	
-	public void clear() {
-		fAddedObject.clear();
-		fRefreshedObject.clear();
-		fAddedParentObject.clear();
-		fRemovedObject.clear();
-	}
-
-	
-	protected StructuredViewer createViewer(Composite parent){
-		if(isInListState())
-			return new TestProblemTableViewer(parent, SWT.MULTI);
-		else
-			return new TestProblemTreeViewer(parent, SWT.MULTI);
-	}
-
-	public void dispose() {
-		if (fViewer != null) {
-			IContentProvider p = fViewer.getContentProvider();
-			if(p!=null)	
-				p.dispose();
-		}
-		
-		super.dispose();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-	}
-	
-	public StructuredViewer getTreeViewer(){
-		return fViewer;
-	}
-	
-	/*
-	 * @see org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart#findElementToSelect(org.eclipse.jdt.core.IJavaElement)
-	 */
-	protected IJavaElement findElementToSelect(IJavaElement je) {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return null;
-	}
-
-	/*
-	 * @see org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart#isValidInput(java.lang.Object)
-	 */
-	protected boolean isValidInput(Object element) {
-		return false;
-	}
-	
-	
-	/**
-	 * Returns a list of objects refreshed in the viewer.
-	 * @return List
-	 */
-	public List getRefreshedObject() {
-		return fRefreshedObject;
-	}
-
-	/**
-	 * Returns true if a refresh action happened
-	 * @return boolean
-	 */
-	public boolean hasRefreshHappened() {
-		return fRefreshHappened;
-	}
-
-	/**
-	 * Returns a list of the parents of added objects
-	 * @return List
-	 */
-	public List getAddedParentObject() {
-		return fAddedParentObject;
-	}
-
-	/**
-	 * Returns a list of objects removed from the viewer
-	 * @return List
-	 */
-	public List getRemovedObject() {
-		return fRemovedObject;
-	}
-
-	/**
-	 * Returns true if a remove action happened
-     * @return boolean
-	 */
-	public boolean hasRemoveHappened() {
-		return fRemoveHappened;
-	}
-	
-	/**
-	 * Returns the object added to the viewer
-	 * @return List
-	 */
-	public List getAddedObject() {
-		return fAddedObject;
-	}
-	
-	/**
-	 * Returns true if an add action happened on the viewer
-	 * @return boolean
-	 */
-	public boolean hasAddHappened() {
-		return fAddHappened;
-	}
-
-
-	private class TestProblemTreeViewer extends ProblemTreeViewer {
-
-		public TestProblemTreeViewer(Composite parent, int flag) {
-			super(parent, flag);
-			super.setUseHashlookup(true);
-		}
-
-		public void refresh(Object object) {
-			fRefreshHappened= true;
-			fRefreshedObject.add(object);
-		}
-
-		public void remove(Object object) {
-			fRemoveHappened= true;
-			fRemovedObject.add(object);
-		}
-
-		public void add(Object parentObject, Object object) {
-			fAddHappened= true;
-			fAddedObject.add(object);
-			fAddedParentObject.add(parentObject);
-		}
-
-	}
-	
-	private class TestProblemTableViewer extends ProblemTableViewer {
-
-		public TestProblemTableViewer(Composite parent, int flag) {
-			super(parent, flag);
-			super.setUseHashlookup(true);
-		}
-
-		public void refresh(Object object) {
-			fRefreshHappened= true;
-			fRefreshedObject.add(object);
-			super.refresh(object);
-		}
-
-		public void remove(Object object) {
-			fRemoveHappened= true;
-			fRemovedObject.add(object);
-			super.remove(object);
-		}
-
-		public void add(Object object) {
-			fAddHappened= true;
-			fAddedObject.add(object);
-			super.add(object);
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewContentProviderTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewContentProviderTests.java
deleted file mode 100644
index eb5e2c2..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewContentProviderTests.java
+++ /dev/null
@@ -1,565 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.browsing;
-
-
-import java.io.File;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-import org.eclipse.jdt.internal.ui.browsing.LogicalPackage;
-
-
-public class PackagesViewContentProviderTests extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite("org.eclipse.jdt.ui.tests.PackagesViewContentProviderTests"); //$NON-NLS-1$
-		//$JUnit-BEGIN$
-		suite.addTestSuite(PackagesViewContentProviderTests.class);
-		//$JUnit-END$
-		return suite;
-	}
-
-	private IJavaProject fJProject1;
-	private IJavaProject fJProject2;
-	
-	private IPackageFragmentRoot fRoot1;
-	private IWorkspace fWorkspace;
-	private IWorkbench fWorkbench;
-	private MockPluginView fMyPart;
-	
-	private ITreeContentProvider fProvider;
-	private IPackageFragmentRoot fArchiveFragmentRoot;
-	private IPackageFragment fPackJunit;
-	private IPackageFragment fPackJunitSamples;
-	private IPackageFragment fPackJunitSamplesMoney;
-
-	private ICompilationUnit fCUIMoney;
-	private ICompilationUnit fCUMoney;
-	private ICompilationUnit fCUMoneyBag;
-	private ICompilationUnit fCUMoneyTest;
-	
-	private IWorkbenchPage page;
-	private IPackageFragmentRoot fRoot2;
-	private IPackageFragment fPack12;
-	private IPackageFragment fPack32;
-	private IPackageFragment fPack42;
-	private IPackageFragment fPack52;
-	private IPackageFragment fPack62;
-	private ICompilationUnit fCU12;
-	private ICompilationUnit fCU22;
-	private IPackageFragment fPack21;
-	private ICompilationUnit fCU11;
-	private ICompilationUnit fCU21;
-	private IPackageFragment fPack61;
-	private IPackageFragment fPack51;
-	private IPackageFragment fPack41;
-	private IPackageFragment fPack31;
-	private IPackageFragment fPackDefault1;
-	private IPackageFragment fPackDefault2;
-	private IPackageFragment fPack17;
-	private IPackageFragment fPack81;
-	private IPackageFragment fPack91;
-	private IPackageFragmentRoot fInternalJarRoot;
-	private IPackageFragment fInternalPackDefault;
-	private IPackageFragment fInternalPack3;
-	private IPackageFragment fInternalPack4;
-	private IPackageFragment fInternalPack5;
-	private IPackageFragment fInternalPack10;
-	private IPackageFragment fInternalPack6;
-	private IPackageFragment fInternalPackMetaInf;
-	private boolean fEnableAutoBuildAfterTesting;
-	
-	public PackagesViewContentProviderTests(String name) {
-		super(name);
-	}
-	
-	//---------Test for getChildren-------------------
-
-	public void testGetChildrenProjectWithSourceFolders() throws Exception{
-		
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp= new LogicalPackage(fPack31);
-		cp.add(fPack32);
-		cp.add(fInternalPack3);	
-	
-		//create a logical package for default package
-		LogicalPackage defaultCp= new LogicalPackage(fPackDefault1);
-		defaultCp.add(fPackDefault2);
-		defaultCp.add(fInternalPackDefault);
-		
-		Object[] expectedChildren= new Object[]{fPack21, fPack12, cp, defaultCp, fInternalPackMetaInf};
-		Object[] children= fProvider.getChildren(fJProject2);
-		assertTrue("Wrong children found for project", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	
-	public void testGetChildrentMidLevelFragmentNotLogicalPackage() throws Exception{
-		//initialise map
-		fProvider.getChildren(fJProject2);
-		
-		Object[] expectedChildren= new Object[]{fPack17};
-		Object[] children= fProvider.getChildren(fPack12);
-		assertTrue("Wrong children found for PackageFragment",compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{};
-		Object[] children= fProvider.getChildren(fPack21);
-		assertTrue("Wrong children found for PackageFragment",compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenLogicalPackage() throws Exception{
-		
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp= new LogicalPackage(fPack31);
-		cp.add(fPack32);
-		cp.add(fInternalPack3);
-		
-		//create a logical package for packages with name "pack3.pack4"
-		LogicalPackage ChildCp1= new LogicalPackage(fPack41);
-		ChildCp1.add(fPack42);
-		ChildCp1.add(fInternalPack4);
-		
-		//create a logical package for packages with name "pack3.pack5"
-		LogicalPackage ChildCp2= new LogicalPackage(fPack51);
-		ChildCp2.add(fPack52);
-		ChildCp2.add(fInternalPack5);
-
-		//initialize Map
-		fProvider.getChildren(fJProject2);	
-		
-		Object[] expectedChildren= new Object[]{fPack81, ChildCp1, ChildCp2};
-		Object[] children= fProvider.getChildren(cp);
-		assertTrue("Wrong children found for project", compareArrays(children, expectedChildren)); //$NON-NLS-1$  
-
-	}
-	
-	public void testGetChildrenLogicalPackage2() throws Exception{
-		
-		//create a logical package for packages with name "pack3.pack4"
-		LogicalPackage cp= new LogicalPackage(fPack41);
-		cp.add(fPack42);
-		cp.add(fInternalPack4);
-		
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);		
-		
-		fProvider.getChildren(fJProject2);
-		fProvider.getChildren(cp3);
-	
-		Object[] expectedChildren= new Object[]{fPack91, fInternalPack10};
-		Object[] children= fProvider.getChildren(cp);
-		assertTrue("Wrong children found for project", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	
-
-	public void testGetChildrenMidLevelFragmentInArchive() throws Exception{
-		//initialise map
-		fProvider.getChildren(fArchiveFragmentRoot);
-		fProvider.getChildren(fPackJunit);
-		
-		Object[] expectedChildren= new Object[]{fPackJunitSamplesMoney};
-		Object[] children= fProvider.getChildren(fPackJunitSamples);
-		assertTrue("wrong children found for a NON bottom PackageFragment in PackageFragmentRoot Archive", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-
-	public void testGetChildrenBottomLevelFragmentInArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{};
-		Object[] children= fProvider.getChildren(fPackJunitSamplesMoney);
-		assertTrue("wrong children found for a bottom PackageFragment in PackageFragmentRoot Archive", compareArrays(children, expectedChildren));	//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenSourceFolder() throws Exception {
-		Object[] expectedChildren = new Object[] {fPack21, fPack31, fPackDefault1};
-		Object[] children = fProvider.getChildren(fRoot1);
-		assertTrue("Wrong children found for PackageFragmentRoot", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenArchive(){
-		Object[] expectedChildren= new Object[]{fPackJunit, fArchiveFragmentRoot.getPackageFragment("")};//$NON-NLS-1$
-		Object[] children= fProvider.getChildren(fArchiveFragmentRoot);
-		assertTrue("Wrong child found for PackageFragmentRoot Archive", compareArrays(children,expectedChildren));//$NON-NLS-1$
-	}
-	
-	//---------------Get Parent Tests-----------------------------
-	
-	public void testGetParentArchive() throws Exception{
-		Object parent= fProvider.getParent(fArchiveFragmentRoot);
-		assertTrue("Wrong parent found for PackageFragmentRoot Archive", parent==null);//$NON-NLS-1$
-	}
-
-	public void testGetParentMidLevelFragmentInArchive() throws Exception{
-		
-		//initialise Map
-		fProvider.getChildren(fArchiveFragmentRoot);
-		fProvider.getChildren(fPackJunit);
-		fProvider.getChildren(fPackJunitSamples);
-		
-		Object expectedParent= fPackJunitSamples;
-		Object parent= fProvider.getParent(fPackJunitSamplesMoney);
-		assertTrue("Wrong parent found for a NON top level PackageFragment in an Archive", expectedParent.equals(parent));//$NON-NLS-1$
-	}	
-	
-	public void testGetParentTopLevelFragmentInArchive() throws Exception{
-		Object expectedParent= fPackJunit;
-		Object parent= fProvider.getParent(fPackJunitSamples);
-		assertTrue("Wrong parent found for a top level PackageFragment in an Archive", expectedParent.equals(parent));	//$NON-NLS-1$
-	}
-
-	public void testGetParentTopLevelLogicalPackage() throws Exception{
-	
-		LogicalPackage cp= new LogicalPackage(fPack31);
-		cp.add(fPack32);
-		cp.add(fInternalPack3);
-		
-		Object parent= fProvider.getParent(cp);
-		assertTrue("Wrong parent found for a top level LogicalPackage", fJProject2.equals(parent));//$NON-NLS-1$
-	}
-	
-	public void testGetParentPackageFragmentWithLogicalPackageParent() throws Exception{
-		
-		LogicalPackage cp= new LogicalPackage(fPack31);
-		cp.add(fPack32);
-		cp.add(fInternalPack3);
-		
-		//initialize map
-		fProvider.getChildren(fJProject2);
-		
-		Object parent= fProvider.getParent(fPack81);
-		assertTrue("Wrong parent found for a top level LogicalPackage", cp.equals(parent));//$NON-NLS-1$
-	}
-	
-	public void testGetParentOfLogicalPackagetWithLogicalPackageParent() throws Exception{
-		
-		LogicalPackage cp= new LogicalPackage(fPack41);
-		cp.add(fPack42);
-		cp.add(fInternalPack4);
-		
-		LogicalPackage parentCp= new LogicalPackage(fPack31);
-		parentCp.add(fPack32);
-		parentCp.add(fInternalPack3);
-		
-		//initialize map
-		fProvider.getChildren(fJProject2);
-		
-		Object parent= fProvider.getParent(cp);
-		assertTrue("Wrong parent found for a top level LogicalPackage", parentCp.equals(parent));//$NON-NLS-1$
-	}
-	
-//	public void testGetParentWithPFRootFocus(){
-//		//set up map
-//		Object[] children= fProvider.getChildren(fRoot1);
-//		for (int i= 0; i < children.length; i++) {
-//			Object object= children[i];
-//			fProvider.getChildren(object);
-//		}
-//		
-//		Object parent= fProvider.getParent(fPack41);	
-//		Object expectedParent= fPack31;
-//		assertTrue("Wrong parent found for a mid level Fragment with Root Focus", expectedParent.equals(parent));		//$NON-NLS-1$
-//	}
-	
-	public void testGetParentPFwithProjectFocus(){
-		Object[] children= fProvider.getChildren(fJProject2);
-		for (int i= 0; i < children.length; i++) {
-			Object object= children[i];
-			fProvider.getChildren(object);
-		}
-		
-		LogicalPackage cp= new LogicalPackage(fPack31);
-		cp.add(fPack32);
-		cp.add(fInternalPack3);	
-		
-		Object parent= fProvider.getParent(fPack41);	
-		assertTrue("Wrong parent found for a mid level Fragment with Root Focus", cp.equals(parent));		//$NON-NLS-1$
-	}
-	
-	public void testGetParentWithRootFocusAfterProjectFocus(){
-		//set up map with project focus
-		Object[] children= fProvider.getChildren(fJProject2);
-		for (int i= 0; i < children.length; i++) {
-			Object object= children[i];
-			fProvider.getChildren(object);
-		}
-		
-		LogicalPackage cp= new LogicalPackage(fPack31);
-		cp.add(fPack32);
-		cp.add(fInternalPack3);	
-	
-		//create a logical package for default package
-		LogicalPackage defaultCp= new LogicalPackage(fPackDefault1);
-		defaultCp.add(fPackDefault2);
-		defaultCp.add(fInternalPackDefault);
-		
-		Object[] expectedChildren= new Object[]{fPack21, fPack12, cp, defaultCp, fInternalPackMetaInf};
-		
-		assertTrue("expected children of project with focus", compareArrays(children, expectedChildren));//$NON-NLS-1$
-		
-		//set up map with root focus
-		children= fProvider.getChildren(fRoot1);
-		for (int i= 0; i < children.length; i++) {
-			Object object= children[i];
-			fProvider.getChildren(object);
-		}
-		
-//		Object parent= fProvider.getParent(fPack41);
-//		Object expectedParent= fPack31;	
-//		assertTrue("Wrong parent found for a mid level Fragment with Project Focus", expectedParent.equals(parent));//$NON-NLS-1$
-	}
-
-	public void testGetParentTopLevelFragment() throws Exception{
-		Object parent= fProvider.getParent(fPack21);
-		Object expectedParent= fRoot1;
-		assertTrue("Wrong parent found for a top level PackageFragment", expectedParent.equals(parent)); //$NON-NLS-1$  
-
-	}
-	
-	public void testGetParentMidLevelFragment() throws Exception{
-		Object expectedParent= fPack12;
-		Object parent= fProvider.getParent(fPack17);
-		assertTrue("Wrong parent found for a NON top level PackageFragment", expectedParent.equals(parent)); //$NON-NLS-1$  
-
-	}
-	
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-		fWorkspace= ResourcesPlugin.getWorkspace();
-		assertNotNull(fWorkspace);	
-		
-		IWorkspaceDescription workspaceDesc= fWorkspace.getDescription();
-		fEnableAutoBuildAfterTesting= workspaceDesc.isAutoBuilding();
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(false);
-		
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		fJProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		
-		assertNotNull("project1 null", fJProject1);//$NON-NLS-1$
-		assertNotNull("project2 null", fJProject2);//$NON-NLS-1$
-		
-		
-		//------------set up project #1 : External Jar and zip file-------
-		
-		IPackageFragmentRoot jdk= JavaProjectHelper.addVariableRTJar(fJProject1, "JRE_LIB_TEST", null, null);//$NON-NLS-1$
-		assertTrue("jdk not found", jdk != null);//$NON-NLS-1$
-
-		
-		//---Create zip file-------------------
-
-		java.io.File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);		
-		
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());//$NON-NLS-1$
-
-		fArchiveFragmentRoot= JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);//$NON-NLS-1$
-		
-		fPackJunit= fArchiveFragmentRoot.getPackageFragment("junit");//$NON-NLS-1$
-		fPackJunitSamples= fArchiveFragmentRoot.getPackageFragment("junit.samples");//$NON-NLS-1$
-		fPackJunitSamplesMoney= fArchiveFragmentRoot.getPackageFragment("junit.samples.money");//$NON-NLS-1$
-		
-		assertNotNull("creating fPackJunit", fPackJunit);//$NON-NLS-1$
-		assertNotNull("creating fPackJunitSamples", fPackJunitSamples);//$NON-NLS-1$
-		assertNotNull("creating fPackJunitSamplesMoney",fPackJunitSamplesMoney);//$NON-NLS-1$
-		
-		fCUIMoney= fPackJunitSamplesMoney.getCompilationUnit("IMoney.java");//$NON-NLS-1$
-		fCUMoney= fPackJunitSamplesMoney.getCompilationUnit("Money.java");//$NON-NLS-1$
-		fCUMoneyBag= fPackJunitSamplesMoney.getCompilationUnit("MoneyBag.java");//$NON-NLS-1$
-		fCUMoneyTest= fPackJunitSamplesMoney.getCompilationUnit("MoneyTest.java");//$NON-NLS-1$
-		
-		//java.io.File mylibJar= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-		//assertTrue("lib not found", mylibJar != null && mylibJar.exists());//$NON-NLS-1$
-		//JavaProjectHelper.addLibraryWithImport(fJProject1, new Path(mylibJar.getPath()), null, null);
-
-		//----------------Set up internal jar----------------------------
-		File myInternalJar= JavaTestPlugin.getDefault().getFileInPlugin(new Path("testresources/compoundtest.jar"));//$NON-NLS-1$
-		assertTrue("lib not found", myInternalJar != null && myInternalJar.exists());//$NON-NLS-1$
-		
-		fInternalJarRoot= JavaProjectHelper.addLibraryWithImport(fJProject2, new Path(myInternalJar.getPath()), null, null); //$NON-NLS-1$
-		
-		fInternalPackDefault= fInternalJarRoot.getPackageFragment("");//$NON-NLS-1$
-		fInternalPack3= fInternalJarRoot.getPackageFragment("pack3");//$NON-NLS-1$
-		fInternalPack4= fInternalJarRoot.getPackageFragment("pack3.pack4");//$NON-NLS-1$
-		fInternalPack5= fInternalJarRoot.getPackageFragment("pack3.pack5");//$NON-NLS-1$
-		fInternalPack6= fInternalJarRoot.getPackageFragment("pack3.pack5.pack6");//$NON-NLS-1$
-		fInternalPack10= fInternalJarRoot.getPackageFragment("pack3.pack4.pack10");//$NON-NLS-1$
-		fInternalPackMetaInf= fInternalJarRoot.getPackageFragment("META-INF");//$NON-NLS-1$
-		
-		//-----------------Set up source folder--------------------------
-
-		fRoot2= JavaProjectHelper.addSourceContainer(fJProject2, "src2");//$NON-NLS-1$
-		fPackDefault2= fRoot2.createPackageFragment("",true,null);//$NON-NLS-1$
-		fPack12= fRoot2.createPackageFragment("pack1", true, null);//$NON-NLS-1$
-		fPack17= fRoot2.createPackageFragment("pack1.pack7",true,null);//$NON-NLS-1$
-		fPack32= fRoot2.createPackageFragment("pack3",true,null);//$NON-NLS-1$
-		fPack42= fRoot2.createPackageFragment("pack3.pack4", true,null);//$NON-NLS-1$
-		fPack52= fRoot2.createPackageFragment("pack3.pack5",true,null);//$NON-NLS-1$
-		fPack62= fRoot2.createPackageFragment("pack3.pack5.pack6", true, null);//$NON-NLS-1$
-		
-		fCU12= fPack12.createCompilationUnit("Object.java", "", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU22= fPack62.createCompilationUnit("Object.java","", true, null);//$NON-NLS-1$//$NON-NLS-2$
-
-
-		//set up project #2: file system structure with in a source folder
-
-	//	JavaProjectHelper.addVariableEntry(fJProject2, new Path("JRE_LIB_TEST"), null, null);
-
-		//----------------Set up source folder--------------------------
-
-		fRoot1= JavaProjectHelper.addSourceContainer(fJProject2, "src1"); //$NON-NLS-1$  
-		fPackDefault1= fRoot1.createPackageFragment("",true,null); //$NON-NLS-1$  
-		fPack21= fRoot1.createPackageFragment("pack2", true, null);//$NON-NLS-1$
-		fPack31= fRoot1.createPackageFragment("pack3",true,null);//$NON-NLS-1$
-		fPack41= fRoot1.createPackageFragment("pack3.pack4", true,null);//$NON-NLS-1$
-		fPack91= fRoot1.createPackageFragment("pack3.pack4.pack9",true,null);//$NON-NLS-1$
-		fPack51= fRoot1.createPackageFragment("pack3.pack5",true,null);//$NON-NLS-1$
-		fPack61= fRoot1.createPackageFragment("pack3.pack5.pack6", true, null);//$NON-NLS-1$
-		fPack81= fRoot1.createPackageFragment("pack3.pack8", true, null);//$NON-NLS-1$
-		
-		fCU11= fPack21.createCompilationUnit("Object.java", "", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU21= fPack61.createCompilationUnit("Object.java","", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		
-		//set up the mock view
-		setUpMockView();
-	}
-	
-	public void setUpMockView() throws Exception{
-		
-		fWorkbench= PlatformUI.getWorkbench();
-		assertNotNull(fWorkbench);
-		
-		page= fWorkbench.getActiveWorkbenchWindow().getActivePage();
-		assertNotNull(page);
-		
-		//just testing to make sure my part can be created
-		IViewPart myPart= new MockPluginView();
-		((MockPluginView)myPart).setListState(false);
-		assertNotNull(myPart);
-		
-		myPart= page.showView("org.eclipse.jdt.ui.tests.browsing.MockPluginView");//$NON-NLS-1$
-		if (myPart instanceof MockPluginView) {
-			fMyPart= (MockPluginView) myPart;
-			fProvider= (ITreeContentProvider)fMyPart.getTreeViewer().getContentProvider();
-			//create map and set listener	
-			fProvider.inputChanged(null,null,fJProject2);
-		}else assertTrue("Unable to get view",false);//$NON-NLS-1$
-	
-		assertNotNull(fProvider);		
-	}
-
-	/*
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		
-		JavaProjectHelper.delete(fJProject1);
-		JavaProjectHelper.delete(fJProject2);
-		fProvider.inputChanged(null, null, null);
-		page.hideView(fMyPart);
-		fMyPart.dispose();
-		
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);
-
-		
-		super.tearDown();
-	}
-	
-	private boolean compareArrays(Object[] children, Object[] expectedChildren) {
-		if(children.length!=expectedChildren.length)
-			return false;
-		for (int i= 0; i < children.length; i++) {
-			Object child= children[i];
-			if (child instanceof IJavaElement) {
-				IJavaElement el= (IJavaElement) child;
-				if(!contains(el, expectedChildren))
-					return false;
-			} else if(child instanceof IResource){
-				IResource res = (IResource) child;	
-				if(!contains(res, expectedChildren)){
-					return false;	
-				}
-			} else if (child instanceof LogicalPackage){
-				if(!contains((LogicalPackage)child, expectedChildren))
-					return false;	
-			}
-		}
-		return true;
-	}
-	
-	private boolean contains(IResource res, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IResource) {
-				IResource expres= (IResource) object;
-				if(expres.equals(res))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	private boolean contains(IJavaElement fragment, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IJavaElement) {
-				IJavaElement expfrag= (IJavaElement) object;
-				if(expfrag.equals(fragment))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	private boolean contains(LogicalPackage lp, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof LogicalPackage) {
-				LogicalPackage explp= (LogicalPackage) object;
-				if (explp.equals(lp))
-					return true;
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewContentProviderTests2.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewContentProviderTests2.java
deleted file mode 100644
index c539fad..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewContentProviderTests2.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.ui.tests.browsing;
-
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.swt.widgets.Control;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.internal.ui.browsing.LogicalPackage;
-
-
-public class PackagesViewContentProviderTests2 extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite("org.eclipse.jdt.ui.tests.PackagesViewContentProviderTests2"); //$NON-NLS-1$
-		//$JUnit-BEGIN$
-		suite.addTestSuite(PackagesViewContentProviderTests2.class);
-		//$JUnit-END$
-		return suite;
-	}
-
-	private IJavaProject fJProject1;
-	private IJavaProject fJProject2;
-	
-	private IPackageFragmentRoot fRoot1;
-	private IWorkspace fWorkspace;
-	private IWorkbench fWorkbench;
-	private MockPluginView fMyPart;
-	
-	private IStructuredContentProvider fProvider;
-	private IPackageFragmentRoot fArchiveFragmentRoot;
-	private IPackageFragment fPackJunit;
-	private IPackageFragment fPackJunitSamples;
-	private IPackageFragment fPackJunitSamplesMoney;
-
-	private ICompilationUnit fCUIMoney;
-	private ICompilationUnit fCUMoney;
-	private ICompilationUnit fCUMoneyBag;
-	private ICompilationUnit fCUMoneyTest;
-	
-	
-	private IWorkbenchPage fPage;
-	private IPackageFragmentRoot fRoot2;
-	private IPackageFragment fPack12;
-	private IPackageFragment fPack32;
-	private IPackageFragment fPack42;
-	private IPackageFragment fPack52;
-	private IPackageFragment fPack62;
-	private ICompilationUnit fCU12;
-	private ICompilationUnit fCU22;
-	private IPackageFragment fPack21;
-	private ICompilationUnit fCU11;
-	private ICompilationUnit fCU21;
-	private IPackageFragment fPack61;
-	private IPackageFragment fPack51;
-	private IPackageFragment fPack41;
-	private IPackageFragment fPack31;
-	private IPackageFragment fPackDefault1;
-	private IPackageFragment fPackDefault2;
-	private IPackageFragment fPack17;
-	private IPackageFragment fPack81;
-	private IPackageFragment fPack91;
-	private IPackageFragmentRoot fInternalJarRoot;
-	private IPackageFragment fInternalPackDefault;
-	private IPackageFragment fInternalPack3;
-	private IPackageFragment fInternalPack4;
-	private IPackageFragment fInternalPack5;
-	private IPackageFragment fInternalPack10;
-	private IPackageFragment fInternalPack6;
-	private IPackageFragment fInternalPackMetaInf;
-	private boolean fEnableAutoBuildAfterTesting;
-	private IPackageFragment fPack102;
-	
-	public PackagesViewContentProviderTests2(String name) {
-		super(name);
-	}
-	
-	//----------- getElement in flat view ------------------------------
-
-	public void testGetElementsPackageFragmentRoot() throws Exception {
-		Object[] children= fProvider.getElements(fRoot1);
-		Object[] expectedChildren= new Object[] { fPack21, fPack31, fPack41, fPack51, fPack61, fPack81, fPack91, fPackDefault1 };
-		assertTrue("Wrong children found for PackageFragment", compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-
-	public void testGetElementsProject() throws Exception {
-
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		LogicalPackage defaultCp= new LogicalPackage(fPackDefault1);
-		defaultCp.add(fPackDefault2);
-		defaultCp.add(fInternalPackDefault);
-
-		LogicalPackage cp4= new LogicalPackage(fPack41);
-		cp4.add(fPack42);
-		cp4.add(fInternalPack4);
-
-		LogicalPackage cp5= new LogicalPackage(fPack51);
-		cp5.add(fPack52);
-		cp5.add(fInternalPack5);
-
-		LogicalPackage cp6= new LogicalPackage(fPack61);
-		cp6.add(fPack62);
-		cp6.add(fInternalPack6);
-		
-		LogicalPackage cp10= new LogicalPackage(fPack102);
-		cp10.add(fInternalPack10);
-
-		Object[] children= fProvider.getElements(fJProject2);
-		Object[] expectedChildren= new Object[] { defaultCp, cp3, cp4, cp5, cp6, cp10, fInternalPackMetaInf, fPack21, fPack12, fPack91, fPack81, fPack17 };
-		assertTrue("Wrong children founf for PackageFragment", compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-
-	//---------------Delta Tests-----------------------------
-	public void testRemovePackageNotLogicalPackage() throws Exception {
-		//initialise Map
-		fProvider.getElements(fJProject2);
-
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.REMOVED, fPack12);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-
-		assertTrue("Remove happened", fMyPart.hasRemoveHappened()); //$NON-NLS-1$
-		assertTrue("Correct package removed", fMyPart.getRemovedObject().contains(fPack12)); //$NON-NLS-1$
-	}
-	
-	public void testRemovePackageInTwoPackageLogicalPackage() throws Exception {
-
-		//initialise map
-		fProvider.getElements(fJProject2);
-
-		//create CompoundElement containning
-		LogicalPackage cp10= new LogicalPackage(fInternalPack10);
-
-		fMyPart.clear();
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.REMOVED, fPack102);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		//assert remove happened (delta worked)
-		assertTrue("Refresh happened", fMyPart.hasRemoveHappened() && fMyPart.hasAddHappened()); //$NON-NLS-1$
-		Object addedObject= fMyPart.getAddedObject().get(0);
-		Object removedObject= fMyPart.getRemovedObject().get(0);
-		assertTrue("Correct guy removed", canFindEqualCompoundElement(cp10, new Object[] { removedObject })); //$NON-NLS-1$
-		assertTrue("Correct guy added", fInternalPack10.equals(addedObject)); //$NON-NLS-1$
-	}
-	
-	public void testRemovePackageFromLogicalPackage() throws Exception {
-
-		//initialise map
-		fProvider.getElements(fJProject2);
-
-		fMyPart.clear();
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.REMOVED, fPack62);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		//assert remove happened (delta worked)
-		assertTrue("Refresh did not happened", !fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-	}
-	
-	public void testRemoveCUFromPackageNotLogicalPackage() throws Exception {
-
-		//initialise Map
-		ICompilationUnit cu= fPack81.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		//make sure parent is visible
-		fMyPart.fViewer.setInput(fJProject2);
-	
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[] { cu }, fPack81, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Refresh happened", fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-		assertTrue("Correct package refreshed", fMyPart.getRefreshedObject().contains(fPack81)); //$NON-NLS-1$
-		assertEquals("Correct number of refreshes", 1, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-	
-	public void testAddCUFromPackageNotLogicalPackage() throws Exception {
-
-		ICompilationUnit cu= fPack81.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject2);
-
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[] { cu }, fPack81, IJavaElementDelta.ADDED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Refresh happened", fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-		assertTrue("Correct package refreshed", fMyPart.getRefreshedObject().contains(fPack81)); //$NON-NLS-1$
-		assertEquals("Correct number of refreshes", 1, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-
-	public void testAddFragmentToLogicalPackage() throws Exception {
-	
-		//create package fragment to be added
-		IPackageFragment pack101= fRoot1.createPackageFragment("pack3.pack4.pack10", true, null);//$NON-NLS-1$
-	
-		//initialise map
-		fProvider.getElements(fJProject2);
-		
-		fMyPart.clear();
-	
-		//send delta
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.ADDED, pack101);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		//make sure no refresh happened
-		assertTrue("Refresh did not happened", !fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-	}
-
-	public void testAddPackageNotLogicalPackage() throws Exception {
-
-		//initialise Map
-		fProvider.getElements(fJProject2);
-
-		fMyPart.clear();
-
-		IPackageFragment test= fRoot1.createPackageFragment("pack3.test", true, null); //$NON-NLS-1$
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.ADDED, test);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Add happened", fMyPart.hasAddHappened()); //$NON-NLS-1$
-		assertTrue("Correct package added", fMyPart.getAddedObject().contains(test)); //$NON-NLS-1$
-	}
-
-	public void testAddPackageToCreateLogicalPackage() throws Exception {
-		//initialise map
-		fProvider.getElements(fJProject2);
-		
-		//create new package
-    	IPackageFragment pack11= fRoot1.createPackageFragment("pack1", true, null);//$NON-NLS-1$
-
-		//create a logical package for testing
-		LogicalPackage lp1= new LogicalPackage(fPack12);
-		lp1.add(pack11);
-
-		fMyPart.clear();
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.ADDED, pack11);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		//assert remove and add happened (delta worked)
-		assertTrue("Remove and add happened", fMyPart.hasRemoveHappened() && fMyPart.hasAddHappened()); //$NON-NLS-1$
-		Object addedObject= fMyPart.getAddedObject().get(0);
-		Object removedObject= fMyPart.getRemovedObject().get(0);
-		assertTrue("Correct guy removed", fPack12.equals(removedObject)); //$NON-NLS-1$
-		assertTrue("Correct guy added", lp1.equals(addedObject) ); //$NON-NLS-1$
-	}
-	
-
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-		fWorkspace= ResourcesPlugin.getWorkspace();
-		assertNotNull(fWorkspace);	
-		
-		IWorkspaceDescription workspaceDesc= fWorkspace.getDescription();
-		fEnableAutoBuildAfterTesting= workspaceDesc.isAutoBuilding();
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(false);
-		
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		fJProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		
-		assertNotNull("project1 null", fJProject1);//$NON-NLS-1$
-		assertNotNull("project2 null", fJProject2);//$NON-NLS-1$
-		
-		
-		//------------set up project #1 : External Jar and zip file-------
-		
-		IPackageFragmentRoot jdk= JavaProjectHelper.addVariableRTJar(fJProject1, "JRE_LIB_TEST", null, null);//$NON-NLS-1$
-		assertTrue("jdk not found", jdk != null);//$NON-NLS-1$
-
-		
-		//---Create zip file-------------------
-
-		java.io.File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);		
-		
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());//$NON-NLS-1$
-
-		fArchiveFragmentRoot= JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);//$NON-NLS-1$
-		
-		fPackJunit= fArchiveFragmentRoot.getPackageFragment("junit");//$NON-NLS-1$
-		fPackJunitSamples= fArchiveFragmentRoot.getPackageFragment("junit.samples");//$NON-NLS-1$
-		fPackJunitSamplesMoney= fArchiveFragmentRoot.getPackageFragment("junit.samples.money");//$NON-NLS-1$
-		
-		assertNotNull("creating fPackJunit", fPackJunit);//$NON-NLS-1$
-		assertNotNull("creating fPackJunitSamples", fPackJunitSamples);//$NON-NLS-1$
-		assertNotNull("creating fPackJunitSamplesMoney",fPackJunitSamplesMoney);//$NON-NLS-1$
-		
-		fCUIMoney= fPackJunitSamplesMoney.getCompilationUnit("IMoney.java");//$NON-NLS-1$
-		fCUMoney= fPackJunitSamplesMoney.getCompilationUnit("Money.java");//$NON-NLS-1$
-		fCUMoneyBag= fPackJunitSamplesMoney.getCompilationUnit("MoneyBag.java");//$NON-NLS-1$
-		fCUMoneyTest= fPackJunitSamplesMoney.getCompilationUnit("MoneyTest.java");//$NON-NLS-1$
-		
-		//java.io.File mylibJar= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-		//assertTrue("lib not found", mylibJar != null && mylibJar.exists());//$NON-NLS-1$
-		//JavaProjectHelper.addLibraryWithImport(fJProject1, new Path(mylibJar.getPath()), null, null);
-
-		//----------------Set up internal jar----------------------------
-		//File myInternalJar= JavaTestPlugin.getDefault().getFileInPlugin(new Path("testresources/compoundtest.jar"));//$NON-NLS-1$
-		//assertTrue("lib not found", myInternalJar != null && myInternalJar.exists());//$NON-NLS-1$
-		
-		fInternalJarRoot= JavaProjectHelper.addLibraryWithImport(fJProject2, new Path("testresources/compoundtest.jar"), null, null); //$NON-NLS-1$
-		
-		fInternalPackDefault= fInternalJarRoot.getPackageFragment("");//$NON-NLS-1$
-		fInternalPack3= fInternalJarRoot.getPackageFragment("pack3");//$NON-NLS-1$
-		fInternalPack4= fInternalJarRoot.getPackageFragment("pack3.pack4");//$NON-NLS-1$
-		fInternalPack5= fInternalJarRoot.getPackageFragment("pack3.pack5");//$NON-NLS-1$
-		fInternalPack6= fInternalJarRoot.getPackageFragment("pack3.pack5.pack6");//$NON-NLS-1$
-		fInternalPack10= fInternalJarRoot.getPackageFragment("pack3.pack4.pack10");//$NON-NLS-1$
-		fInternalPackMetaInf= fInternalJarRoot.getPackageFragment("META-INF");//$NON-NLS-1$
-		
-		//-----------------Set up source folder--------------------------
-
-		fRoot2= JavaProjectHelper.addSourceContainer(fJProject2, "src2");//$NON-NLS-1$
-		fPackDefault2= fRoot2.createPackageFragment("",true,null);//$NON-NLS-1$
-		fPack12= fRoot2.createPackageFragment("pack1", true, null);//$NON-NLS-1$
-		fPack17= fRoot2.createPackageFragment("pack1.pack7",true,null);//$NON-NLS-1$
-		fPack32= fRoot2.createPackageFragment("pack3",true,null);//$NON-NLS-1$
-		fPack42= fRoot2.createPackageFragment("pack3.pack4", true,null);//$NON-NLS-1$
-		fPack52= fRoot2.createPackageFragment("pack3.pack5",true,null);//$NON-NLS-1$
-		fPack62= fRoot2.createPackageFragment("pack3.pack5.pack6", true, null);//$NON-NLS-1$
-		fPack102=fRoot2.createPackageFragment("pack3.pack4.pack10", true, null);//$NON-NLS-1$
-		
-		fCU12= fPack12.createCompilationUnit("Object.java", "", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU22= fPack62.createCompilationUnit("Object.java","", true, null);//$NON-NLS-1$//$NON-NLS-2$
-
-
-		//set up project #2: file system structure with in a source folder
-
-	//	JavaProjectHelper.addVariableEntry(fJProject2, new Path("JRE_LIB_TEST"), null, null);
-
-		//----------------Set up source folder--------------------------
-
-		fRoot1= JavaProjectHelper.addSourceContainer(fJProject2, "src1"); //$NON-NLS-1$  
-		fPackDefault1= fRoot1.createPackageFragment("",true,null); //$NON-NLS-1$  
-		fPack21= fRoot1.createPackageFragment("pack2", true, null);//$NON-NLS-1$
-		fPack31= fRoot1.createPackageFragment("pack3",true,null);//$NON-NLS-1$
-		fPack41= fRoot1.createPackageFragment("pack3.pack4", true,null);//$NON-NLS-1$
-		fPack91= fRoot1.createPackageFragment("pack3.pack4.pack9",true,null);//$NON-NLS-1$
-		fPack51= fRoot1.createPackageFragment("pack3.pack5",true,null);//$NON-NLS-1$
-		fPack61= fRoot1.createPackageFragment("pack3.pack5.pack6", true, null);//$NON-NLS-1$
-		fPack81= fRoot1.createPackageFragment("pack3.pack8", true, null);//$NON-NLS-1$
-		
-		fCU11= fPack21.createCompilationUnit("Object.java", "", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU21= fPack61.createCompilationUnit("Object.java","", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		
-		//set up the mock view
-		setUpMockView();
-	}
-	
-	public void setUpMockView() throws Exception{
-		
-		fWorkbench= PlatformUI.getWorkbench();
-		assertNotNull(fWorkbench);
-		
-		fPage= fWorkbench.getActiveWorkbenchWindow().getActivePage();
-		assertNotNull(fPage);
-		
-		//just testing to make sure my part can be created
-		IViewPart myPart= new MockPluginView();
-		((MockPluginView)myPart).setListState(true);
-
-		myPart= fPage.showView("org.eclipse.jdt.ui.tests.browsing.MockPluginView");//$NON-NLS-1$
-		if (myPart instanceof MockPluginView) {
-			fMyPart= (MockPluginView) myPart;
-			
-			fProvider= (IStructuredContentProvider)fMyPart.getTreeViewer().getContentProvider();
-			//create map and set listener	
-			fProvider.inputChanged(null,null,fJProject2);
-			JavaCore.removeElementChangedListener((IElementChangedListener) fProvider);
-		} else assertTrue("Unable to get view",false);//$NON-NLS-1$
-	
-		assertNotNull(fProvider);		
-	}
-
-	/*
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		
-		JavaProjectHelper.delete(fJProject1);
-		JavaProjectHelper.delete(fJProject2);
-		fProvider.inputChanged(null, null, null);
-		fPage.hideView(fMyPart);
-		fMyPart.dispose();
-		
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);
-
-		
-		super.tearDown();
-	}
-	
-	private boolean compareArrays(Object[] children, Object[] expectedChildren) {
-		if(children.length!=expectedChildren.length)
-			return false;
-		for (int i= 0; i < children.length; i++) {
-			Object child= children[i];
-			if (child instanceof IJavaElement) {
-				IJavaElement el= (IJavaElement) child;
-				if(!contains(el, expectedChildren))
-					return false;
-			} else if(child instanceof IResource){
-				IResource res = (IResource) child;	
-				if(!contains(res, expectedChildren)){
-					return false;	
-				}
-			} else if (child instanceof LogicalPackage){
-				if(!canFindEqualCompoundElement((LogicalPackage)child, expectedChildren))
-					return false;	
-			}
-		}
-		return true;
-	}
-	
-	private boolean canFindEqualCompoundElement(LogicalPackage compoundElement, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if(object instanceof LogicalPackage){
-				LogicalPackage el= (LogicalPackage) object;
-				if(el.getElementName().equals(compoundElement.getElementName()) && (el.getJavaProject().equals(compoundElement.getJavaProject()))){
-					if(compareArrays(el.getFragments(), compoundElement.getFragments()))
-						return true;	
-				}
-			}
-		}
-		return false;
-	}
-	
-	private boolean contains(IResource res, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IResource) {
-				IResource expres= (IResource) object;
-				if(expres.equals(res))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	private boolean contains(IJavaElement fragment, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IJavaElement) {
-				IJavaElement expfrag= (IJavaElement) object;
-				if(expfrag.equals(fragment))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	private void pushDisplay() {
-		boolean moreToDispatch= true;
-		while (moreToDispatch) {
-			Control ctrl= fMyPart.getTreeViewer().getControl();
-			if (ctrl != null && !ctrl.isDisposed()) {
-				moreToDispatch= fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch();
-			} else
-				moreToDispatch= false;
-		}
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewDeltaTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewDeltaTests.java
deleted file mode 100644
index b674aac..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/PackagesViewDeltaTests.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.browsing;
-
-import java.io.File;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.swt.widgets.Control;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.jdt.internal.ui.browsing.LogicalPackage;
-
-/**
- * @author jthorsley
- */
-public class PackagesViewDeltaTests extends TestCase {
-	
-	public static Test suite() {
-		TestSuite suite= new TestSuite("org.eclipse.jdt.ui.tests.PackagesViewDeltaTests");//$NON-NLS-1$
-		//$JUnit-BEGIN$
-		suite.addTestSuite(PackagesViewDeltaTests.class);
-		//$JUnit-END$
-		return suite;
-	}
-	
-	private IJavaProject fJProject;
-	
-	private IPackageFragmentRoot fRoot1;
-	private IWorkspace fWorkspace;
-	private IWorkbench fWorkbench;
-	private MockPluginView fMyPart;
-	
-	private ITreeContentProvider fProvider;
-
-	private IWorkbenchPage fPage;
-	private IPackageFragmentRoot fRoot2;
-	private IPackageFragment fPack12;
-	private IPackageFragment fPack32;
-	private IPackageFragment fPack42;
-	private IPackageFragment fPack52;
-	private IPackageFragment fPack62;
-	private ICompilationUnit fCU12;
-	private ICompilationUnit fCU22;
-	private IPackageFragment fPack21;
-	private ICompilationUnit fCU11;
-	private ICompilationUnit fCU21;
-	private IPackageFragment fPack61;
-	private IPackageFragment fPack51;
-	private IPackageFragment fPack41;
-	private IPackageFragment fPack31;
-	private IPackageFragment fPackDefault1;
-	private IPackageFragment fPackDefault2;
-	private IPackageFragment fPack17;
-	private IPackageFragment fPack81;
-	private IPackageFragment fPack91;
-	private IPackageFragmentRoot fInternalJarRoot;
-	private IPackageFragment fInternalPackDefault;
-	private IPackageFragment fInternalPack3;
-	private IPackageFragment fInternalPack4;
-	private IPackageFragment fInternalPack5;
-	private IPackageFragment fInternalPack10;
-	private IPackageFragment fInternalPack6;
-	private IPackageFragment fInternalPackMetaInf;
-	private IPackageFragment fPack102;
-	private ICompilationUnit fCU33;
-	private ICompilationUnit fCU43;
-	private boolean fEnableAutoBuildAfterTesting;
-	
-	public PackagesViewDeltaTests(String name) {
-		super(name);
-	}
-	
-	//-----------------Remove delta test cases------------------
-	
-	public void testRemoveTopLevelFragmentNotLogicalPackage() throws Exception {
-
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject);
-		fProvider.getChildren(cp3);
-
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.REMOVED, fPack12);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-
-		assertTrue("Remove happened", fMyPart.hasRemoveHappened()); //$NON-NLS-1$
-		assertTrue("Correct package removed", fMyPart.getRemovedObject().contains(fPack12)); //$NON-NLS-1$
-	}
-
-	public void testRemoveBottomLevelFragmentNotLogicalPackage() throws Exception {
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject);
-
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.REMOVED, fPack42);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("No remove happened, in Logical Package", !fMyPart.hasRemoveHappened()); //$NON-NLS-1$
-	}
-
-	//This is a bogus test because this situation could never occure
-	//while fPack42 exists you cannot remove fPack32 still it tests 
-	//correct delta handeling.
-	public void testRemoveFragmentInMultiFragmentLogicalPackage() throws Exception {
-
-		//initialise the map
-		fMyPart.fViewer.setInput(fJProject);
-		Object[] children= fProvider.getChildren(fJProject);
-		for (int i= 0; i < children.length; i++) {
-			Object object= children[i];
-			fProvider.getChildren(object);
-		}
-
-		//create a logical package with name "pack3"
-		LogicalPackage expectedParent= new LogicalPackage(fPack31);
-		expectedParent.add(fInternalPack3);
-
-		//create a logical package with name "pack3.pack4"
-		LogicalPackage ChildCp1= new LogicalPackage(fPack41);
-		ChildCp1.add(fPack42);
-		ChildCp1.add(fInternalPack4);
-
-		fMyPart.clear();
-
-		//delete a fragment
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.REMOVED, fPack32);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		//assert remove happened
-		assertTrue("Refresh happened", !fMyPart.hasRemoveHappened() && !fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-
-		//test life cycle of Logical Package
-		Object parent= fProvider.getParent(ChildCp1);
-		if (!(parent instanceof LogicalPackage)) {
-			assertTrue("wrong parent found for logical package after remove", false); //$NON-NLS-1$
-		}
-
-		LogicalPackage lp= (LogicalPackage) parent;
-		assertTrue("PackageFragment removed from logical package", lp.equals(expectedParent)); //$NON-NLS-1$
-
-	}
-
-	public void testRemoveBottomLevelFragmentInMultiFragmentLogicalPackage() throws Exception {
-
-		//delete a fragment
-		fPack62.delete(true, null);
-
-		//create a logical package child of cp with name "pack3.pack5.pack6"
-		LogicalPackage expectedChild= new LogicalPackage(fPack61);
-		expectedChild.add(fInternalPack6);
-
-		//create a logical package child of cp with name "pack3.pack5"
-		LogicalPackage ParentCp5= new LogicalPackage(fPack51);
-		ParentCp5.add(fPack52);
-		ParentCp5.add(fInternalPack5);
-
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		//initialise map
-		fProvider.getChildren(fJProject);
-		fProvider.getChildren(cp3);
-		fProvider.getChildren(ParentCp5);
-
-		fMyPart.clear();
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.REMOVED, fPack62);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		//assert delta correct (no remove or refresh, only change to logicalpackage)
-		assertTrue("Refresh happened", !fMyPart.hasRefreshHappened() && !fMyPart.hasRemoveHappened()); //$NON-NLS-1$
-
-		//test life cycle of LogicalPackage
-		Object[] child= fProvider.getChildren(ParentCp5);
-		
-		if ((child.length != 1) || (!(child[0] instanceof LogicalPackage))) {
-			assertTrue("wrong parent found for logical package after remove", false); //$NON-NLS-1$
-		}
-
-		LogicalPackage lp= (LogicalPackage) child[0];
-		assertTrue("PackageFragment removed from logical package", lp.equals(expectedChild)); //$NON-NLS-1$
-	}
-
-	public void testRemoveFragmentInTwoFragmentLogicalPackage() throws Exception {
-
-		//create a logical package child of cp
-		LogicalPackage ParentCp4= new LogicalPackage(fPack41);
-		ParentCp4.add(fPack42);
-		ParentCp4.add(fInternalPack4);
-
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		//initialise map
-		fProvider.getChildren(fJProject);
-		fProvider.getChildren(cp3);
-		fProvider.getChildren(ParentCp4);
-
-		//create logical package with name "pack3.pack4.pack10"
-		LogicalPackage cp10= new LogicalPackage(fInternalPack10);
-
-		//delete fragment
-		fPack102.delete(true, null);
-
-		fMyPart.clear();
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.REMOVED, fPack102);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		pushDisplay();
-
-		//assert remove happened (delta worked)
-		assertTrue("Refresh happened", fMyPart.hasRemoveHappened() && fMyPart.hasAddHappened()); //$NON-NLS-1$
-		Object addedObject= fMyPart.getAddedObject().get(0);
-		Object removedObject= fMyPart.getRemovedObject().get(0);
-		assertTrue("Correct guy removed", cp10.equals(removedObject)); //$NON-NLS-1$
-		assertTrue("Correct guy added", fInternalPack10.equals(addedObject)); //$NON-NLS-1$
-
-		//assert correct children gotten
-		Object[] children= fProvider.getChildren(ParentCp4);
-		assertTrue("PackageFragment removed from logial package", compareArrays(children, new Object[] { fPack91, fInternalPack10 })); //$NON-NLS-1$
-	}
-
-	//-----------------------Add delta test cases----------------------------------
-	public void testAddTopLevelFragmentNotLogicalPackage() throws Exception {
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject);
-
-		fMyPart.clear();
-
-		IPackageFragment test= fRoot1.createPackageFragment("pack3.test", true, null); //$NON-NLS-1$
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.ADDED, test);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Add happened", fMyPart.hasAddHappened()); //$NON-NLS-1$
-		assertTrue("Correct package added", fMyPart.getAddedObject().contains(test)); //$NON-NLS-1$
-	}
-	
-	public void testAddFragmentToLogicalPackage() throws Exception {
-
-		//create a logical package with name "pack3.pack4"
-		LogicalPackage cp4= new LogicalPackage(fPack41);
-		cp4.add(fPack42);
-		cp4.add(fInternalPack4);
-		  
-		//initialise Map  
-		fProvider.getChildren(cp4);
-
-		//send delta
-		IPackageFragment pack101= fRoot1.createPackageFragment("pack3.pack4.pack10", true, null); //$NON-NLS-1$
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.ADDED, pack101);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-		
-		//force events from display
-		pushDisplay();
-		
-		//make sure no refresh happened
-		assertTrue("Refresh did not happened", !fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-	}
-
-	public void testAddCUFromFragmentNotLogicalPackageVisible() throws Exception {
-
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		ICompilationUnit cu= fPack81.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject);
-		fProvider.getChildren(cp3);
-
-		fMyPart.fViewer.reveal(fPack81);
-
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[] { cu }, fPack81, IJavaElementDelta.ADDED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Refresh happened", fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-		assertTrue("Correct package refreshed", fMyPart.getRefreshedObject().contains(fPack81)); //$NON-NLS-1$
-		assertEquals("Correct number of refreshes", 1, fMyPart.getRefreshedObject().size());//$NON-NLS-1$
-	}
-	
-	public void testAddCUFromFragmentNotLogicalPackageNotVisible() throws Exception {
-
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		ICompilationUnit cu= fPack81.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject);
-		fProvider.getChildren(cp3);
-
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[] { cu }, fPack81, IJavaElementDelta.ADDED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Refresh happened", fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-		assertTrue("Correct package refreshed", fMyPart.getRefreshedObject().contains(cp3)); //$NON-NLS-1$
-		assertEquals("Correct number of refreshes", 1, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-	
-	public void testRemoveCUFromFragmentNotLogicalPackage() throws Exception {
-
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject);
-		fProvider.getChildren(cp3);
-
-		ICompilationUnit cu= fPack81.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		//make sure parent is visible
-		fMyPart.fViewer.setInput(fJProject);
-		fMyPart.fViewer.reveal(fPack81);		
-		
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[] { cu }, fPack81, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Refresh happened", fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-		assertTrue("Correct package refreshed", fMyPart.getRefreshedObject().contains(fPack81)); //$NON-NLS-1$
-		assertEquals("Correct number of refreshes", 1, fMyPart.getRefreshedObject().size());//$NON-NLS-1$
-	}
-	
-	public void testRemoveCUFromFragmentNotLogicalPackageWithParentNotVisible() throws Exception {
-
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject);
-		fProvider.getChildren(cp3);
-
-		ICompilationUnit cu= fPack81.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		fMyPart.clear();
-
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[] { cu }, fPack81, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Refresh happened", fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-		assertTrue("Correct package refreshed", fMyPart.getRefreshedObject().contains(cp3)); //$NON-NLS-1$
-		assertEquals("Correct number of refreshes", 1, fMyPart.getRefreshedObject().size());//$NON-NLS-1$
-	}
-	
-	public void testAddBottomLevelFragmentNotLogicalPackage() throws Exception {
-
-		//create a logical package for packages with name "pack3"
-		LogicalPackage cp3= new LogicalPackage(fPack31);
-		cp3.add(fPack32);
-		cp3.add(fInternalPack3);
-
-		//initialise Map
-		fMyPart.fViewer.setInput(fJProject);
-		fProvider.getChildren(cp3);
-
-		fMyPart.clear();
-
-		IPackageFragment test= fRoot1.createPackageFragment("pack3.pack5.test", true, null); //$NON-NLS-1$
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= new TestDelta(IJavaElementDelta.ADDED, test);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		pushDisplay();
-		
-		assertTrue("Add happened", fMyPart.hasAddHappened()); //$NON-NLS-1$
-		assertTrue("Corrent package added", fMyPart.getAddedObject().contains(test)); //$NON-NLS-1$
-	}
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-
-		fWorkspace= ResourcesPlugin.getWorkspace();
-		assertNotNull(fWorkspace);
-		
-		IWorkspaceDescription workspaceDesc= fWorkspace.getDescription();
-		fEnableAutoBuildAfterTesting= workspaceDesc.isAutoBuilding();
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(false);
-
-		//------------set up project ------------------------------
-		fJProject= JavaProjectHelper.createJavaProject("TestProject2", "bin"); //$NON-NLS-1$//$NON-NLS-2$
-		assertNotNull("project null", fJProject); //$NON-NLS-1$
-
-		//----------------Set up internal jar----------------------------
-		File myInternalJar= JavaTestPlugin.getDefault().getFileInPlugin(new Path("testresources/compoundtest.jar")); //$NON-NLS-1$
-		assertTrue("lib not found", myInternalJar != null && myInternalJar.exists()); //$NON-NLS-1$
-		fInternalJarRoot= JavaProjectHelper.addLibraryWithImport(fJProject, new Path(myInternalJar.getPath()), null, null);
-		fInternalPackDefault= fInternalJarRoot.getPackageFragment(""); //$NON-NLS-1$
-		fInternalPack3= fInternalJarRoot.getPackageFragment("pack3"); //$NON-NLS-1$
-		fInternalPack4= fInternalJarRoot.getPackageFragment("pack3.pack4"); //$NON-NLS-1$
-		fInternalPack5= fInternalJarRoot.getPackageFragment("pack3.pack5"); //$NON-NLS-1$
-		fInternalPack6= fInternalJarRoot.getPackageFragment("pack3.pack5.pack6"); //$NON-NLS-1$
-		fInternalPack10= fInternalJarRoot.getPackageFragment("pack3.pack4.pack10"); //$NON-NLS-1$
-		fInternalPackMetaInf= fInternalJarRoot.getPackageFragment("meta-inf"); //$NON-NLS-1$
-
-		//-----------------Set up source folder--------------------------
-
-		fRoot2= JavaProjectHelper.addSourceContainer(fJProject, "src2"); //$NON-NLS-1$
-		fPackDefault2= fRoot2.createPackageFragment("", true, null); //$NON-NLS-1$
-		fPack12= fRoot2.createPackageFragment("pack1", true, null); //$NON-NLS-1$
-		fPack17= fRoot2.createPackageFragment("pack1.pack7", true, null); //$NON-NLS-1$
-		fPack32= fRoot2.createPackageFragment("pack3", true, null); //$NON-NLS-1$
-		fPack42= fRoot2.createPackageFragment("pack3.pack4", true, null); //$NON-NLS-1$
-		fPack52= fRoot2.createPackageFragment("pack3.pack5", true, null); //$NON-NLS-1$
-		fPack62= fRoot2.createPackageFragment("pack3.pack5.pack6", true, null); //$NON-NLS-1$
-		fPack102= fRoot2.createPackageFragment("pack3.pack4.pack10", true, null); //$NON-NLS-1$
-
-		fCU12= fPack12.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-		fCU22= fPack62.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-		//so that fPack52 won't get deleted when we delete fPack62 in certain tests
-		fCU33= fPack52.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-		//so that fPack42 won't get deleted when we delete fPack102 in certain tests
-		fCU43= fPack42.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		//set up project #2: file system structure with in a source folder
-
-		//	JavaProjectHelper.addVariableEntry(fJProject2, new Path("JRE_LIB_TEST"), null, null);
-
-		//----------------Set up source folder--------------------------
-
-		fRoot1= JavaProjectHelper.addSourceContainer(fJProject, "src1"); //$NON-NLS-1$
-		fPackDefault1= fRoot1.createPackageFragment("", true, null); //$NON-NLS-1$
-		fPack21= fRoot1.createPackageFragment("pack2", true, null); //$NON-NLS-1$
-		fPack31= fRoot1.createPackageFragment("pack3", true, null); //$NON-NLS-1$
-		fPack41= fRoot1.createPackageFragment("pack3.pack4", true, null); //$NON-NLS-1$
-		fPack91= fRoot1.createPackageFragment("pack3.pack4.pack9", true, null); //$NON-NLS-1$
-		fPack51= fRoot1.createPackageFragment("pack3.pack5", true, null); //$NON-NLS-1$
-		fPack61= fRoot1.createPackageFragment("pack3.pack5.pack6", true, null); //$NON-NLS-1$
-		fPack81= fRoot1.createPackageFragment("pack3.pack8", true, null); //$NON-NLS-1$
-
-		fCU11= fPack21.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-		fCU21= fPack61.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$//$NON-NLS-2$
-
-		//set up the mock view
-		setUpMockView();
-	}
-	public void setUpMockView() throws Exception {
-
-		fWorkbench= PlatformUI.getWorkbench();
-		assertNotNull(fWorkbench);
-
-		fPage= fWorkbench.getActiveWorkbenchWindow().getActivePage();
-		assertNotNull(fPage);
-
-		//just testing to make sure my part can be created
-		IViewPart myPart= new MockPluginView();
-		assertNotNull(myPart);
-
-		myPart= fPage.showView("org.eclipse.jdt.ui.tests.browsing.MockPluginView"); //$NON-NLS-1$
-		if (myPart instanceof MockPluginView) {
-			fMyPart= (MockPluginView) myPart;
-			fProvider= (ITreeContentProvider) fMyPart.getTreeViewer().getContentProvider();
-			JavaCore.removeElementChangedListener((IElementChangedListener) fProvider);
-		} else
-			assertTrue("Unable to get view", false); //$NON-NLS-1$
-
-		assertNotNull(fProvider);
-	}
-
-	/*
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-
-		JavaProjectHelper.delete(fJProject);
-		fProvider.inputChanged(null, null, null);
-		fPage.hideView(fMyPart);
-		fMyPart.dispose();
-
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);
-
-		super.tearDown();
-	}
-		
-	/**
-	 * Method compareArrays. Both arrays must be of IPackageFragments or compare will fail.
-	 * @param children 
-	 * @param expectedChildren
-	 * @return boolean returns true if the arrays contain the same elements
-	 */
-	private boolean compareArrays(Object[] children, Object[] expectedChildren) {
-		if (children.length != expectedChildren.length)
-			return false;
-		for (int i= 0; i < children.length; i++) {
-			Object child= children[i];
-			if (child instanceof IJavaElement) {
-				IJavaElement el= (IJavaElement) child;
-				if (!contains(el, expectedChildren))
-					return false;
-			} else if (child instanceof IResource) {
-				IResource res= (IResource) child;
-				if (!contains(res, expectedChildren)) {
-					return false;
-				}
-			} else if (child instanceof LogicalPackage) {
-				if (!contains((LogicalPackage) child, expectedChildren))
-					return false;
-			}
-		}
-		return true;
-	}
-
-	private boolean contains(IResource res, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IResource) {
-				IResource expres= (IResource) object;
-				if (expres.equals(res))
-					return true;
-			}
-		}
-		return false;
-	}
-
-	private boolean contains(IJavaElement fragment, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IJavaElement) {
-				IJavaElement expfrag= (IJavaElement) object;
-				if (expfrag.equals(fragment))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	private boolean contains(LogicalPackage lp, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof LogicalPackage) {
-				LogicalPackage explp= (LogicalPackage) object;
-				if (explp.equals(lp))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	private void pushDisplay() {
-		Control ctrl= fMyPart.getTreeViewer().getControl();
-		while (ctrl != null && !ctrl.isDisposed() && fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch())
-			ctrl= fMyPart.getTreeViewer().getControl();
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/TestDelta.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/TestDelta.java
deleted file mode 100644
index 1d5bec4..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/browsing/TestDelta.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.browsing;
-
-import org.eclipse.core.resources.IResourceDelta;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-
-/**
- * A faux  delta for testing
- */
-public class TestDelta implements IJavaElementDelta {
-
-	private int fKind;
-	private IJavaElement fElement;
-
-	private IJavaElementDelta[] fAffectedChildren;
-
-	public TestDelta(int kind, IJavaElement element) {
-		fKind= kind;
-		fElement= element;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getAddedChildren()
-	 */
-	public IJavaElementDelta[] getAddedChildren() {
-		return null;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getAffectedChildren()
-	 */
-	public IJavaElementDelta[] getAffectedChildren() {
-		if (fAffectedChildren == null)
-			return new IJavaElementDelta[0];
-		else
-			return fAffectedChildren;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getChangedChildren()
-	 */
-	public IJavaElementDelta[] getChangedChildren() {
-		return null;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getElement()
-	 */
-	public IJavaElement getElement() {
-		return fElement;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getFlags()
-	 */
-	public int getFlags() {
-		return 0;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getKind()
-	 */
-	public int getKind() {
-		return fKind;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getMovedFromElement()
-	 */
-	public IJavaElement getMovedFromElement() {
-		return null;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getMovedToElement()
-	 */
-	public IJavaElement getMovedToElement() {
-		return null;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getRemovedChildren()
-	 */
-	public IJavaElementDelta[] getRemovedChildren() {
-		return null;
-	}
-	/*
-	 * @see org.eclipse.jdt.core.IJavaElementDelta#getResourceDeltas()
-	 */
-	public IResourceDelta[] getResourceDeltas() {
-		return null;
-	}
-
-	/**
-	 * Set the affected children of this Delta.
-	 * @param children
-	 */
-	public void setAffectedChildren(IJavaElementDelta[] children) {
-		fAffectedChildren= children;
-	}
-
-	/**
-	 * Create the parent deltas for an IPackageFragment.
-	 * 
-	 * @param frag
-	 * @param delta
-	 * @return TestDelta
-	 */
-	public static TestDelta createParentDeltas(IPackageFragment frag, TestDelta delta) {
-		IJavaElement root= frag.getParent();
-		TestDelta rootDelta= new TestDelta(IJavaElementDelta.CHANGED, root);
-
-		IJavaProject proj= root.getJavaProject();
-		TestDelta projectDelta= new TestDelta(IJavaElementDelta.CHANGED, proj);
-
-		IJavaModel model= proj.getJavaModel();
-		TestDelta modelDelta= new TestDelta(IJavaElementDelta.CHANGED, model);
-
-		//set affected children
-		modelDelta.setAffectedChildren(new IJavaElementDelta[] { projectDelta });
-		projectDelta.setAffectedChildren(new IJavaElementDelta[] { rootDelta });
-		rootDelta.setAffectedChildren(new IJavaElementDelta[] { delta });
-		return modelDelta;
-	}
-
-	/**
-	 * Create a delta for a list of ICompilationUnits, all the parent deltas
-	 * from the JavaModel down are created as well.
-	 * 
-	 * @param cu
-	 * @param parent
-	 * @param action
-	 * @return IJavaElementDelta
-	 */
-	public static IJavaElementDelta createCUDelta(ICompilationUnit[] cu, IPackageFragment parent, int action) {
-		TestDelta fragmentDelta= new TestDelta(IJavaElementDelta.CHANGED, parent);
-
-		TestDelta[] deltas= new TestDelta[cu.length];
-		for (int i= 0; i < cu.length; i++) {
-			deltas[i]= new TestDelta(action, cu[i]);
-		}
-
-		fragmentDelta.setAffectedChildren(deltas);
-		return createParentDeltas(parent, fragmentDelta);
-	}
-
-	/**
-	 * Creates a delta for a PackageFragment from the JavaModel down.
-	 * 
-	 * @param frag
-	 * @param action
-	 * @return IJavaElementDelta
-	 */
-	public static IJavaElementDelta createDelta(IPackageFragment frag, int action) {
-		TestDelta delta= new TestDelta(action, frag);
-		return createParentDeltas(frag, delta);
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/callhierarchy/CallHierarchyContentProviderTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/callhierarchy/CallHierarchyContentProviderTest.java
deleted file mode 100644
index 156b51d..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/callhierarchy/CallHierarchyContentProviderTest.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- *   Jesper Kamstrup Linnet (eclipse@kamstrup-linnet.dk) - initial API and implementation
- *             (report 36180: Callers/Callees view)
- ******************************************************************************/
-package org.eclipse.jdt.ui.tests.callhierarchy;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.JavaModelException;
-
-import org.eclipse.jdt.internal.ui.callhierarchy.CallHierarchyContentProvider;
-import org.eclipse.jdt.internal.ui.callhierarchy.CallHierarchyUI;
-import org.eclipse.jdt.internal.ui.callhierarchy.TreeRoot;
-
-import org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchy;
-import org.eclipse.jdt.internal.corext.callhierarchy.MethodWrapper;
-
-public class CallHierarchyContentProviderTest extends TestCase {
-    private static final int DEFAULT_MAX_DEPTH= 10;
-
-    private static final Class THIS= CallHierarchyContentProviderTest.class;
-
-    private CallHierarchyTestHelper helper;
-
-    private CallHierarchyContentProvider fProvider;
-    public CallHierarchyContentProviderTest(String name) {
-        super(name);
-    }
-
-    public static Test suite() {
-        if (true) {
-            return new TestSuite(THIS);
-        } else {
-            TestSuite suite= new TestSuite();
-            suite.addTest(new CallHierarchyContentProviderTest("test1"));
-
-            return suite;
-        }
-    }
-
-    protected void setUp() throws Exception {
-        helper= new CallHierarchyTestHelper();
-        helper.setUp();
-
-        fProvider= new CallHierarchyContentProvider(null);
-
-        CallHierarchyUI.getDefault().setMaxCallDepth(DEFAULT_MAX_DEPTH);
-    }
-
-    protected void tearDown() throws Exception {
-        helper.tearDown();
-        helper= null;
-
-        CallHierarchyUI.getDefault().setMaxCallDepth(DEFAULT_MAX_DEPTH);
-    }
-
-    /**
-     * Tests getChildren and hasChildren on an "ordinary" callee tree.
-     * 
-     * @throws JavaModelException
-     * @throws CoreException
-     */
-    public void testGetChildrenOfCalleeRoot() throws JavaModelException, CoreException {
-        helper.createSimpleClasses();
-
-        TreeRoot root= wrapCalleeRoot(helper.getMethod4());
-        Object[] children= fProvider.getChildren(root);
-        assertEquals("Wrong number of children", 1, children.length);
-        helper.assertCalls(new IMember[] { helper.getMethod4()}, children);
-        assertEquals("Wrong method", helper.getMethod4(), ((MethodWrapper) children[0]).getMember());
-        assertEquals("root's hasChildren", true, fProvider.hasChildren(root));
-
-        Object[] secondLevelChildren= fProvider.getChildren(children[0]);
-        helper.assertCalls(new IMember[] { helper.getMethod3()}, secondLevelChildren);
-        assertCalleeMethodWrapperChildren(secondLevelChildren);
-        assertEquals("second level hasChildren", true, fProvider.hasChildren(children[0]));
-
-        Object[] thirdLevelChildren= fProvider.getChildren(secondLevelChildren[0]);
-        helper.assertCalls(new IMember[] { helper.getMethod1(), helper.getMethod2()}, thirdLevelChildren);
-        assertCalleeMethodWrapperChildren(thirdLevelChildren);
-        assertEquals("third level hasChildren", true, fProvider.hasChildren(secondLevelChildren[0]));
-
-        MethodWrapper fourthLevelMethodWrapper= helper.findMethodWrapper(helper.getMethod1(), thirdLevelChildren);
-        assertNotNull("method1 not found", fourthLevelMethodWrapper);
-        assertEquals(
-            "Wrong number of fourth level children",
-            0,
-            fProvider.getChildren(fourthLevelMethodWrapper).length);
-        // hasChildren should be true even if the node doesn't have children (for performance reasons)
-        assertEquals("fourth level hasChildren", true, fProvider.hasChildren(fourthLevelMethodWrapper));
-    }
-
-    /**
-     * Tests getChildren and hasChildren on an "ordinary" callers tree.
-     * 
-     * @throws JavaModelException
-     * @throws CoreException
-     */
-    public void testGetChildrenOfCallerRoot() throws JavaModelException, CoreException {
-        helper.createSimpleClasses();
-
-        TreeRoot root= wrapCallerRoot(helper.getMethod1());
-        Object[] children= fProvider.getChildren(root);
-        helper.assertCalls(new IMember[] { helper.getMethod1()}, children);
-        assertEquals("root's hasChildren", true, fProvider.hasChildren(root));
-
-        Object[] secondLevelChildren= fProvider.getChildren(children[0]);
-        helper.assertCalls(new IMember[] { helper.getMethod2(), helper.getMethod3()}, secondLevelChildren);
-        assertCallerMethodWrapperChildren(secondLevelChildren);
-        assertEquals("second level hasChildren", true, fProvider.hasChildren(children[0]));
-
-        MethodWrapper thirdLevelMethodWrapper= helper.findMethodWrapper(helper.getMethod3(), secondLevelChildren);
-        assertNotNull("method3() not found", thirdLevelMethodWrapper);
-        Object[] thirdLevelChildren= fProvider.getChildren(thirdLevelMethodWrapper);
-        helper.assertCalls(new IMember[] { helper.getMethod4()}, thirdLevelChildren);
-        assertCallerMethodWrapperChildren(thirdLevelChildren);
-        assertEquals("third level hasChildren", true, fProvider.hasChildren(thirdLevelMethodWrapper));
-
-        assertEquals("Wrong number of fourth level children", 0, fProvider.getChildren(thirdLevelChildren[0]).length);
-        // hasChildren should be true even if the node doesn't have children (for performance reasons)
-        assertEquals("fourth level hasChildren", true, fProvider.hasChildren(thirdLevelChildren[0]));
-    }
-
-    /**
-     * Tests getChildren and hasChildren on an callers tree which exceeds the max call depth.
-     * 
-     * @throws JavaModelException
-     * @throws CoreException
-     */
-    public void testGetChildrenOfCallerMaxDepth() throws JavaModelException, CoreException {
-        helper.createSimpleClasses();
-
-        CallHierarchyUI.getDefault().setMaxCallDepth(2);
-
-        TreeRoot root= wrapCallerRoot(helper.getMethod1());
-        Object[] children= fProvider.getChildren(root);
-        helper.assertCalls(new IMember[] { helper.getMethod1()}, children);
-        assertEquals("root's hasChildren", true, fProvider.hasChildren(root));
-
-        Object[] secondLevelChildren= fProvider.getChildren(children[0]);
-        helper.assertCalls(new IMember[] { helper.getMethod2(), helper.getMethod3()}, secondLevelChildren);
-        assertCallerMethodWrapperChildren(secondLevelChildren);
-        assertEquals("second level hasChildren", true, fProvider.hasChildren(children[0]));
-
-        MethodWrapper thirdLevelMethodWrapper= helper.findMethodWrapper(helper.getMethod3(), secondLevelChildren);
-        assertNotNull("method3() not found", thirdLevelMethodWrapper);
-        Object[] thirdLevelChildren= fProvider.getChildren(thirdLevelMethodWrapper);
-        helper.assertCalls(new IMember[] { helper.getMethod4()}, thirdLevelChildren);
-        assertCallerMethodWrapperChildren(thirdLevelChildren);
-        assertEquals("third level hasChildren", true, fProvider.hasChildren(thirdLevelMethodWrapper));
-
-        assertEquals("Wrong number of fourth level children", 0, fProvider.getChildren(thirdLevelChildren[0]).length);
-        // hasChildren should be false since the maximum depth has been reached
-        assertEquals("fourth level hasChildren", false, fProvider.hasChildren(thirdLevelChildren[0]));
-    }
-
-    /**
-     * Tests getChildren and hasChildren on an callee tree which exceeds the max call depth.
-     * 
-     * @throws JavaModelException
-     * @throws CoreException
-     */
-    public void testGetChildrenOfCalleeMaxDepth() throws JavaModelException, CoreException {
-        helper.createSimpleClasses();
-
-        CallHierarchyUI.getDefault().setMaxCallDepth(2);
-
-        TreeRoot root= wrapCalleeRoot(helper.getMethod4());
-        Object[] children= fProvider.getChildren(root);
-        assertEquals("Wrong number of children", 1, children.length);
-        helper.assertCalls(new IMember[] { helper.getMethod4()}, children);
-        assertEquals("Wrong method", helper.getMethod4(), ((MethodWrapper) children[0]).getMember());
-        assertEquals("root's hasChildren", true, fProvider.hasChildren(root));
-
-        Object[] secondLevelChildren= fProvider.getChildren(children[0]);
-        helper.assertCalls(new IMember[] { helper.getMethod3()}, secondLevelChildren);
-        assertCalleeMethodWrapperChildren(secondLevelChildren);
-        assertEquals("second level hasChildren", true, fProvider.hasChildren(children[0]));
-
-        Object[] thirdLevelChildren= fProvider.getChildren(secondLevelChildren[0]);
-        helper.assertCalls(new IMember[] { helper.getMethod1(), helper.getMethod2()}, thirdLevelChildren);
-        assertCalleeMethodWrapperChildren(thirdLevelChildren);
-        assertEquals("third level hasChildren", true, fProvider.hasChildren(secondLevelChildren[0]));
-
-        MethodWrapper fourthLevelMethodWrapper= helper.findMethodWrapper(helper.getMethod1(), thirdLevelChildren);
-        assertNotNull("method1 not found", fourthLevelMethodWrapper);
-        assertEquals(
-            "Wrong number of fourth level children",
-            0,
-            fProvider.getChildren(fourthLevelMethodWrapper).length);
-        // hasChildren should be false since the maximum depth has been reached
-        assertEquals("fourth level hasChildren", false, fProvider.hasChildren(thirdLevelChildren[0]));
-    }
-
-    /**
-    * Tests getChildren and hasChildren on an callers tree with recursion.
-    * 
-    * @throws JavaModelException
-    * @throws CoreException
-    */
-    public void testGetChildrenOfCalleeRecursive() throws JavaModelException, CoreException {
-        helper.createSimpleClasses();
-
-        TreeRoot root= wrapCalleeRoot(helper.getRecursiveMethod1());
-        Object[] children= fProvider.getChildren(root);
-        helper.assertCalls(new IMember[] { helper.getRecursiveMethod1()}, children);
-        assertEquals("root's hasChildren", true, fProvider.hasChildren(root));
-
-        Object[] secondLevelChildren= fProvider.getChildren(children[0]);
-        helper.assertCalls(new IMember[] { helper.getRecursiveMethod2()}, secondLevelChildren);
-        assertCalleeMethodWrapperChildren(secondLevelChildren);
-        assertEquals("second level hasChildren", true, fProvider.hasChildren(children[0]));
-
-        MethodWrapper thirdLevelMethodWrapper= (MethodWrapper) secondLevelChildren[0];
-        Object[] thirdLevelChildren= fProvider.getChildren(thirdLevelMethodWrapper);
-        helper.assertCalls(new IMember[] { helper.getRecursiveMethod1()}, thirdLevelChildren);
-        assertCalleeMethodWrapperChildren(thirdLevelChildren);
-
-        // A recursion should have occurred, resulting in hasChildren = false 
-        assertEquals("third level hasChildren", false, fProvider.hasChildren(thirdLevelChildren[0]));
-    }
-
-    /**
-     * Tests getChildren and hasChildren on an callees tree with recursion.
-     * 
-     * @throws JavaModelException
-     * @throws CoreException
-     */
-    public void testGetChildrenOfCallerRecursive() throws JavaModelException, CoreException {
-        helper.createSimpleClasses();
-
-        TreeRoot root= wrapCallerRoot(helper.getRecursiveMethod1());
-        Object[] children= fProvider.getChildren(root);
-        helper.assertCalls(new IMember[] { helper.getRecursiveMethod1()}, children);
-        assertEquals("root's hasChildren", true, fProvider.hasChildren(root));
-
-        Object[] secondLevelChildren= fProvider.getChildren(children[0]);
-        helper.assertCalls(new IMember[] { helper.getRecursiveMethod2()}, secondLevelChildren);
-        assertCallerMethodWrapperChildren(secondLevelChildren);
-        assertEquals("second level hasChildren", true, fProvider.hasChildren(children[0]));
-
-        MethodWrapper thirdLevelMethodWrapper= (MethodWrapper) secondLevelChildren[0];
-        Object[] thirdLevelChildren= fProvider.getChildren(thirdLevelMethodWrapper);
-        helper.assertCalls(new IMember[] { helper.getRecursiveMethod1()}, thirdLevelChildren);
-        assertCallerMethodWrapperChildren(thirdLevelChildren);
-
-        // A recursion should have occurred, resulting in hasChildren = false 
-        assertEquals("third level hasChildren", false, fProvider.hasChildren(thirdLevelChildren[0]));
-    }
-
-    private void assertCalleeMethodWrapperChildren(Object[] children) {
-        for (int i= 0; i < children.length; i++) {
-            assertTrue("Wrong class returned", children[i].getClass().getName().endsWith(".CalleeMethodWrapper"));
-        }
-    }
-
-    private void assertCallerMethodWrapperChildren(Object[] children) {
-        for (int i= 0; i < children.length; i++) {
-            assertTrue("Wrong class returned", children[i].getClass().getName().endsWith(".CallerMethodWrapper"));
-        }
-    }
-
-    private TreeRoot wrapCalleeRoot(IMethod method) {
-        return new TreeRoot(CallHierarchy.getDefault().getCalleeRoot(method));
-    }
-
-    private TreeRoot wrapCallerRoot(IMethod method) {
-        return new TreeRoot(CallHierarchy.getDefault().getCallerRoot(method));
-    }
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/callhierarchy/CallHierarchyTestHelper.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/callhierarchy/CallHierarchyTestHelper.java
deleted file mode 100644
index 5e5b653..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/callhierarchy/CallHierarchyTestHelper.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddImportTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddImportTest.java
deleted file mode 100644
index bccac3e..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddImportTest.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.ui.tests.core;
-
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.internal.corext.codemanipulation.ImportsStructure;
-
-public class AddImportTest extends CoreTests {
-	
-	private static final Class THIS= AddImportTest.class;
-	
-	private IJavaProject fJProject1;
-
-	public AddImportTest(String name) {
-		super(name);
-	}
-	
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new AddImportTest("testAddImports_bug25113"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-
-	protected void setUp() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		JavaProjectHelper.addRequiredProject(fJProject1, ProjectTestSetup.getProject());
-		
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE, String.valueOf(99));
-		JavaCore.setOptions(options);
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.delete(fJProject1);
-	}
-	
-	public void testAddImports1() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("import pack.List2;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		String[] order= new String[] { "java", "com", "pack" };
-		
-		ImportsStructure imports= new ImportsStructure(cu, order, 2, true);
-		imports.addImport("java.net.Socket");
-		imports.addImport("p.A");
-		imports.addImport("com.something.Foo");
-		
-		imports.create(true, null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.net.Socket;\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("import com.something.Foo;\n");
-		buf.append("\n");
-		buf.append("import p.A;\n");
-		buf.append("\n");		
-		buf.append("import pack.List;\n");
-		buf.append("import pack.List2;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-
-	public void testAddImports2() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		String[] order= new String[] { "java", "java.util", "com", "pack" };
-
-		ImportsStructure imports= new ImportsStructure(cu, order, 2, true);
-		imports.addImport("java.x.Socket");
-
-		imports.create(true, null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.x.Socket;\n");
-		buf.append("\n");		
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testAddImports_bug23078() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import p.A.*;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		String[] order= new String[] { };
-
-		ImportsStructure imports= new ImportsStructure(cu, order, 2, true);
-		imports.addImport("p.Inner");
-
-		imports.create(true, null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import p.Inner;\n");
-		buf.append("import p.A.*;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testAddImports_bug25113() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.awt.Panel;\n");
-		buf.append("\n");
-		buf.append("import java.math.BigInteger;\n");
-		buf.append("\n");		
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		String[] order= new String[] { "java.awt", "java" };
-
-		ImportsStructure imports= new ImportsStructure(cu, order, 99, true);
-		imports.addImport("java.applet.Applet");
-
-		imports.create(true, null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.awt.Panel;\n");
-		buf.append("\n");
-		buf.append("import java.applet.Applet;\n");
-		buf.append("import java.math.BigInteger;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testAddImports_bug42637() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.lang.System;\n");
-		buf.append("\n");		
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		String[] order= new String[] { "java" };
-
-		ImportsStructure imports= new ImportsStructure(cu, order, 99, true);
-		imports.addImport("java.io.Exception");
-
-		imports.create(true, null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.io.Exception;\n");
-		buf.append("import java.lang.System;\n");
-		buf.append("\n");		
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}		
-
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddUnimplementedConstructorsTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddUnimplementedConstructorsTest.java
deleted file mode 100644
index cb98f3a..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddUnimplementedConstructorsTest.java
+++ /dev/null
@@ -1,1107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.io.IOException;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.dom.Modifier;
-
-import org.eclipse.jdt.internal.corext.codemanipulation.AddUnimplementedConstructorsOperation;
-import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings;
-import org.eclipse.jdt.internal.corext.codemanipulation.StubUtility;
-import org.eclipse.jdt.internal.corext.template.java.CodeTemplateContextType;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings;
-
-
-public class AddUnimplementedConstructorsTest extends CoreTests {
-
-	private static final Class THIS= AddUnimplementedConstructorsTest.class;
-	
-	private IJavaProject fJavaProject;
-	private IPackageFragment fPackage;
-	private IType fClassA, fClassB, fClassC;
-	private boolean fOldFormatter;
-
-	private CodeGenerationSettings fSettings;
-
-	public AddUnimplementedConstructorsTest(String name) {
-		super(name);
-		fOldFormatter= false;
-	}
-	
-	
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new AddUnimplementedConstructorsTest("testOneConstructorWithImportStatement"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-	/**
-	 * Creates a new test Java project.
-	 */	
-	protected void setUp() throws Exception {
-		initCodeTemplates();		
-	}	
-	
-	private void initCodeTemplates() {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(JavaCore.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(JavaCore.FORMATTER_TAB_SIZE, "4");
-		options.put(JavaCore.FORMATTER_LINE_SPLIT, "999");
-		JavaCore.setOptions(options);		
-
-		StringBuffer comment= new StringBuffer();
-		comment.append("/** Constructor Comment\n");
-		comment.append(" * ${tags}\n");
-		comment.append(" */");
-		
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.CONSTRUCTORCOMMENT).setPattern(comment.toString());
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.CONSTRUCTORSTUB).setPattern("${body_statement}\n// TODO");	
-		fSettings= JavaPreferencesSettings.getCodeGenerationSettings();
-		fSettings.createComments= true;
-	}
-
-	/**
-	 * Removes the test java project.
-	 */
-	protected void tearDown () throws Exception {
-		JavaProjectHelper.delete(fJavaProject);
-		fJavaProject= null;
-		fPackage= null;
-		fClassA= null;
-	}
-	
-	/*
-	 * basic test: test with one constructor
-	 */
-	public void testOneConstructorToOverride() throws Exception {
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= fPackage.createCompilationUnit("A.java", "package ibm.util;\n\n", true, null);
-		fClassA= cu.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java"); //$NON-NLS-1$
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null); //$NON-NLS-1$
-	
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] { "A" }, constructorMethods); //$NON-NLS-1$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(false);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] { "Test1" }, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		checkDefaultConstructorWithCommentWithSuper(createdMethods[0].getSource());
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * \n");
-		buf.append("     */\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        super();\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-		compareSource(buf.toString(), testClass.getSource());
-	}
-	
-	/*
-	 * basic test: test with 2 constructors to override
-	 */
-	public void testTwoConstructorsToOverride() throws Exception {
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= fPackage.getCompilationUnit("A.java");
-		fClassA= cu.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		fClassA.createMethod("public A(int a) {super();}\n", null, true, null);
-		
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-	
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] { "A", "A" }, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(false);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] { "Test1", "Test1" }, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		checkDefaultConstructorWithCommentWithSuper(createdMethods[0].getSource());
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * \n");
-		buf.append("     */\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        super();\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a) {\n");
-		buf.append("        super(a);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}
-	
-	/*
-	 * basic test: test with 3 constructors to override
-	 */
-	public void testThreeConstructorsToOverride() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= fPackage.getCompilationUnit("A.java");
-		fClassA= cu.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		fClassA.createMethod("public A(int a) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo) {super();}\n", null, true, null);
-		
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-	
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] { "A", "A", "A" }, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] { "Test1", "Test1", "Test1" }, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		checkDefaultConstructorWithCommentNoSuper(createdMethods[0].getSource());
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * \n");
-		buf.append("     */\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a) {\n");
-		buf.append("        super(a);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo) {\n");
-		buf.append("        super(a, boo);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}
-	
-	/*
-	 * basic test: test with default constructor only
-	 */
-	public void testDefaultConstructorToOverride() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= fPackage.getCompilationUnit("A.java");
-		fClassA= cu.createType("public class A {\n}\n", null, true, null);	
-		
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-	
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] { "Object" }, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-				
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(false);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] { "Test1" }, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		checkDefaultConstructorWithCommentWithSuper(createdMethods[0].getSource());
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * \n");
-		buf.append("     */\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        super();\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}	
-	
-	/*
-	 * basic test: test with nothing to override
-	 */
-	public void testNoConstructorsToOverrideAvailable() throws Exception {
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= fPackage.getCompilationUnit("A.java");
-		fClassA= cu.createType("public class A {\n}\n", null, true, null);		
-		
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-		testClass.createMethod("public Test1(){}\n", null, true, null);
-	
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] {}, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(false);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] existingMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1"}, existingMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("public Test1(){}\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}	
-	
-	/*
-	 * basic test: test an Interface to make sure no exception is thrown
-	 */
-	public void testNoConstructorsToOverrideWithInterface() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= fPackage.getCompilationUnit("A.java");
-		fClassA= cu.createType("public interface A {\n}\n", null, true, null);		
-		
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 implements A {\n}\n", null, true, null);
-		testClass.createMethod("public Test1(){}\n", null, true, null);
-		
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] {}, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(false);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] existingMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1"}, existingMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 implements A {\n");
-		buf.append("public Test1(){}\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}	
-	
-	/*
-	 * basic test: test with 8 constructors to override
-	 */
-	public void testEightConstructorsToOverride() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= fPackage.getCompilationUnit("A.java");
-		fClassA= cu.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		fClassA.createMethod("public A(int a) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf, char a) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf, char a, double c) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString) {super();}\n", null, true, null);
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-	
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] { "A", "A", "A", "A", "A", "A", "A", "A" }, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		fSettings.createComments= false;
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1", "Test1", "Test1", "Test1", "Test1", "Test1", "Test1", "Test1"}, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		checkDefaultConstructorNoCommentNoSuper(createdMethods[0].getSource());	
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    public Test1(int a) {\n");
-		buf.append("        super(a);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString) {\n");
-		buf.append("        super(a, boo, fooString);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf) {\n");
-		buf.append("        super(a, boo, fooString, buf);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a) {\n");
-		buf.append("        super(a, boo, fooString, buf, a);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c, d);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c, d, secondString);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}
-	
-	/*
-	 * basic test: test with 4 constructors to override. Class B extends Class A.
-	 */
-	public void testFourConstructorsToOverride() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cuA= fPackage.getCompilationUnit("A.java");
-		fClassA= cuA.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		fClassA.createMethod("public A(int a) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf) {super();}\n", null, true, null);
-
-		ICompilationUnit cuB= fPackage.getCompilationUnit("B.java");
-		fClassB= cuB.createType("public class B extends A{\n}\n", null, true, null);		
-		fClassB.createMethod("public B(int a, boolean boo, String fooString, StringBuffer buf, char a) {super();}\n", null, true, null);
-		fClassB.createMethod("public B(int a, boolean boo, String fooString, StringBuffer buf, char a, double c) {super();}\n", null, true, null);
-		fClassB.createMethod("public B(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d) {super();}\n", null, true, null);
-		fClassB.createMethod("public B(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString) {super();}\n", null, true, null);
-
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends B {\n}\n", null, true, null);
-	
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] { "B", "B", "B", "B" }, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1", "Test1", "Test1", "Test1" }, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends B {\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a) {\n");
-		buf.append("        super(a, boo, fooString, buf, a);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param c\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param c\n");
-		buf.append("     * @param d\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c, d);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param c\n");
-		buf.append("     * @param d\n");
-		buf.append("     * @param secondString\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c, d, secondString);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-		compareSource(buf.toString(), testClass.getSource());
-	}
-	
-	/*
-	 * basic test: test with 5 constructors to override. Class C extends B extends Class A.
-	 */
-	public void testFiveConstructorsToOverrideWithTwoLevelsOfInheritance() throws Exception {
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cuA= fPackage.getCompilationUnit("A.java");
-		fClassA= cuA.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		fClassA.createMethod("public A(int a) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf) {super();}\n", null, true, null);
-
-		ICompilationUnit cuB= fPackage.getCompilationUnit("B.java");
-		fClassB= cuB.createType("public class B extends A{\n}\n", null, true, null);		
-		fClassB.createMethod("public B(int a, boolean boo, String fooString, StringBuffer buf, char a) {super();}\n", null, true, null);
-		fClassB.createMethod("public B(int a, boolean boo, String fooString, StringBuffer buf, char a, double c) {super();}\n", null, true, null);
-		fClassB.createMethod("public B(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d) {super();}\n", null, true, null);
-		fClassB.createMethod("public B(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString) {super();}\n", null, true, null);
-
-		ICompilationUnit cuC= fPackage.getCompilationUnit("C.java");
-		fClassC= cuC.createType("public class C extends B{\n}\n", null, true, null);		
-		fClassC.createMethod("public C(int a, boolean boo, String fooString, StringBuffer buf, char a) {super();}\n", null, true, null);
-		fClassC.createMethod("public C(int a, boolean boo, String fooString, StringBuffer buf, char a, double c) {super();}\n", null, true, null);
-		fClassC.createMethod("public C(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d) {super();}\n", null, true, null);
-		fClassC.createMethod("public C(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString) {super();}\n", null, true, null);
-		fClassC.createMethod("public C(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString, int xxx) {super();}\n", null, true, null);
-		
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends C {\n}\n", null, true, null);
-	
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] { "C", "C", "C", "C", "C" }, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1", "Test1", "Test1", "Test1", "Test1" }, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends C {\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a) {\n");
-		buf.append("        super(a, boo, fooString, buf, a);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param c\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param c\n");
-		buf.append("     * @param d\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c, d);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param c\n");
-		buf.append("     * @param d\n");
-		buf.append("     * @param secondString\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c, d, secondString);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param c\n");
-		buf.append("     * @param d\n");
-		buf.append("     * @param secondString\n");
-		buf.append("     * @param xxx\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf, char a, double c, float d, String secondString, int xxx) {\n");
-		buf.append("        super(a, boo, fooString, buf, a, c, d, secondString, xxx);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}
-
-	/*
-	 * nothing found with default constructor
-	 */
-	public void testNoConstructorsToOverrideWithOneExistingConstructors() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cuA= fPackage.getCompilationUnit("A.java");
-		fClassA= cuA.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-	
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-		testClass.createMethod("public Test1() {\nsuper();}\n", null, true, null);
-
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] {}, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1"}, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("public Test1() {\n");
-		buf.append("super();}\n");
-		buf.append("}\n");
-
-		
-		compareSource(buf.toString(), testClass.getSource());
-	}
-
-
-	/*
-	 * nothing found with 3 constructors
-	 */
-	public void testNoConstructorsToOverrideWithThreeExistingConstructors() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cuA= fPackage.getCompilationUnit("A.java");
-		fClassA= cuA.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		fClassA.createMethod("public A(int a) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-		testClass.createMethod("public Test1() {\nsuper();}\n", null, true, null);
-		testClass.createMethod("public Test1(int a) {super();}\n", null, true, null);
-		testClass.createMethod("public Test1(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] {}, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] existingMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1", "Test1", "Test1"}, existingMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("public Test1() {\n");
-		buf.append("super();}\n");
-		buf.append("public Test1(int a) {super();}\n");
-		buf.append("public Test1(int a, boolean boo, String fooString) {super();}\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}
-
-	/*
-	 * found 2 with 5 constructors, 3 already overriden
-	 */
-	public void testTwoConstructorsToOverrideWithThreeExistingConstructors() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cuA= fPackage.getCompilationUnit("A.java");
-		fClassA= cuA.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		fClassA.createMethod("public A(int a) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, int bologna) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf) {super();}\n", null, true, null);
-
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-		testClass.createMethod("public Test1(int a, boolean boo, String fooString, StringBuffer buf) {\nsuper();}\n", null, true, null);
-		testClass.createMethod("public Test1(int a) {super();}\n", null, true, null);
-		testClass.createMethod("public Test1(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] {"A", "A"}, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		fSettings.createComments= false;
-		op.setOmitSuper(false);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1", "Test1", "Test1", "Test1", "Test1" }, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-
-		checkDefaultConstructorNoCommentWithSuper(createdMethods[3].getSource());
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("public Test1(int a, boolean boo, String fooString, StringBuffer buf) {\n");
-		buf.append("super();}\n");
-		buf.append("public Test1(int a) {super();}\n");
-		buf.append("public Test1(int a, boolean boo, String fooString) {super();}\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        super();\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, int bologna) {\n");
-		buf.append("        super(a, boo, fooString, bologna);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-
-
-
-		compareSource(buf.toString(), testClass.getSource());
-	}
-
-	/*
-	 * found 4 with 5 constructors, 1 already overriden
-	 */
-	public void testFourConstructorsToOverrideWithOneExistingConstructor() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cuA= fPackage.getCompilationUnit("A.java");
-		fClassA= cuA.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A() {\nsuper();}\n", null, true, null);
-		fClassA.createMethod("public A(int a) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, int bologna) {super();}\n", null, true, null);
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf) {super();}\n", null, true, null);
-
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-		testClass.createMethod("public Test1(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] {"A", "A", "A", "A"}, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		checkMethods(new String[] {"Test1", "Test1", "Test1", "Test1", "Test1" }, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("public Test1(int a, boolean boo, String fooString) {super();}\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * \n");
-		buf.append("     */\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a) {\n");
-		buf.append("        super(a);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param bologna\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, int bologna) {\n");
-		buf.append("        super(a, boo, fooString, bologna);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf) {\n");
-		buf.append("        super(a, boo, fooString, buf);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-
-		compareSource(buf.toString(), testClass.getSource());
-	}
-
-	/*
-	 * found one with constructor which isn't default or the same as existing
-	 */
-	public void testOneConstructorToOverrideNotDefault() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cuA= fPackage.getCompilationUnit("A.java");
-		fClassA= cuA.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A(int a, boolean boo, String fooString, StringBuffer buf) {super();}\n", null, true, null);
-
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-		testClass.createMethod("public Test1(int a, boolean boo, String fooString) {super();}\n", null, true, null);
-		
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] {"A"}, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		
-		checkMethods(new String[] {"Test1", "Test1"}, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class Test1 extends A {\n");
-		buf.append("public Test1(int a, boolean boo, String fooString) {super();}\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param boo\n");
-		buf.append("     * @param fooString\n");
-		buf.append("     * @param buf\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(int a, boolean boo, String fooString, StringBuffer buf) {\n");
-		buf.append("        super(a, boo, fooString, buf);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-
-
-		compareSource(buf.toString(), testClass.getSource());
-	}
-
-	/*
-	 * found one with constructor needs import statement
-	 */
-	public void testOneConstructorWithImportStatement() throws Exception {	
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util.bogus", true, null);
-		
-		ICompilationUnit cuA= fPackage.getCompilationUnit("A.java");
-		fClassA= cuA.createType("public class A {\n}\n", null, true, null);		
-		fClassA.createMethod("public A(java.util.Vector v, int a) {super();}\n", null, true, null);
-
-		ICompilationUnit cu2= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu2.createType("public class Test1 extends A {\n}\n", null, true, null);
-		
-		IMethod[] constructorMethods= StubUtility.getOverridableConstructors(testClass);
-		
-		checkMethods(new String[] {"A"}, constructorMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-		
-		AddUnimplementedConstructorsOperation op= new AddUnimplementedConstructorsOperation(testClass, fSettings, constructorMethods, true, null);
-		
-		op.setOmitSuper(true);
-		op.setVisbility(Modifier.PUBLIC);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] createdMethods= testClass.getMethods();
-		String fullSource= testClass.getCompilationUnit().getSource();
-		
-		checkMethods(new String[] {"Test1"}, createdMethods);	 //$NON-NLS-1$ //$NON-NLS-2$
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("package ibm.util.bogus;\n");
-		buf.append("\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class Test1 extends A {\n");
-		buf.append("    /** Constructor Comment\n");
-		buf.append("     * @param v\n");
-		buf.append("     * @param a\n");
-		buf.append("     */\n");
-		buf.append("    public Test1(Vector v, int a) {\n");
-		buf.append("        super(v, a);\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		if (fOldFormatter) buf.append("\n");
-		buf.append("}\n");
-
-
-		compareSource(buf.toString(), fullSource);
-	}
-	
-	private void checkMethods(String[] expected, IMethod[] methods) {
-		int nMethods= methods.length;
-		int nExpected= expected.length;
-		assertTrue("" + nExpected + " methods expected, is " + nMethods, nMethods == nExpected);
-		for (int i= 0; i < nExpected; i++) {
-			String methName= expected[i];
-			assertTrue("method " + methName + " expected", nameContained(methName, methods));
-		}
-	}			
-		
-	private boolean nameContained(String methName, IJavaElement[] methods) {
-		for (int i= 0; i < methods.length; i++) {
-			if (methods[i].getElementName().equals(methName)) {
-				return true;
-			}
-		}
-		return false;
-	}			
-	
-	private void checkDefaultConstructorNoCommentNoSuper(String con) throws IOException {
-		StringBuffer buf= new StringBuffer();
-		buf.append("public Test1() {\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		compareSource(buf.toString(), con);
-	}
-	
-	private void checkDefaultConstructorWithCommentNoSuper(String con) throws IOException {
-		StringBuffer buf= new StringBuffer();
-		buf.append("/** Constructor Comment\n");
-		buf.append("     * \n");
-		buf.append("     */\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		compareSource(buf.toString(), con);
-	}
-	
-	private void checkDefaultConstructorNoCommentWithSuper(String con) throws IOException {
-		StringBuffer buf= new StringBuffer();
-		buf.append("public Test1() {\n");
-		buf.append("        super();\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		String constructor= buf.toString();
-		compareSource(constructor, con);
-	}
-	
-	private void checkDefaultConstructorWithCommentWithSuper(String con) throws IOException {
-		StringBuffer buf= new StringBuffer();
-		buf.append("/** Constructor Comment\n");
-		buf.append("     * \n");
-		buf.append("     */\n");
-		buf.append("    public Test1() {\n");
-		buf.append("        super();\n");
-		buf.append("        // TODO\n");
-		buf.append("    }\n");
-		String constructor= buf.toString();
-		compareSource(constructor, con);
-	}
-
-	private void compareSource(String expected, String actual) throws IOException {
-		assertEqualStringIgnoreDelim(actual, expected);
-	}
-	/*
-	private String writeSource(String str) {
-		StringBuffer buf= new StringBuffer();
-		buf.append("\t\tStringBuffer buf= new StringBuffer();\n");
-		
-		String[] lines= Strings.convertIntoLines(str);
-		for (int i= 0; i < lines.length; i++) {
-			buf.append("\t\tbuf.append(\"").append(lines[i]).append("\\n\");\n");
-		}
-		return buf.toString();
-	}*/
-	
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddUnimplementedMethodsTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddUnimplementedMethodsTest.java
deleted file mode 100644
index 6ada7db..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AddUnimplementedMethodsTest.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IImportDeclaration;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.internal.corext.codemanipulation.AddUnimplementedMethodsOperation;
-import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings;
-import org.eclipse.jdt.internal.corext.codemanipulation.StubUtility;
-import org.eclipse.jdt.internal.corext.util.JdtFlags;
-
-public class AddUnimplementedMethodsTest extends TestCase {
-	
-	private static final Class THIS= AddUnimplementedMethodsTest.class;
-	
-	private IJavaProject fJavaProject;
-	private IPackageFragment fPackage;
-	private IType fClassA, fInterfaceB, fClassC, fClassD, fInterfaceE;
-
-
-	public AddUnimplementedMethodsTest(String name) {
-		super(name);
-	}
-		
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new AddUnimplementedMethodsTest("test1"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-	
-	/**
-	 * Creates a new test Java project.
-	 */	
-	protected void setUp() throws Exception {
-		fJavaProject= JavaProjectHelper.createJavaProject("DummyProject", "bin");
-		assertNotNull(JavaProjectHelper.addRTJar(fJavaProject));
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJavaProject, "src");
-		fPackage= root.createPackageFragment("ibm.util", true, null);
-		
-		ICompilationUnit cu= fPackage.getCompilationUnit("A.java");
-		fClassA= cu.createType("public abstract class A {\n}\n", null, true, null);
-		fClassA.createMethod("public abstract void a();\n", null, true, null);
-		fClassA.createMethod("public abstract void b(java.util.Vector v);\n", null, true, null);
-		
-		cu= fPackage.getCompilationUnit("B.java");
-		fInterfaceB= cu.createType("public interface B {\n}\n", null, true, null);
-		fInterfaceB.createMethod("void c(java.util.Hashtable h);\n", null, true, null);
-		
-		cu= fPackage.getCompilationUnit("C.java");
-		fClassC= cu.createType("public abstract class C {\n}\n", null, true, null);
-		fClassC.createMethod("public void c(java.util.Hashtable h) {\n}\n", null, true, null);
-		fClassC.createMethod("public abstract java.util.Enumeration d(java.util.Hashtable h) {\n}\n", null, true, null);
-
-
-		cu= fPackage.getCompilationUnit("D.java");
-		fClassD= cu.createType("public abstract class D extends C {\n}\n", null, true, null);
-		fClassD.createMethod("public abstract void c(java.util.Hashtable h);\n", null, true, null);
-		
-		cu= fPackage.getCompilationUnit("E.java");
-		fInterfaceE= cu.createType("public interface E {\n}\n", null, true, null);
-		fInterfaceE.createMethod("void c(java.util.Hashtable h);\n", null, true, null);
-		fInterfaceE.createMethod("void e() throws java.util.NoSuchElementException;\n", null, true, null);	
-	}
-
-
-	/**
-	 * Removes the test java project.
-	 */
-	protected void tearDown () throws Exception {
-		JavaProjectHelper.delete(fJavaProject);
-		fJavaProject= null;
-		fPackage= null;
-		fClassA= null;
-		fInterfaceB= null;
-		fClassC= null;
-		fClassD= null;
-		fInterfaceE= null;
-	}
-	
-	private IMethod[] getSelected(IType type) throws JavaModelException {
-		IMethod[] inheritedMethods= StubUtility.getOverridableMethods(type, type.newSupertypeHierarchy(null), false);
-		
-		ArrayList toImplement= new ArrayList();
-		for (int i= 0; i < inheritedMethods.length; i++) {
-			IMethod curr= inheritedMethods[i];
-			if (JdtFlags.isAbstract(curr)) {
-				toImplement.add(curr);
-			}
-		}
-		return (IMethod[]) toImplement.toArray(new IMethod[toImplement.size()]);
-	}
-	
-				
-	/*
-	 * basic test: extend an abstract class and an interface
-	 */
-	public void test1() throws Exception {	
-		ICompilationUnit cu= fPackage.getCompilationUnit("Test1.java");
-		IType testClass= cu.createType("public class Test1 extends A implements B {\n}\n", null, true, null);
-	
-		AddUnimplementedMethodsOperation op= new AddUnimplementedMethodsOperation(testClass, new CodeGenerationSettings(), getSelected(testClass), true, null);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] methods= testClass.getMethods();
-		checkMethods(new String[] { "a", "b", "c" }, methods);
-		
-		IImportDeclaration[] imports= cu.getImports();
-		checkImports(new String[] { "java.util.Hashtable", "java.util.Vector" }, imports);	
-	}	
-	
-	/*
-	 * method c() of interface B is already implemented by class C
-	 */
-	public void test2() throws Exception {
-			
-		ICompilationUnit cu= fPackage.getCompilationUnit("Test2.java");
-		IType testClass= cu.createType("public class Test2 extends C implements B {\n}\n", null, true, null);
-		
-		AddUnimplementedMethodsOperation op= new AddUnimplementedMethodsOperation(testClass, new CodeGenerationSettings(), getSelected(testClass), true, null);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] methods= testClass.getMethods();
-		checkMethods(new String[] { "d" }, methods);
-		
-		IImportDeclaration[] imports= cu.getImports();
-		checkImports(new String[] { "java.util.Enumeration", "java.util.Hashtable" }, imports);
-	}	
-
-
-	/*
-	 * method c() is implemented in C but made abstract again in class D
-	 */
-	public void test3() throws Exception {
-		ICompilationUnit cu= fPackage.getCompilationUnit("Test3.java");
-		IType testClass= cu.createType("public class Test3 extends D {\n}\n", null, true, null);
-		
-		AddUnimplementedMethodsOperation op= new AddUnimplementedMethodsOperation(testClass, new CodeGenerationSettings(), getSelected(testClass), true, null);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] methods= testClass.getMethods();
-		checkMethods(new String[] { "c", "d" }, methods);
-		
-		IImportDeclaration[] imports= cu.getImports();
-		checkImports(new String[] { "java.util.Hashtable", "java.util.Enumeration" }, imports);
-		
-	}
-	
-	/*
-	 * method c() defined in both interfaces B and E
-	 */
-	public void test4() throws Exception {
-		ICompilationUnit cu= fPackage.getCompilationUnit("Test4.java");
-		IType testClass= cu.createType("public class Test4 implements B, E {\n}\n", null, true, null);
-		
-		AddUnimplementedMethodsOperation op= new AddUnimplementedMethodsOperation(testClass, new CodeGenerationSettings(), getSelected(testClass), true, null);
-		op.run(new NullProgressMonitor());
-		
-		IMethod[] methods= testClass.getMethods();
-		checkMethods(new String[] { "c", "e" }, methods);
-		
-		IImportDeclaration[] imports= cu.getImports();
-		checkImports(new String[] { "java.util.Hashtable", "java.util.NoSuchElementException" }, imports);
-	}
-	
-	private void checkMethods(String[] expected, IMethod[] methods) {
-		int nMethods= methods.length;
-		int nExpected= expected.length;
-		assertTrue("" + nExpected + " methods expected, is " + nMethods, nMethods == nExpected);
-		for (int i= 0; i < nExpected; i++) {
-			String methName= expected[i];
-			assertTrue("method " + methName + " expected", nameContained(methName, methods));
-		}
-	}			
-	
-	private void checkImports(String[] expected, IImportDeclaration[] imports) {
-		int nImports= imports.length;
-		int nExpected= expected.length;
-		assertTrue("" + nExpected + " imports expected, is " + nImports, nImports == nExpected);
-		for (int i= 0; i < nExpected; i++) {
-			String impName= expected[i];
-			assertTrue("import " + impName + " expected", nameContained(impName, imports));
-		}
-	}
-
-
-	private boolean nameContained(String methName, IJavaElement[] methods) {
-		for (int i= 0; i < methods.length; i++) {
-			if (methods[i].getElementName().equals(methName)) {
-				return true;
-			}
-		}
-		return false;
-	}	
-
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AllTypesCacheTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AllTypesCacheTest.java
deleted file mode 100644
index 35e6336..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/AllTypesCacheTest.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.ui.tests.core;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-
-import org.eclipse.jdt.ui.JavaUI;
-
-import org.eclipse.jdt.internal.corext.util.AllTypesCache;
-import org.eclipse.jdt.internal.corext.util.TypeInfo;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-
-
-public class AllTypesCacheTest extends TestCase {
-	
-	private static final Class THIS= AllTypesCacheTest.class;
-	
-	private IJavaProject fJProject1;
-	private IJavaProject fJProject2;
-	
-	private IPackageFragmentRoot fLibrary;
-	private IPackageFragmentRoot fSourceFolder;
-
-	private boolean fWasAutobuild;
-	
-	public AllTypesCacheTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (false) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new AllTypesCacheTest("testClasspathChange"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-
-	protected void setUp() throws Exception {
-		fWasAutobuild= JavaProjectHelper.setAutoBuilding(false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-		assertTrue("lib does not exist",  lib != null && lib.exists());
-		fLibrary= JavaProjectHelper.addLibrary(fJProject1, new Path(lib.getPath())); // add library to proj1
-		
-		
-		fJProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");
-		assertNotNull("jre is null", JavaProjectHelper.addRTJar(fJProject2));
-		
-		// add Junit source to project 2
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("Junit source", junitSrcArchive != null && junitSrcArchive.exists());
-
-		fSourceFolder= JavaProjectHelper.addSourceContainerWithImport(fJProject2, "src", junitSrcArchive);
-		
-	}
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-		JavaProjectHelper.delete(fJProject2);		
-		JavaProjectHelper.setAutoBuilding(fWasAutobuild);
-	}
-
-	public void testDifferentScopes() throws Exception {
-		IJavaSearchScope workspaceScope= SearchEngine.createWorkspaceScope();
-		IJavaSearchScope proj1Scope= SearchEngine.createJavaSearchScope(new IJavaElement[] { fJProject1 });
-		IJavaSearchScope proj2Scope= SearchEngine.createJavaSearchScope(new IJavaElement[] { fJProject2 });
-		
-		ArrayList res1= new ArrayList();
-		
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-		assertTrue("542 types in workspace expected, is " + res1.size(), res1.size() == 542);
-		
-		int nFlushes= AllTypesCache.getNumberOfCacheFlushes();
-		
-		res1.clear();		
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.INTERFACE, null, res1);
-		assertTrue("73 interfaces in workspace expected, is " + res1.size(), res1.size() == 73);
-		
-		assertTrue("unnecessary flush of cache", AllTypesCache.getNumberOfCacheFlushes() == nFlushes);	
-		
-		res1.clear();
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.CLASS, null, res1);
-		assertTrue("469 classes in workspace expected, is " + res1.size(), res1.size() == 469);
-		
-		assertTrue("unnecessary flush of cache", AllTypesCache.getNumberOfCacheFlushes() == nFlushes);
-		
-		res1.clear();
-		AllTypesCache.getTypes(proj1Scope, IJavaSearchConstants.TYPE, null, res1);
-		assertTrue("471 types in proj1 expected, is " + res1.size(), res1.size() == 471);
-		
-		assertTrue("unnecessary flush of cache", AllTypesCache.getNumberOfCacheFlushes() == nFlushes);
-		
-		res1.clear();		
-		AllTypesCache.getTypes(proj1Scope, IJavaSearchConstants.INTERFACE, null, res1);
-		assertTrue("65 interfaces in proj1 expected, is " + res1.size(), res1.size() == 65);
-		
-		assertTrue("unnecessary flush of cache", AllTypesCache.getNumberOfCacheFlushes() == nFlushes);
-		
-		res1.clear();
-		AllTypesCache.getTypes(proj1Scope, IJavaSearchConstants.CLASS, null, res1);
-		assertTrue("406 classes in proj1 expected, is " + res1.size(), res1.size() == 406);
-		
-		assertTrue("unnecessary flush of cache", AllTypesCache.getNumberOfCacheFlushes() == nFlushes);
-		
-		res1.clear();
-		AllTypesCache.getTypes(proj2Scope, IJavaSearchConstants.TYPE, null, res1);
-		assertTrue("539 types in proj2 expected, is " + res1.size(), res1.size() == 539);
-		
-		assertTrue("unnecessary flush of cache", AllTypesCache.getNumberOfCacheFlushes() == nFlushes);
-		
-		res1.clear();		
-		AllTypesCache.getTypes(proj2Scope, IJavaSearchConstants.INTERFACE, null, res1);
-		assertTrue("73 interfaces in proj2 expected, is " + res1.size(), res1.size() == 73);
-		
-		assertTrue("unnecessary flush of cache", AllTypesCache.getNumberOfCacheFlushes() == nFlushes);
-		
-		res1.clear();
-		AllTypesCache.getTypes(proj2Scope, IJavaSearchConstants.CLASS, null, res1);
-		assertTrue("466 classes in proj2 expected, is " + res1.size(), res1.size() == 466);
-		
-		assertTrue("unnecessary flush of cache", AllTypesCache.getNumberOfCacheFlushes() == nFlushes);
-	}
-	
-	public void testClasspathChange() throws Exception {	
-		IJavaSearchScope workspaceScope= SearchEngine.createWorkspaceScope();
-		
-		ArrayList res1= new ArrayList();
-		
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-		assertNotNull("mylib.Foo not found", findTypeRef(res1, "mylib.Foo"));
-		assertTrue("542 types expected, is " + res1.size(), res1.size() == 542);
-		
-		int nFlushes= AllTypesCache.getNumberOfCacheFlushes();
-		
-		JavaProjectHelper.removeFromClasspath(fJProject1, fLibrary.getPath());	
-		assertTrue("cache not flushed", nFlushes != AllTypesCache.getNumberOfCacheFlushes());
-		
-		res1.clear();
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-		assertNull("mylib.Foo still found", findTypeRef(res1, "mylib.Foo"));
-		assertTrue("539 types in workspace expected, is " + res1.size(), res1.size() == 539);
-	}
-	
-	public void testNewElementCreation() throws Exception {
-		IJavaSearchScope workspaceScope= SearchEngine.createWorkspaceScope();
-	
-		ArrayList res1= new ArrayList();
-		
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-		assertTrue("542 types expected, is " + res1.size(), res1.size() == 542);
-		
-		// add type
-		int nFlushes= AllTypesCache.getNumberOfCacheFlushes();
-		IPackageFragment pack= fSourceFolder.getPackageFragment("");
-		ICompilationUnit newCU= pack.getCompilationUnit("A.java");
-		IType type= newCU.createType("public class A {\n}\n", null, true, null);
-		assertTrue("cache not flushed after adding type", nFlushes != AllTypesCache.getNumberOfCacheFlushes());		
-		res1.clear();
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-		assertNotNull("A not found", findTypeRef(res1, "A"));
-		assertTrue("543 types in workspace expected, is " + res1.size(), res1.size() == 543);
-		
-		
-		// create a field: should not flush cache
-		nFlushes= AllTypesCache.getNumberOfCacheFlushes();
-		type.createField("public int fCount;", null, true, null);
-		assertTrue("cache was flushed", nFlushes == AllTypesCache.getNumberOfCacheFlushes());
-		res1.clear();
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);		
-		assertTrue("still 543 types in workspace expected, is " + res1.size(), res1.size() == 543);
-		
-
-		// create an inner type: should flush cache
-		nFlushes= AllTypesCache.getNumberOfCacheFlushes();
-		type.createType("public class AInner {}", null, true, null);
-		res1.clear();
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);		
-		assertTrue("cache not flushed after inner type creation", nFlushes != AllTypesCache.getNumberOfCacheFlushes());
-		assertNotNull("AInner not found", findTypeRef(res1, "A.AInner"));
-		assertTrue("still 544 types in workspace expected, is " + res1.size(), res1.size() == 544);
-	}
-	
-	public void testWorkingCopies() throws Exception {
-		if (!JavaPlugin.USE_WORKING_COPY_OWNERS) {
-			return;
-		}
-		// change a type in the editor and save
-		
-		IJavaSearchScope workspaceScope= SearchEngine.createWorkspaceScope();
-		
-		ArrayList res1= new ArrayList();
-		
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-		TypeInfo ref= findTypeRef(res1, "junit.framework.TestCase");
-		assertNotNull("TestCase not found", ref);
-		assertTrue("542 types expected, is " + res1.size(), res1.size() == 542);
-		
-		int nFlushes= AllTypesCache.getNumberOfCacheFlushes();
-		
-		IType type= fJProject2.findType("junit.framework.TestCase");
-		assertNotNull("TestCase not found", type);
-		
-		IEditorPart part= EditorUtility.openInEditor(type);
-		try {
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			ISourceRange range= type.getNameRange();
-			document.replace(range.getOffset(), range.getLength(), "A");
-			
-			part.doSave(null);
-			
-			res1.clear();
-			AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-			assertNotNull("A not found", findTypeRef(res1, "junit.framework.A"));
-			TypeInfo ref2= findTypeRef(res1, "junit.framework.TestCase");
-			assertNull("TestCase still found", ref2);
-			
-			assertTrue("542 types in workspace expected, is " + res1.size(), res1.size() == 542);
-			
-			assertTrue("cache not flushed", nFlushes != AllTypesCache.getNumberOfCacheFlushes());
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-	
-	}
-	
-	public void testWorkingCopies2() throws Exception {
-		if (!JavaPlugin.USE_WORKING_COPY_OWNERS) {
-			return;
-		}
-		
-		// change a type in the editor and do not save
-		
-		IJavaSearchScope workspaceScope= SearchEngine.createWorkspaceScope();
-		
-		ArrayList res1= new ArrayList();
-		
-		AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-		assertNotNull("TestCase not found", findTypeRef(res1, "junit.framework.TestCase"));
-		assertTrue("542 types expected, is " + res1.size(), res1.size() == 542);
-		
-		int nFlushes= AllTypesCache.getNumberOfCacheFlushes();
-		
-		IType type= fJProject2.findType("junit.framework.TestCase");
-		assertNotNull("TestCase not found", type);
-		
-		IEditorPart part= EditorUtility.openInEditor(type);
-		try {
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			ISourceRange range= type.getNameRange();
-			document.replace(range.getOffset(), range.getLength(), "A");
-			
-			res1.clear();
-			AllTypesCache.getTypes(workspaceScope, IJavaSearchConstants.TYPE, null, res1);
-			assertNotNull("A not found", findTypeRef(res1, "junit.framework.A"));
-			assertNull("TestCase still found", findTypeRef(res1, "junit.framework.TestCase"));
-			
-			assertTrue("542 types in workspace expected, is " + res1.size(), res1.size() == 542);
-			
-			assertTrue("cache not flushed", nFlushes != AllTypesCache.getNumberOfCacheFlushes());
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-	
-	}
-	
-	private TypeInfo findTypeRef(List refs, String fullname) {
-		for (int i= 0; i <refs.size(); i++) {
-			TypeInfo curr= (TypeInfo) refs.get(i);
-			if (fullname.equals(curr.getFullyQualifiedName())) {
-				return curr;
-			}
-		}
-		return null;
-	}
-		
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/BindingsNameTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/BindingsNameTest.java
deleted file mode 100644
index e0e2926..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/BindingsNameTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.compiler.IProblem;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IVariableBinding;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-
-import org.eclipse.jdt.internal.corext.dom.Bindings;
-
-/**
-  */
-public class BindingsNameTest extends TestCase {
-
-	private static final Class THIS= BindingsNameTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-	private ICompilationUnit fCompilationUnit;
-	
-	private String fComplianceLevel;
-
-	public BindingsNameTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new BindingsNameTest("testFullyQualifiedNames"));
-			return suite;
-		}
-	}
-	protected void setUp() throws Exception {
-		Hashtable  options= JavaCore.getOptions();
-		fComplianceLevel= (String)options.get(JavaCore.COMPILER_COMPLIANCE);
-		options.put(JavaCore.COMPILER_COMPLIANCE, "1.3");
-		JavaCore.setOptions(options);
-		
-		
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		assertTrue("rt not found", JavaProjectHelper.addRTJar(fJProject1) != null);
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack0= fSourceFolder.createPackageFragment("", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class X {\n");
-		buf.append("}\n");
-		pack0.createCompilationUnit("X.java", buf.toString(), false, null);		
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("import X;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public class Inner {\n");
-		buf.append("        public class InnerInner {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("    public void goo(int i, int[] j, Object o, Object[] p, Inner.InnerInner x, Inner.InnerInner[][] y, X a, X[][][] b) {\n");
-		buf.append("    }\n");			
-		buf.append("}\n");
-		fCompilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-	}
-
-
-	protected void tearDown() throws Exception {
-		Hashtable  options= JavaCore.getOptions();
-		options.put(JavaCore.COMPILER_COMPLIANCE, fComplianceLevel);
-		JavaCore.setOptions(options);
-		
-		JavaProjectHelper.delete(fJProject1);
-	}
-	
-	public void testGetFullyQualifiedName() throws Exception {
-		CompilationUnit astRoot= createAST(fCompilationUnit);
-		IProblem[] problems= astRoot.getProblems();
-		assertTrue(problems.length == 0);
-		
-		TypeDeclaration typeDeclaration= (TypeDeclaration) astRoot.types().get(0);
-		MethodDeclaration methodDeclaration= typeDeclaration.getMethods()[0];
-		
-		List params= methodDeclaration.parameters();
-		String[] fullNames= new String[params.size()];
-		
-		for (int i= 0; i < params.size(); i++) {
-			SingleVariableDeclaration elem= (SingleVariableDeclaration) params.get(i);
-			IVariableBinding varBinding= elem.resolveBinding();
-			fullNames[i]= Bindings.getFullyQualifiedName(varBinding.getType());
-		}
-		
-		assertEquals("int", fullNames[0]);
-		assertEquals("int[]", fullNames[1]);
-		assertEquals("java.lang.Object", fullNames[2]);
-		assertEquals("java.lang.Object[]", fullNames[3]);
-		assertEquals("test1.ae.E.Inner.InnerInner", fullNames[4]);
-		assertEquals("test1.ae.E.Inner.InnerInner[][]", fullNames[5]);
-		assertEquals("X", fullNames[6]);
-		assertEquals("X[][][]", fullNames[7]);		
-	}
-	
-	public void testGetTypeQualifiedName() throws Exception {
-		CompilationUnit astRoot= createAST(fCompilationUnit);
-		IProblem[] problems= astRoot.getProblems();
-		assertTrue(problems.length == 0);
-		
-		TypeDeclaration typeDeclaration= (TypeDeclaration) astRoot.types().get(0);
-		MethodDeclaration methodDeclaration= typeDeclaration.getMethods()[0];
-		
-		List params= methodDeclaration.parameters();
-		String[] fullNames= new String[params.size()];
-		
-		for (int i= 0; i < params.size(); i++) {
-			SingleVariableDeclaration elem= (SingleVariableDeclaration) params.get(i);
-			IVariableBinding varBinding= elem.resolveBinding();
-			fullNames[i]= Bindings.getTypeQualifiedName(varBinding.getType());
-		}
-		
-		assertEquals("int", fullNames[0]);
-		assertEquals("int[]", fullNames[1]);
-		assertEquals("Object", fullNames[2]);
-		assertEquals("Object[]", fullNames[3]);
-		assertEquals("E.Inner.InnerInner", fullNames[4]);
-		assertEquals("E.Inner.InnerInner[][]", fullNames[5]);
-		assertEquals("X", fullNames[6]);
-		assertEquals("X[][][]", fullNames[7]);
-	}
-	
-	public void testGetAllNameComponents() throws Exception {
-		CompilationUnit astRoot= createAST(fCompilationUnit);
-		IProblem[] problems= astRoot.getProblems();
-		assertTrue(problems.length == 0);
-		
-		TypeDeclaration typeDeclaration= (TypeDeclaration) astRoot.types().get(0);
-		MethodDeclaration methodDeclaration= typeDeclaration.getMethods()[0];
-		
-		List params= methodDeclaration.parameters();
-		String[][] fullNames= new String[params.size()][];
-		
-		for (int i= 0; i < params.size(); i++) {
-			SingleVariableDeclaration elem= (SingleVariableDeclaration) params.get(i);
-			IVariableBinding varBinding= elem.resolveBinding();
-			fullNames[i]= Bindings.getAllNameComponents(varBinding.getType());
-		}
-		
-		assertEqualArray(new String[] { "int" }, fullNames[0]);
-		assertEqualArray(new String[] { "int[]" }, fullNames[1]);
-		assertEqualArray(new String[] { "java", "lang", "Object" }, fullNames[2]);
-		assertEqualArray(new String[] { "java", "lang", "Object[]" }, fullNames[3]);
-		assertEqualArray(new String[] { "test1", "ae", "E", "Inner", "InnerInner" }, fullNames[4]);
-		assertEqualArray(new String[] { "test1", "ae", "E", "Inner", "InnerInner[][]" }, fullNames[5]);
-		assertEqualArray(new String[] { "X" }, fullNames[6]);
-		assertEqualArray(new String[] { "X[][][]" }, fullNames[7]);		
-	}
-	
-	public void testGetNameComponents() throws Exception {
-		CompilationUnit astRoot= createAST(fCompilationUnit);
-		IProblem[] problems= astRoot.getProblems();
-		assertTrue(problems.length == 0);
-		
-		TypeDeclaration typeDeclaration= (TypeDeclaration) astRoot.types().get(0);
-		MethodDeclaration methodDeclaration= typeDeclaration.getMethods()[0];
-		
-		List params= methodDeclaration.parameters();
-		String[][] fullNames= new String[params.size()][];
-		
-		for (int i= 0; i < params.size(); i++) {
-			SingleVariableDeclaration elem= (SingleVariableDeclaration) params.get(i);
-			IVariableBinding varBinding= elem.resolveBinding();
-			fullNames[i]= Bindings.getNameComponents(varBinding.getType());
-		}
-		
-		assertEqualArray(new String[] { "int" }, fullNames[0]);
-		assertEqualArray(new String[] { "int[]" }, fullNames[1]);
-		assertEqualArray(new String[] { "Object" }, fullNames[2]);
-		assertEqualArray(new String[] { "Object[]" }, fullNames[3]);
-		assertEqualArray(new String[] { "E", "Inner", "InnerInner" }, fullNames[4]);
-		assertEqualArray(new String[] { "E", "Inner", "InnerInner[][]" }, fullNames[5]);
-		assertEqualArray(new String[] { "X" }, fullNames[6]);
-		assertEqualArray(new String[] { "X[][][]" }, fullNames[7]);	
-	}
-	
-	private void assertEqualArray(Object[] elements, Object[] list) {
-		assertEquals("different length", list.length, elements.length);
-		for (int i= 0; i < list.length; i++) {
-			assertEquals(elements[i], list[i]);
-		}
-	}
-	
-	private CompilationUnit createAST(ICompilationUnit compilationUnit) {
-		ASTParser parser= ASTParser.newParser(AST.LEVEL_2_0);
-		parser.setSource(compilationUnit);
-		parser.setResolveBindings(true);
-		return (CompilationUnit) parser.createAST(null);
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CallHierarchyTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CallHierarchyTest.java
deleted file mode 100644
index 91a6ace..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CallHierarchyTest.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:
- *   Jesper Kamstrup Linnet (eclipse@kamstrup-linnet.dk) - initial API and implementation
- *             (report 36180: Callers/Callees view)
- ******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-import org.eclipse.jdt.core.IInitializer;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-
-import org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchy;
-import org.eclipse.jdt.internal.corext.callhierarchy.MethodWrapper;
-
-import org.eclipse.jdt.ui.tests.callhierarchy.CallHierarchyTestHelper;
-
-public class CallHierarchyTest extends TestCase {
-    private static final String[] EMPTY= new String[0];
-    private static final Class THIS= CallHierarchyTest.class;
-
-    private CallHierarchyTestHelper helper;
-    
-    public CallHierarchyTest(String name) {
-        super(name);
-    }
-    
-	public static Test allTests() {
-		return new TestSuite(THIS);
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests(); 
-        } else {
-            TestSuite suite= new TestSuite();
-            suite.addTest(new CallHierarchyTest("test1"));
-
-            return suite;
-        }
-    }
-
-    protected void setUp() throws Exception {
-        helper= new CallHierarchyTestHelper();
-        helper.setUp();
-    }
-
-    protected void tearDown() throws Exception {
-        helper.tearDown();
-        helper= null;
-    }
-
-    public void testCallers() throws Exception {
-        helper.createSimpleClasses();
-
-        IMethod method= helper.getMethod1();
-        IMethod secondLevelMethod= helper.getMethod3();
-
-        Collection expectedMethods= new ArrayList();
-        expectedMethods.add(helper.getMethod2());
-        expectedMethods.add(secondLevelMethod);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCallerRoot(method);
-
-        MethodWrapper[] uncachedCalls= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethods, uncachedCalls);
-
-        MethodWrapper[] cachedCalls= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethods, cachedCalls);
-
-        MethodWrapper wrapper2= helper.findMethodWrapper(secondLevelMethod, cachedCalls);
-
-        Collection expectedSecondLevelMethods= new ArrayList();
-        expectedSecondLevelMethods.add(helper.getMethod4());
-        helper.assertCalls(expectedSecondLevelMethods, wrapper2.getCalls(new NullProgressMonitor()));
-    }
-
-    public void testCallersNoResults() throws Exception {
-        helper.createSimpleClasses();
-
-        IMethod method= helper.getMethod4();
-
-        Collection expectedMethods= new ArrayList();
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCallerRoot(method);
-
-        MethodWrapper[] uncachedCalls= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethods, uncachedCalls);
-
-        MethodWrapper[] cachedCalls= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethods, cachedCalls);
-    }
-
-    public void testCallees() throws Exception {
-        helper.createSimpleClasses();
-
-        IMethod method= helper.getMethod4();
-        IMethod secondLevelMethod= helper.getMethod3();
-
-        Collection expectedMethods= new ArrayList();
-        expectedMethods.add(secondLevelMethod);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(method);
-
-        MethodWrapper[] uncachedCalls= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethods, uncachedCalls);
-
-        MethodWrapper[] cachedCalls= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethods, cachedCalls);
-
-        MethodWrapper wrapper2= helper.findMethodWrapper(secondLevelMethod, cachedCalls);
-
-        Collection expectedMethodsTo3= new ArrayList();
-        expectedMethodsTo3.add(helper.getMethod1());
-        expectedMethodsTo3.add(helper.getMethod2());
-
-        helper.assertCalls(expectedMethodsTo3, wrapper2.getCalls(new NullProgressMonitor()));
-    }
-
-    public void testCalleesNoResults() throws Exception {
-        helper.createSimpleClasses();
-
-        IMethod method= helper.getMethod1();
-
-        Collection expectedMethods= new ArrayList();
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(method);
-
-        MethodWrapper[] uncachedCalls= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethods, uncachedCalls);
-
-        MethodWrapper[] cachedCalls= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethods, cachedCalls);
-    }
-
-    public void testRecursiveCallers() throws Exception {
-        helper.createSimpleClasses();
-
-        IMethod method1= helper.getRecursiveMethod1();
-        IMethod method2= helper.getRecursiveMethod2();
-
-        Collection expectedMethodsTo1= new ArrayList();
-        expectedMethodsTo1.add(method2);
-
-        Collection expectedMethodsTo2= new ArrayList();
-        expectedMethodsTo2.add(method1);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCallerRoot(method1);
-        MethodWrapper[] callsTo1= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callsTo1, false);
-
-        MethodWrapper wrapper2= helper.findMethodWrapper(method2, callsTo1);
-        assertFalse("Should be marked as recursive", wrapper2.isRecursive());
-
-        MethodWrapper[] callsTo2= wrapper2.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethodsTo2, callsTo2);
-
-        assertRecursive(callsTo2, true);
-
-        MethodWrapper method1Wrapper= helper.findMethodWrapper(method1, callsTo2);
-        callsTo1= method1Wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethodsTo1, callsTo1);
-
-        assertRecursive(callsTo1, true);
-    }
-
-    public void testRecursiveCallees() throws Exception {
-        helper.createSimpleClasses();
-
-        IMethod method1= helper.getRecursiveMethod1();
-        IMethod method2= helper.getRecursiveMethod2();
-
-        Collection expectedMethodsFrom1= new ArrayList();
-        expectedMethodsFrom1.add(method2);
-
-        Collection expectedMethodsFrom2= new ArrayList();
-        expectedMethodsFrom2.add(method1);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(method1);
-        MethodWrapper[] callsFrom1= wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethodsFrom1, callsFrom1);
-
-        MethodWrapper wrapper2= helper.findMethodWrapper(method2, callsFrom1);
-        assertRecursive(callsFrom1, false);
-
-        MethodWrapper[] callsFrom2= wrapper2.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethodsFrom2, callsFrom2);
-
-        assertRecursive(callsFrom2, true);
-        
-        MethodWrapper method1Wrapper= helper.findMethodWrapper(method1, callsFrom2);
-        callsFrom1= method1Wrapper.getCalls(new NullProgressMonitor());
-        helper.assertCalls(expectedMethodsFrom1, callsFrom1);
-
-        assertRecursive(callsFrom1, true);
-    }
-
-    /**
-     * Tests calls that origin from an inner class  
-     */
-    public void testInnerClassCallers() throws Exception {
-        helper.createInnerClass();
-        
-        IMethod someMethod= helper.getType1().getMethod("outerMethod1", EMPTY);
-
-        IMethod innerMethod1= helper.getType1().getType("Inner").getMethod("innerMethod1", EMPTY);
-        IMethod innerMethod2= helper.getType1().getType("Inner").getMethod("innerMethod2", EMPTY);
-
-        Collection expectedCallers= new ArrayList();
-        expectedCallers.add(innerMethod1);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCallerRoot(someMethod);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        helper.assertCalls(expectedCallers, callers);
-        
-        Collection expectedCallersSecondLevel= new ArrayList();
-        expectedCallersSecondLevel.add(innerMethod2);
-        MethodWrapper innerMethod1Wrapper= helper.findMethodWrapper(innerMethod1, callers);
-        helper.assertCalls(expectedCallersSecondLevel, innerMethod1Wrapper.getCalls(new NullProgressMonitor()));
-    }
-
-    /**
-     * Tests callees that enter an inner class  
-     */
-    public void testInnerClassCalleesEntering() throws Exception {
-        helper.createInnerClass();
-
-        IMethod someMethod= helper.getType1().getMethod("outerMethod2", EMPTY);
-
-        IMethod innerMethod1= helper.getType1().getType("Inner").getMethod("innerMethod1", EMPTY);
-        IMethod innerMethod2= helper.getType1().getType("Inner").getMethod("innerMethod2", EMPTY);
-
-        Collection expectedCallers= new ArrayList();
-        expectedCallers.add(innerMethod2);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(someMethod);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        helper.assertCalls(expectedCallers, callers);
-        
-        Collection expectedCallersSecondLevel= new ArrayList();
-        expectedCallersSecondLevel.add(innerMethod1);
-        MethodWrapper innerMethod2Wrapper= helper.findMethodWrapper(innerMethod2, callers);
-        helper.assertCalls(expectedCallersSecondLevel, innerMethod2Wrapper.getCalls(new NullProgressMonitor()));
-    }
-
-    /**
-     * Tests callees that exits an inner class  
-     */
-    public void testInnerClassCalleesExiting() throws Exception {
-        helper.createInnerClass();
-
-        IMethod someMethod= helper.getType1().getMethod("outerMethod1", EMPTY);
-
-        IMethod innerMethod1= helper.getType1().getType("Inner").getMethod("innerMethod1", EMPTY);
-        IMethod innerMethod2= helper.getType1().getType("Inner").getMethod("innerMethod2", EMPTY);
-
-        Collection expectedCallers= new ArrayList();
-        expectedCallers.add(innerMethod1);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(innerMethod2);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        helper.assertCalls(expectedCallers, callers);
-        
-        Collection expectedCallersSecondLevel= new ArrayList();
-        expectedCallersSecondLevel.add(someMethod);
-        MethodWrapper innerMethod1Wrapper= helper.findMethodWrapper(innerMethod1, callers);
-        helper.assertCalls(expectedCallersSecondLevel, innerMethod1Wrapper.getCalls(new NullProgressMonitor()));
-    }
-
-    /**
-     * Tests calls that origin from an inner class  
-     */
-    public void testAnonymousInnerClassCallers() throws Exception {
-        helper.createAnonymousInnerClass();
-        
-        IMethod someMethod= helper.getType1().getMethod("someMethod", EMPTY);
-
-        IMethod result= helper.getType1().getField("anonClass").getType("", 1).getMethod("anotherMethod", EMPTY);
-        Collection expectedCallers= new ArrayList();
-        expectedCallers.add(result);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCallerRoot(someMethod);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        helper.assertCalls(expectedCallers, callers);
-    }
-
-    /**
-     * Tests calls that origin from an inner class  
-     */
-    public void testAnonymousInnerClassOnInterfaceCallees() throws Exception {
-    	//regression test for bug 37290 call hierarchy: Searching for callees into anonymous inner classes fails 
-        helper.createAnonymousInnerClass();
-        
-        IMethod method= helper.getType2().getMethod("anonymousOnInterface", EMPTY);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(method);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        
-        assertEquals("Wrong number of callees", 1, callers.length);
-        IMember member= callers[0].getMember();
-        assertTrue("Wrong member type (expected an instanceof IType)", member instanceof IType);
-        assertEquals("Wrong member name", "Intf", member.getElementName());
-    }
-
-    /**
-     * Tests calls that origin from an inner class  
-     */
-    public void testAnonymousInnerClassOnClassCallees() throws Exception {
-		//regression test for bug 37290 call hierarchy: Searching for callees into anonymous inner classes fails 
-        helper.createAnonymousInnerClass();
-        
-        IMethod method= helper.getType2().getMethod("anonymousOnClass", EMPTY);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(method);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        
-        assertEquals("Wrong number of callees", 1, callers.length);
-        IMember member= callers[0].getMember();
-        assertTrue("Wrong member type (expected an instanceof IType)", member instanceof IType);
-        assertEquals("Wrong member name", "Clazz", member.getElementName());
-    }
-
-    /**
-     * Tests calls that origin from a static initializer block.
-     */
-    public void testInitializerCallers() throws Exception {
-        helper.createStaticInitializerClass();
-
-        IMethod someMethod= helper.getType1().getMethod("someMethod", EMPTY);
-
-        IInitializer initializer= helper.getType1().getInitializer(1);
-
-        Collection expectedCallers= new ArrayList();
-        expectedCallers.add(initializer);
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCallerRoot(someMethod);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        helper.assertCalls(expectedCallers, callers);
-    }
-
-    public void testImplicitConstructorCallers() throws Exception {
-        helper.createSimpleClasses();
-        
-        IMethod constructorA= helper.getType1().getMethod("A", EMPTY);
-
-        Collection expectedCallers= new ArrayList();
-        expectedCallers.add(helper.getType2());
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCallerRoot(constructorA);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        helper.assertCalls(expectedCallers, callers);
-    }
-    
-    public void testImplicitConstructorCallees() throws Exception {
-        helper.createImplicitConstructorClasses();
-        
-        IMethod constructorB= helper.getType2().getMethods()[0];
-
-        Collection expectedCallers= new ArrayList();
-        expectedCallers.add(helper.getType1());
-
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(constructorB);
-        MethodWrapper[] callers= wrapper.getCalls(new NullProgressMonitor());
-        assertRecursive(callers, false);
-        helper.assertCalls(expectedCallers, callers);
-    }
-
-    public void testLineNumberCallers() throws Exception {
-        helper.createSimpleClasses();
-        
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCallerRoot(helper.getMethod1());
-        MethodWrapper[] calls= wrapper.getCalls(new NullProgressMonitor());
-        MethodWrapper method2Wrapper= helper.findMethodWrapper(helper.getMethod2(), calls);
-        assertEquals("Wrong line number", 9, method2Wrapper.getMethodCall().getFirstCallLocation().getLineNumber());
-
-        wrapper= CallHierarchy.getDefault().getCallerRoot(helper.getRecursiveMethod2());
-        calls= wrapper.getCalls(new NullProgressMonitor());
-        MethodWrapper recursiveMethod1Wrapper= helper.findMethodWrapper(helper.getRecursiveMethod1(), calls);
-        assertEquals("Wrong line number", 12, recursiveMethod1Wrapper.getMethodCall().getFirstCallLocation().getLineNumber());
-    }
-        
-    public void testLineNumberCallees() throws Exception {
-        helper.createSimpleClasses();
-        
-        MethodWrapper wrapper= CallHierarchy.getDefault().getCalleeRoot(helper.getMethod2());
-        MethodWrapper[] calls= wrapper.getCalls(new NullProgressMonitor());
-        MethodWrapper method1Wrapper= helper.findMethodWrapper(helper.getMethod1(), calls);
-        assertEquals("Wrong line number", 9, method1Wrapper.getMethodCall().getFirstCallLocation().getLineNumber());
-        
-        wrapper= CallHierarchy.getDefault().getCalleeRoot(helper.getRecursiveMethod1());
-        calls= wrapper.getCalls(new NullProgressMonitor());
-        MethodWrapper recursiveMethod2Wrapper= helper.findMethodWrapper(helper.getRecursiveMethod2(), calls);
-        assertEquals("Wrong line number", 12, recursiveMethod2Wrapper.getMethodCall().getFirstCallLocation().getLineNumber());
-    }
-
-    private void assertRecursive(MethodWrapper[] callResults, boolean shouldBeRecursive) {
-        for (int i= 0; i < callResults.length; i++) {
-            assertEquals(
-                "Wrong recursive value: " + callResults[i].getName(),
-                shouldBeRecursive,
-                callResults[i].isRecursive());
-        }
-    }
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ClassPathDetectorTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ClassPathDetectorTest.java
deleted file mode 100644
index ae8d873..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ClassPathDetectorTest.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.io.File;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-
-import org.eclipse.jdt.internal.ui.wizards.ClassPathDetector;
-
-/**
-  */
-public class ClassPathDetectorTest extends TestCase {
-
-	private static final Class THIS= ClassPathDetectorTest.class;
-	
-	private IJavaProject fJProject1;
-
-	private boolean fEnableAutoBuildAfterTesting;
-
-	public ClassPathDetectorTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ClassPathDetectorTest("testClassFolderConflictingWithOutput"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-
-		IWorkspace workspace= JavaTestPlugin.getWorkspace();
-		assertNotNull(workspace);
-
-		// disable auto-build
-		IWorkspaceDescription workspaceDesc= workspace.getDescription();
-		if (workspaceDesc.isAutoBuilding()) {
-			fEnableAutoBuildAfterTesting= true;
-			JavaProjectHelper.setAutoBuilding(false);
-		}
-		
-		IPreferenceStore store= PreferenceConstants.getPreferenceStore();
-		store.setValue(PreferenceConstants.SRCBIN_BINNAME, "bin");
-
-		fJProject1= null;
-	}
-
-	protected void tearDown() throws Exception {
-		if (fJProject1 != null) {
-			JavaProjectHelper.delete(fJProject1);
-		}
-
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);		
-	}
-	
-	private boolean hasSamePaths(IPath[] a, IPath[] b) {
-		if (a.length != b.length) {
-			return false;
-		}
-		for (int i= 0; i < a.length; i++) {
-			if (!a[i].equals(b[i])) {
-				return false;
-			}
-		}
-		return true;
-	}
-	
-
-	private IClasspathEntry findEntry(IClasspathEntry entry, IClasspathEntry[] entries) {
-		for (int i= 0; i < entries.length; i++) {
-			IClasspathEntry curr= entries[i];
-			if (curr.getPath().equals(entry.getPath()) && curr.getEntryKind() == entry.getEntryKind()) {
-				if (curr.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-					if (hasSamePaths(curr.getExclusionPatterns(), entry.getExclusionPatterns())) {
-						return curr;
-					}
-				} else {
-					return curr;
-				}
-			}
-		}
-		return null;
-	}
-
-
-
-	private void assertSameClasspath(IClasspathEntry[] projectEntries, IClasspathEntry[] entries) throws Exception {
-		assertEquals("Number of classpath entries", projectEntries.length, entries.length);
-		
-		for (int i= 0; i < projectEntries.length; i++) {
-			IClasspathEntry curr= projectEntries[i];
-			assertTrue("entry not found: " + curr.getPath(), findEntry(curr, entries) != null);
-		}
-	}
-	
-	private void clearClasspath() throws Exception {
-		
-		// see 29306 
-		IClasspathEntry other= JavaCore.newSourceEntry(fJProject1.getPath());
-		fJProject1.setRawClasspath(new IClasspathEntry[] { other }, fJProject1.getPath().append("bin"), null);
-		
-		//fJProject1.setRawClasspath(new IClasspathEntry[0], projectOutput, null);		
-	}
-	
-	
-	
-	public void testSourceAndLibrary() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		
-		// source folder & internal JAR
-		
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);		
-		
-		File mylibJar= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-		assertTrue("lib not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addLibraryWithImport(fJProject1, new Path(mylibJar.getPath()), null, null);
-		
-		IClasspathEntry[] jreEntries= PreferenceConstants.getDefaultJRELibrary();
-		for (int i= 0; i < jreEntries.length; i++) {
-			JavaProjectHelper.addToClasspath(fJProject1, jreEntries[i]);
-		}
-		fJProject1.getProject().build(IncrementalProjectBuilder.FULL_BUILD, null);
-		
-		IClasspathEntry[] projectEntries= fJProject1.getRawClasspath();
-		IPath projectOutput= fJProject1.getOutputLocation();
-		
-		clearClasspath();
-		
-		ClassPathDetector detector= new ClassPathDetector(fJProject1.getProject());
-		IPath outputLocation= detector.getOutputLocation();
-		IClasspathEntry[] entries= detector.getClasspath();
-		assertNotNull("No classpath detected", entries);
-		assertNotNull("No outputLocation detected", outputLocation);
-		
-		assertSameClasspath(projectEntries, entries);
-
-		assertTrue("Output folder", outputLocation.equals(projectOutput));
-	}
-
-	public void testTwoSourceFolders() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		// 2 source folders
-		
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src1", junitSrcArchive);
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJProject1, "src2");
-		IPackageFragment pack1= root.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        getClass();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		IClasspathEntry[] jreEntries= PreferenceConstants.getDefaultJRELibrary();
-		for (int i= 0; i < jreEntries.length; i++) {
-			JavaProjectHelper.addToClasspath(fJProject1, jreEntries[i]);
-		}
-		fJProject1.getProject().build(IncrementalProjectBuilder.FULL_BUILD, null);
-		
-		IClasspathEntry[] projectEntries= fJProject1.getRawClasspath();
-		IPath projectOutput= fJProject1.getOutputLocation();
-
-		clearClasspath();
-		
-		ClassPathDetector detector= new ClassPathDetector(fJProject1.getProject());
-		IPath outputLocation= detector.getOutputLocation();
-		IClasspathEntry[] entries= detector.getClasspath();
-		assertNotNull("No classpath detected", entries);
-		assertNotNull("No outputLocation detected", outputLocation);
-		
-		assertSameClasspath(projectEntries, entries);
-		
-		assertTrue("Output folder", outputLocation.equals(projectOutput));
-	}
-	
-	public void testNestedSources() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		// 2 nested source folders
-		
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		IPath[] exclusionFilter= new IPath[] { new Path("src2/") };
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src1", junitSrcArchive, exclusionFilter);
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJProject1, "src1/src2");
-		IPackageFragment pack1= root.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        getClass();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		IClasspathEntry[] jreEntries= PreferenceConstants.getDefaultJRELibrary();
-		for (int i= 0; i < jreEntries.length; i++) {
-			JavaProjectHelper.addToClasspath(fJProject1, jreEntries[i]);
-		}
-		fJProject1.getProject().build(IncrementalProjectBuilder.FULL_BUILD, null);
-		
-		IClasspathEntry[] projectEntries= fJProject1.getRawClasspath();
-		IPath projectOutput= fJProject1.getOutputLocation();
-
-		clearClasspath();
-
-		ClassPathDetector detector= new ClassPathDetector(fJProject1.getProject());
-		IPath outputLocation= detector.getOutputLocation();
-		IClasspathEntry[] entries= detector.getClasspath();
-		assertNotNull("No classpath detected", entries);
-		assertNotNull("No outputLocation detected", outputLocation);
-		
-		assertSameClasspath(projectEntries, entries);
-		
-		assertTrue("Output folder", outputLocation.equals(projectOutput));
-	}
-	
-	public void testSourceAndOutputOnProject() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "");
-	
-		// source folder & internal JAR
-	
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "", junitSrcArchive);		
-	
-		IClasspathEntry[] jreEntries= PreferenceConstants.getDefaultJRELibrary();
-		for (int i= 0; i < jreEntries.length; i++) {
-			JavaProjectHelper.addToClasspath(fJProject1, jreEntries[i]);
-		}
-		fJProject1.getProject().build(IncrementalProjectBuilder.FULL_BUILD, null);
-	
-		IClasspathEntry[] projectEntries= fJProject1.getRawClasspath();
-		IPath projectOutput= fJProject1.getOutputLocation();
-	
-		clearClasspath();
-	
-		ClassPathDetector detector= new ClassPathDetector(fJProject1.getProject());
-		IPath outputLocation= detector.getOutputLocation();
-		IClasspathEntry[] entries= detector.getClasspath();
-		assertNotNull("No classpath detected", entries);
-		assertNotNull("No outputLocation detected", outputLocation);
-	
-		assertSameClasspath(projectEntries, entries);
-
-		assertTrue("Output folder", outputLocation.equals(projectOutput));
-	}
-	
-	public void testClassFolder() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		// class folder:
-		
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJProject1, "src1");
-		IPackageFragment pack1= root.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        getClass();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("E.java", buf.toString(), false, null);	
-		
-		File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-		assertTrue("lib not found", lib != null && lib.exists());
-		
-		IPackageFragmentRoot cfroot= JavaProjectHelper.addClassFolderWithImport(fJProject1, "cf", null, null, lib);
-		
-		IClasspathEntry[] jreEntries= PreferenceConstants.getDefaultJRELibrary();
-		for (int i= 0; i < jreEntries.length; i++) {
-			JavaProjectHelper.addToClasspath(fJProject1, jreEntries[i]);
-		}
-		fJProject1.getProject().build(IncrementalProjectBuilder.FULL_BUILD, null);
-		
-		JavaProjectHelper.removeFromClasspath(fJProject1, cfroot.getPath()); // classfolder should not be detected
-		
-		IClasspathEntry[] projectEntries= fJProject1.getRawClasspath();
-		IPath projectOutput= fJProject1.getOutputLocation();
-
-		clearClasspath();
-		
-		ClassPathDetector detector= new ClassPathDetector(fJProject1.getProject());
-		IPath outputLocation= detector.getOutputLocation();
-		IClasspathEntry[] entries= detector.getClasspath();
-		assertNotNull("No classpath detected", entries);
-		assertNotNull("No outputLocation detected", outputLocation);
-		
-		assertSameClasspath(projectEntries, entries); 
-		assertTrue("Output folder", outputLocation.equals(projectOutput));
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CodeCompletionTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CodeCompletionTest.java
deleted file mode 100644
index 52b87ab..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CodeCompletionTest.java
+++ /dev/null
@@ -1,410 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jdt.ui.PreferenceConstants;
-
-import org.eclipse.jdt.internal.corext.template.java.CodeTemplateContextType;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.java.ResultCollector;
-
-public class CodeCompletionTest extends CoreTests {
-	
-	private static final Class THIS= CodeCompletionTest.class;
-	
-	private IJavaProject fJProject1;
-
-	public CodeCompletionTest(String name) {
-		super(name);
-	}
-	
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new CodeCompletionTest("test1"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-
-	protected void setUp() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		JavaProjectHelper.addRequiredProject(fJProject1, ProjectTestSetup.getProject());
-
-		Hashtable options= JavaCore.getDefaultOptions();  
-		options.put(DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE, "1");
-		options.put(JavaCore.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(JavaCore.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);
-		
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, true);
-
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.OVERRIDECOMMENT).setPattern("/* (non-Javadoc)\n * ${see_to_overridden}\n */");	
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.METHODSTUB).setPattern("//TODO\n${body_statement}");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.delete(fJProject1);
-	}
-	
-	
-	public void testAnonymousTypeCompletion1() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        Runnable run= new Runnable(\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String contents= buf.toString();
-		
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null);
-
-		IEditorPart part= EditorUtility.openInEditor(cu);
-		try {
-			String str= "Runnable run= new Runnable(";
-	
-			int offset= contents.indexOf(str) + str.length();
-	
-			ResultCollector collector= new ResultCollector();
-			collector.reset(offset, cu.getJavaProject(), cu);
-			collector.setViewer(null);
-			collector.setReplacementLength(0);
-			collector.setPreventEating(true);
-			
-			cu.codeComplete(offset, collector);
-			
-			JavaCompletionProposal[] proposals= collector.getResults();
-			
-			assertNumberOf("proposals", proposals.length, 1);
-			
-			IDocument doc= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-
-			
-			proposals[0].apply(doc);
-	
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("public class A {\n");
-			buf.append("    public void foo() {\n");
-			buf.append("        Runnable run= new Runnable() {\n");
-			buf.append("            public void run() {\n");
-			buf.append("                //TODO\n");
-			buf.append("\n");
-			buf.append("            }\n");
-			buf.append("        }\n");		
-			buf.append("    }\n");
-			buf.append("}\n");
-			assertEqualString(doc.get(), buf.toString());
-		} finally {
-			part.getSite().getPage().closeAllEditors(false);
-		}
-	}
-	
-	public void testAnonymousTypeCompletion2() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        Runnable run= new Runnable();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String contents= buf.toString();
-		
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null);
-		
-		IEditorPart part= EditorUtility.openInEditor(cu);
-		try {
-			String str= "Runnable run= new Runnable(";
-	
-			int offset= contents.indexOf(str) + str.length();
-	
-			ResultCollector collector= new ResultCollector();
-			collector.reset(offset, cu.getJavaProject(), cu);
-			collector.setViewer(null);
-			collector.setReplacementLength(0);
-			collector.setPreventEating(true);
-			
-			cu.codeComplete(offset, collector);
-			
-			JavaCompletionProposal[] proposals= collector.getResults();
-			
-			assertNumberOf("proposals", proposals.length, 1);
-			
-			IDocument doc= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			
-			proposals[0].apply(doc);
-	
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("public class A {\n");
-			buf.append("    public void foo() {\n");
-			buf.append("        Runnable run= new Runnable() {\n");
-			buf.append("            public void run() {\n");
-			buf.append("                //TODO\n");
-			buf.append("\n");
-			buf.append("            }\n");
-			buf.append("        };\n");		
-			buf.append("    }\n");
-			buf.append("}\n");
-			assertEqualString(doc.get(), buf.toString());
-		} finally {
-			part.getSite().getPage().closeAllEditors(false);
-		}
-	}	
-
-
-	public void testMethodStubCompletion1() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.io.Writer;\n");
-		buf.append("\n");
-		buf.append("public class A extends Writer {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("    //here\n");
-		buf.append("}\n");
-		String contents= buf.toString();
-		
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null);
-
-		IEditorPart part= EditorUtility.openInEditor(cu);
-		try {
-			String str= "//here";
-
-			int offset= contents.indexOf(str);
-
-			ResultCollector collector= new ResultCollector();
-			collector.reset(offset, cu.getJavaProject(), cu);
-			collector.setViewer(null);
-			collector.setReplacementLength(0);
-			collector.setPreventEating(true);
-
-			cu.codeComplete(offset, collector);
-
-			JavaCompletionProposal[] proposals= collector.getResults();
-
-			JavaCompletionProposal toStringProposal= null;
-
-			for (int i= 0; i < proposals.length; i++) {
-				if (proposals[i].getDisplayString().startsWith("toString()")) {
-					toStringProposal= proposals[i];
-				}
-			}
-			assertNotNull("no proposal for toString()", toStringProposal);
-
-			IDocument doc= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-
-			toStringProposal.apply(doc);
-
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("\n");
-			buf.append("import java.io.Writer;\n");
-			buf.append("\n");
-			buf.append("public class A extends Writer {\n");
-			buf.append("    public void foo() {\n");
-			buf.append("    }\n");
-			buf.append("    /* (non-Javadoc)\n");
-			buf.append("     * @see java.lang.Object#toString()\n");
-			buf.append("     */\n");
-			buf.append("    public String toString() {\n");
-			buf.append("        //TODO\n");
-			buf.append("        return super.toString();\n");
-			buf.append("    }//here\n");
-			buf.append("}\n");
-			assertEqualString(doc.get(), buf.toString());
-			
-		} finally {
-			part.getSite().getPage().closeAllEditors(false);
-		}
-		
-	}
-	
-	public void testMethodStubCompletion2() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.io.Writer;\n");
-		buf.append("\n");
-		buf.append("public class A extends Writer {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("    //here\n");
-		buf.append("}\n");
-		String contents= buf.toString();
-		
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null);
-
-		IEditorPart part= EditorUtility.openInEditor(cu);
-		try {
-			String str= "//here";
-
-			int offset= contents.indexOf(str);
-
-			ResultCollector collector= new ResultCollector();
-			collector.reset(offset, cu.getJavaProject(), cu);
-			collector.setViewer(null);
-			collector.setReplacementLength(0);
-			collector.setPreventEating(true);
-
-			cu.codeComplete(offset, collector);
-
-			JavaCompletionProposal[] proposals= collector.getResults();
-
-			JavaCompletionProposal closeProposal= null;
-
-			for (int i= 0; i < proposals.length; i++) {
-				if (proposals[i].getDisplayString().startsWith("close()")) {
-					closeProposal= proposals[i];
-				}
-			}
-			assertNotNull("no proposal for close()", closeProposal);
-
-			IDocument doc= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-
-			closeProposal.apply(doc);
-
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("\n");
-			buf.append("import java.io.IOException;\n");
-			buf.append("import java.io.Writer;\n");
-			buf.append("\n");
-			buf.append("public class A extends Writer {\n");
-			buf.append("    public void foo() {\n");
-			buf.append("    }\n");
-			buf.append("    /* (non-Javadoc)\n");
-			buf.append("     * @see java.io.Writer#close()\n");
-			buf.append("     */\n");
-			buf.append("    public void close() throws IOException {\n");
-			buf.append("        //TODO\n");
-			buf.append("\n");
-			buf.append("    }//here\n");
-			buf.append("}\n");
-			assertEqualString(doc.get(), buf.toString()); 
-		} finally {
-			part.getSite().getPage().closeAllEditors(false);
-		}		
-	}
-	
-	public void testMethodStubCompletion3() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.io.BufferedWriter;\n");
-		buf.append("\n");
-		buf.append("public class A extends BufferedWriter {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("    //here\n");
-		buf.append("}\n");
-		String contents= buf.toString();
-		
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", contents, false, null);
-
-		IEditorPart part= EditorUtility.openInEditor(cu);
-		try {
-			String str= "//here";
-
-			int offset= contents.indexOf(str);
-
-			ResultCollector collector= new ResultCollector();
-			collector.reset(offset, cu.getJavaProject(), cu);
-			collector.setViewer(null);
-			collector.setReplacementLength(0);
-			collector.setPreventEating(true);
-
-			cu.codeComplete(offset, collector);
-
-			JavaCompletionProposal[] proposals= collector.getResults();
-
-			JavaCompletionProposal closeProposal= null;
-
-			for (int i= 0; i < proposals.length; i++) {
-				if (proposals[i].getDisplayString().startsWith("close()")) {
-					closeProposal= proposals[i];
-				}
-			}
-			assertNotNull("no proposal for close()", closeProposal);
-
-			IDocument doc= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			closeProposal.apply(doc);
-
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("\n");
-			buf.append("import java.io.BufferedWriter;\n");
-			buf.append("import java.io.IOException;\n");
-			buf.append("\n");
-			buf.append("public class A extends BufferedWriter {\n");
-			buf.append("    public void foo() {\n");
-			buf.append("    }\n");
-			buf.append("    /* (non-Javadoc)\n");
-			buf.append("     * @see java.io.BufferedWriter#close()\n");
-			buf.append("     */\n");
-			buf.append("    public void close() throws IOException {\n");
-			buf.append("        //TODO\n");
-			buf.append("        super.close();\n");
-			buf.append("    }//here\n");
-			buf.append("}\n");
-			assertEqualString(doc.get(), buf.toString()); 
-		} finally {
-			part.getSite().getPage().closeAllEditors(false);
-		}		
-	}	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CodeFormatterUtilTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CodeFormatterUtilTest.java
deleted file mode 100644
index f821695..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CodeFormatterUtilTest.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CoreTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CoreTests.java
deleted file mode 100644
index a69d63c..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/CoreTests.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.ui.tests.core;
-
-import java.io.IOException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.StringAsserts;
-
-/**
-  */
-public class CoreTests extends TestCase {
-
-	public static Test suite() {
-		
-		TestSuite suite= new TestSuite();
-		suite.addTest(AddImportTest.allTests());
-		suite.addTest(AddUnimplementedMethodsTest.allTests());
-		suite.addTest(AddUnimplementedConstructorsTest.allTests());
-		suite.addTest(AllTypesCacheTest.allTests());
-		suite.addTest(BindingsNameTest.allTests());
-		suite.addTest(ClassPathDetectorTest.allTests());
-		//suite.addTest(HierarchicalASTVisitorTest.allTests());
-		suite.addTest(ImportOrganizeTest.allTests());
-		suite.addTest(JavaModelUtilTest.allTests());
-		suite.addTest(NameProposerTest.allTests());
-		suite.addTest(TextEditTests.allTests());
-		suite.addTest(PrimaryWorkingCopyTest.allTests());
-		suite.addTest(TypeInfoTest.allTests());	
-		suite.addTest(CallHierarchyTest.allTests());
-		suite.addTest(ScopeAnalyzerTest.allTests());
-		suite.addTest(PartialASTTest.allTests());
-		suite.addTest(CodeCompletionTest.allTests());
-		suite.addTest(TypeRulesTest.allTests());
-		suite.addTest(JavaElementLabelsTest.allTests());
-		
-		
-		return new ProjectTestSetup(suite);
-	}
-
-	public CoreTests(String name) {
-		super(name);
-	}
-	
-	public static void assertEqualString(String actual, String expected) {	
-		StringAsserts.assertEqualString(actual, expected);
-	}
-	
-	public static void assertEqualStringIgnoreDelim(String actual, String expected) throws IOException {
-		StringAsserts.assertEqualStringIgnoreDelim(actual, expected);
-	}	
-	
-	public static void assertEqualStringsIgnoreOrder(String[] actuals, String[] expecteds) {
-		StringAsserts.assertEqualStringsIgnoreOrder(actuals, expecteds);			
-	}
-	
-	public static void assertNumberOf(String name, int is, int expected) {
-		assertTrue("Wrong number of " + name + ", is: " + is + ", expected: " + expected, is == expected);
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/HierarchicalASTVisitorTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/HierarchicalASTVisitorTest.java
deleted file mode 100644
index e48f5d6..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/HierarchicalASTVisitorTest.java
+++ /dev/null
@@ -1,361 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.Expression;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.Statement;
-import org.eclipse.jdt.core.dom.Type;
-import org.eclipse.jdt.core.dom.VariableDeclaration;
-
-import org.eclipse.jdt.internal.corext.Assert;
-import org.eclipse.jdt.internal.corext.dom.HierarchicalASTVisitor;
-
-public class HierarchicalASTVisitorTest extends TestCase {
-	private static class TestHierarchicalASTVisitor extends HierarchicalASTVisitor {
-
-		//---- BEGIN <REGION TO BE UPDATED IN RESPONSE TO ASTNode HEIRARCHY CHANGES> ---------------------
-		/* ******************************************************************************
-		 * Whereas the other parts of this test should be relatively static,
-		 * this portion of the file must be maintained in response to
-		 * changes that occur in the ASTNode heirarchy (and, thus, the ASTVisitor).
-		 * Such changes would include addition or removal of node types to or from
-		 * the heirarchy, or changes in the superclass/subclass relationships
-		 * among node classes.  Such changes necessitate, also, changes in the
-		 * HierarchicalASTVisitor itself, whose structure and behaviour this test
-		 * verifies.
-		 * 
-		 * The changes that must be made to this file in response to such changes in
-		 * the ASTNode heirarchy are localized here and limited to maintenance of the
-		 * following set of visit(XX node) implementations and superVisit(XX node).
-		 * There should be one such pair for each non-leaf ASTNode descendant class,
-		 * including ASTNode itself.
-		 * 
-		 * *****************************************************************************/
-
-		/* Here, for each non-leaf ASTNode descendant class, the visit(XX) method
-		 * is overridden to call registerCall(XX.class), and a void superVisit
-		 * (XX node) method is provided, which simply calls super.visit(XX)
-		 */
-
-		public boolean visit(ASTNode node) {
-			registerCall(ASTNode.class);
-			return false;
-		}
-		public void superVisit(ASTNode node) {
-			super.visit(node);
-		}
-
-		public boolean visit(Expression node) {
-			registerCall(Expression.class);
-			return false;
-		}
-		public void superVisit(Expression node) {
-			super.visit(node);
-		}
-
-		public boolean visit(Name node) {
-			registerCall(Name.class);
-			return false;
-		}
-		public void superVisit(Name node) {
-			super.visit(node);
-		}
-
-		public boolean visit(BodyDeclaration node) {
-			registerCall(BodyDeclaration.class);
-			return false;
-		}
-		public void superVisit(BodyDeclaration node) {
-			super.visit(node);
-		}
-
-		public boolean visit(Type node) {
-			registerCall(Type.class);
-			return false;
-		}
-		public void superVisit(Type node) {
-			super.visit(node);
-		}
-
-		public boolean visit(Statement node) {
-			registerCall(Statement.class);
-			return false;
-		}
-		public void superVisit(Statement node) {
-			super.visit(node);
-		}
-
-		public boolean visit(VariableDeclaration node) {
-			registerCall(VariableDeclaration.class);
-			return false;
-		}
-		public void superVisit(VariableDeclaration node) {
-			super.visit(node);
-		}
-		//---- END <REGION TO BE UPDATED IN RESPONSE TO ASTNode HEIRARCHY CHANGES> ----------------------
-
-		/**
-		 * Verifies that the visit(XX) method in HierarchicalASTVisitor calls
-		 * visit(YY), where XX is the name of <code>clazz</code> and YY is the
-		 * name of the superclass of clazz.
-		 * 
-		 * <code>clazz</code> must be a <b>proper</b> descendant of ASTNode (<code>clazz</code> is not ASTNode).
-		 */
-		private static void checkMethodCallsSuperclassMethod(Class clazz, boolean isLeaf) {
-			Assert.isTrue(ASTNode.class.isAssignableFrom(clazz));
-			Assert.isTrue(!ASTNode.class.equals(clazz));
-
-			TestHierarchicalASTVisitor visitor= new TestHierarchicalASTVisitor();
-			visitor._checkMethodCallsSuperclassMethod(clazz, isLeaf);
-		}
-
-		/**
-		 * This class must have certain methods corresponding to the
-		 * ASTNode descendant class <code>clazz</code>.
-		 * This method reflectively verifies that they are present.
-		 */
-		private static boolean hasRequiredMethodsForNonLeaf(Class clazz) {
-			Assert.isTrue(ASTNode.class.isAssignableFrom(clazz));
-			try {
-				TestHierarchicalASTVisitor.class.getDeclaredMethod(getMethodNameFor(clazz), new Class[] { clazz });
-				TestHierarchicalASTVisitor.class.getDeclaredMethod("superVisit", new Class[] { clazz });
-			} catch (NoSuchMethodException e) {
-				return false;
-			}
-			return true;
-		}
-
-		private Class fNodeClassForCalledMethod= null;
-
-		private void _checkMethodCallsSuperclassMethod(Class clazz, boolean isLeaf) {
-			/* Invoke a method which will result in the execution of
-			 * HierarchicalASTVisitor's implementation of visit(XX), where 
-			 * XX is the name of clazz.
-			 * 
-			 * If clazz is a leaf, we can invoke visit(XX) directly.
-			 * Otherwise, we must invoke superVisit(XX), (in this class)
-			 * which calls super.visit(XX), since visit(XX) is overridden in
-			 * this class.
-			 * 
-			 * The parameter passed to visit(XX) or superVisit(XX)
-			 * is null.  If there ever was any requirement that the
-			 * parameter to visit(XX) methods, be non-null, we would simply have
-			 * to reflectively instantiate an appropriately typed node.
-			 */
-			try {
-				Method method= TestHierarchicalASTVisitor.class.getMethod(isLeaf ? getMethodNameFor(clazz) : "superVisit", new Class[] { clazz });
-				method.invoke(this, new Object[] { null });
-			} catch (NoSuchMethodException e) {
-				/* This should have already been discovered by
-				 * hasRequiredMethodsForNonLeaf(..)
-				 */
-				e.printStackTrace();
-				Assert.isTrue(false);
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-				Assert.isTrue(false);
-			} catch (InvocationTargetException e) {
-				e.printStackTrace();
-				Assert.isTrue(false);
-			}
-
-			/*
-			 * Verify that the method invokation caused
-			 * a call to visit(YY), where YY is the name of the superclass of
-			 * clazz. (Also, verify that no other visit(ZZ) method was called).
-			 */
-			checkSuperclassMethodCalled(clazz, isLeaf);
-		}
-		private void checkSuperclassMethodCalled(Class clazz, boolean isLeaf) {
-			Assert.isNotNull(clazz.getSuperclass());
-			/*
-			 * This class' implementations of the visit(YY) methods (for non-
-			 * leaf YY) cause fNodeClassForCalledMethod to be set to YY.class.
-			 * Such an implementation will be the one executed when a visit(XX)
-			 * implementation in HierarchicalASTVisitor calls the visit(YY)
-			 * method corresponding to XX's superclass, YY. We check here that
-			 * fNodeClassForCalledMethod was set to the superclass of clazz.
-			 */
-			assertTrue(getSuperMethodNotCalledMessageFor(clazz, isLeaf), clazz.getSuperclass().equals(fNodeClassForCalledMethod));
-		}
-		private String getSuperMethodNotCalledMessageFor(Class clazz, boolean isLeaf) {
-			return getMethodSignatureFor(clazz, isLeaf) + " in HierarchicalASTVisitor should call " + getMethodSignatureFor(clazz.getSuperclass(), false) + ", the visitor method for its superclass.";
-		}
-
-		private void registerCall(Class nodeClassForMethod) {
-			assertNull("The invocation of a visit(XX) method in HierarchicalASTVisitor has caused more than one other visit(XX) method to be called.  Every visit(XX) method in HierarchicalASTVisitor, except visit(ASTNode), should simply call visit(YY), where YY is the superclass of XX.", fNodeClassForCalledMethod);
-			fNodeClassForCalledMethod= nodeClassForMethod;
-		}
-	}
-
-	private static final Class THIS_CLASS= HierarchicalASTVisitorTest.class;
-
-	private Set fLeaves;
-
-	public HierarchicalASTVisitorTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new TestSuite(THIS_CLASS);
-	}
-
-	public static Test suite() {
-		return new TestSuite(THIS_CLASS);
-	}
-
-	public void test() {
-		fLeaves= getLeafASTNodeDescendants();
-		Set allASTNodeDescendants= computeAllDescendantsFromLeaves(fLeaves.iterator(), ASTNode.class);
-
-		checkAllMethodsForHeirarchyExist(allASTNodeDescendants.iterator());
-		checkMethodsCallSuperclassMethod(allASTNodeDescendants.iterator());
-	}
-
-	private boolean isLeaf(Class clazz) {
-		return fLeaves.contains(clazz);
-	}
-
-	/**
-	 * For both HierarchicalASTVisitor and a subsequent part of this test to be correct,
-	 * HierarchicalASTVisitor and TestHierarchicalASTVisitor must declare certain methods,
-	 * each one corresponding to a class in the ASTNode heirarchy.  Specifically, 
-	 * HierarchicalASTVisitor must declare a method corresponding to each class in the heirarchy,
-	 * whereas TestHierarchicalASTVisitor must declare a pair of methods for each non-leaf
-	 * class in the ASTNode heirarchy.
-	 * 
-	 * This method verifies that these required methods exist, and suggests the updates
-	 * that are needed to properly maintain the set of methods.
-	 */
-	private void checkAllMethodsForHeirarchyExist(Iterator heirarchyClasses) {
-		while (heirarchyClasses.hasNext()) {
-			Class descendant= (Class) heirarchyClasses.next();
-			checkHeirarchicalASTVisitorMethodExistsFor(descendant);
-			if (!isLeaf(descendant))
-				assertTrue("This test must be updated, since TestHierarchicalASTVisitor, a class declared within this test class, is missing a method corresponding to non-leaf node class " + getSimpleName(descendant), TestHierarchicalASTVisitor.hasRequiredMethodsForNonLeaf(descendant));
-		}
-	}
-
-	/**
-	 * All visit(XX) implementations in HierarchicalASTVisitor, each
-	 * corresponding to a class XX, must call visit(YY), where YY is the
-	 * superclass of YY, unless XX is ASTNode. This method verifies this using
-	 * reflection and a contrived subclass of HierarchicalASTVisitor,
-	 * TestHierarchicalASTVisitor.
-	 */
-	private void checkMethodsCallSuperclassMethod(Iterator heirarchyClasses) {
-		while (heirarchyClasses.hasNext()) {
-			Class descendant= (Class) heirarchyClasses.next();
-			if (!ASTNode.class.equals(descendant))
-				TestHierarchicalASTVisitor.checkMethodCallsSuperclassMethod(descendant, isLeaf(descendant));
-		}
-	}
-
-	private void checkHeirarchicalASTVisitorMethodExistsFor(Class nodeClass) {
-		try {
-			Assert.isTrue(ASTNode.class.isAssignableFrom(nodeClass));
-			HierarchicalASTVisitor.class.getDeclaredMethod(getMethodNameFor(nodeClass), new Class[] { nodeClass });
-		} catch (NoSuchMethodException e) {
-			String signature= getMethodNameFor(nodeClass) + "(" + getSimpleName(nodeClass) + ")";
-			assertTrue("HierarchicalASTVisitor must be updated to reflect a change in the ASTNode heirarchy.  No method " + signature + " was found in HierarchicalASTVisitor.", false);
-		}
-	}
-
-	private static String getMethodNameFor(Class clazz) {
-		return "visit";
-
-	}
-
-	private static String getSimpleName(Class clazz) {
-		String qualified= clazz.getName();
-		return qualified.substring(qualified.lastIndexOf('.') + 1);
-	}
-
-	private static String getMethodSignatureFor(Class clazz, boolean isLeaf) {
-		return getMethodNameFor(clazz) + "(" + getSimpleName(clazz) + ")";
-	}
-
-	/**
-	 * Finds the set of all descendants of <code>root</code> which are not proper descendants
-	 * of a class in the sequence <code>leaves</code>.  This will include <code>root</code>
-	 * and all the elements of <code>leaves</code>.
-	 */
-	private static Set computeAllDescendantsFromLeaves(Iterator leaves, Class root) {
-		Set all= new HashSet();
-		while (leaves.hasNext()) {
-			Class leaf= (Class) leaves.next();
-			addAllAncestorsInclusive(leaf, root, all);
-		}
-		return all;
-	}
-
-	private static void addAllAncestorsInclusive(Class from, Class to, Set set) {
-		Assert.isTrue(to.isAssignableFrom(from));
-		Assert.isTrue(!from.isInterface());
-		Assert.isTrue(!to.isInterface());
-
-		Class ancestor= from;
-		while (!ancestor.equals(to)) {
-			set.add(ancestor);
-			ancestor= ancestor.getSuperclass();
-			if (ancestor == null) {
-				Assert.isTrue(false);
-				/* not expected, given assertions passed above */
-			}
-		}
-		set.add(to);
-	}
-
-	/**
-	 * Returns all the leaf node classes (classes with no subclasses) in the
-	 * ASTNode heirarchy. Since every non-leaf ASTNode descendant (incl. ASTNode)
-	 * is abstract, the set of leaf ASTNode descendants is the set of concrete
-	 * ASTNode descendants.
-	 * 
-	 * If ASTVisitor is maintained, this set will be the set of classes for which
-	 * ASTVisitor has visit(..) methods.  We use this property to compute the set,
-	 * which means that we are as up-to-date as ASTVisitor (to be more
-	 * "up-to-date" would be to require something that HierarchicalASTVisitor would,
-	 * semantically, not be able to provide anyway!).
-	 */
-	private static Set getLeafASTNodeDescendants() {
-		Set result= new HashSet();
-		Method[] methods= ASTVisitor.class.getMethods();
-		for (int i= 0; i < methods.length; i++) {
-			Method method= methods[i];
-			if (isVisitMethod(method)) {
-				result.add(method.getParameterTypes()[0]);
-			}
-		}
-		return result;
-	}
-	private static boolean isVisitMethod(Method method) {
-		if (!"visit".equals(method.getName()))
-			return false;
-
-		Class[] parameters= method.getParameterTypes();
-		return parameters.length == 1 && ASTNode.class.isAssignableFrom(parameters[0]);
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ImportOrganizeTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ImportOrganizeTest.java
deleted file mode 100644
index a87331a..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ImportOrganizeTest.java
+++ /dev/null
@@ -1,1689 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.io.File;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IImportDeclaration;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.internal.corext.codemanipulation.ImportsStructure;
-import org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation;
-import org.eclipse.jdt.internal.corext.codemanipulation.OrganizeImportsOperation.IChooseImportQuery;
-import org.eclipse.jdt.internal.corext.dom.Selection;
-import org.eclipse.jdt.internal.corext.util.TypeInfo;
-
-public class ImportOrganizeTest extends CoreTests {
-	
-	private static final Class THIS= ImportOrganizeTest.class;
-	
-	private IJavaProject fJProject1;
-
-	public ImportOrganizeTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ImportOrganizeTest("testOrganizeImportOnRange2"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-
-	protected void setUp() throws Exception {
-		fJProject1= ProjectTestSetup.getProject();
-	
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE, String.valueOf(99));
-		JavaCore.setOptions(options);
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	private IChooseImportQuery createQuery(final String name, final String[] choices, final int[] nEntries) {
-		return new IChooseImportQuery() {
-			public TypeInfo[] chooseImports(TypeInfo[][] openChoices, ISourceRange[] ranges) {
-				assertTrue(name + "-query-nchoices1", choices.length == openChoices.length);
-				assertTrue(name + "-query-nchoices2", nEntries.length == openChoices.length);
-				if (nEntries != null) {
-					for (int i= 0; i < nEntries.length; i++) {
-						assertTrue(name + "-query-cnt" + i, openChoices[i].length == nEntries[i]);
-					}
-				}
-				TypeInfo[] res= new TypeInfo[openChoices.length];
-				for (int i= 0; i < openChoices.length; i++) {
-					TypeInfo[] selection= openChoices[i];
-					assertNotNull(name + "-query-setset" + i, selection);
-					assertTrue(name + "-query-setlen" + i, selection.length > 0);
-					TypeInfo found= null;
-					for (int k= 0; k < selection.length; k++) {
-						if (selection[k].getFullyQualifiedName().equals(choices[i])) {
-							found= selection[k];
-						}
-					}
-					assertNotNull(name + "-query-notfound" + i, found);
-					res[i]= found;
-				}
-				return res;
-			}
-		};
-	}
-	
-	private void assertImports(ICompilationUnit cu, String[] imports) throws Exception {
-		IImportDeclaration[] desc= cu.getImports();
-		assertTrue(cu.getElementName() + "-count", desc.length == imports.length);
-		for (int i= 0; i < imports.length; i++) {
-			assertEquals(cu.getElementName() + "-cmpentries" + i, desc[i].getElementName(), imports[i]);
-		}
-	}
-	
-	public void test1() throws Exception {
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);
-
-		ICompilationUnit cu= (ICompilationUnit) fJProject1.findElement(new Path("junit/runner/BaseTestRunner.java"));
-		assertNotNull("BaseTestRunner.java", cu);
-		
-		IPackageFragmentRoot root= (IPackageFragmentRoot)cu.getParent().getParent();
-		IPackageFragment pack= root.createPackageFragment("mytest", true, null);
-		
-		ICompilationUnit colidingCU= pack.getCompilationUnit("TestListener.java");
-		colidingCU.createType("public abstract class TestListener {\n}\n", null, true, null);
-		
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("BaseTestRunner", new String[] { "junit.framework.TestListener" }, new int[] { 2 });
-		
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		assertImports(cu, new String[] {
-			"java.io.BufferedReader",
-			"java.io.File",
-			"java.io.FileInputStream",
-			"java.io.IOException",
-			"java.io.InputStream",
-			"java.io.PrintWriter",
-			"java.io.StringReader",
-			"java.io.StringWriter",
-			"java.lang.reflect.InvocationTargetException",
-			"java.lang.reflect.Method",
-			"java.text.NumberFormat",
-			"java.util.Properties",
-			"junit.framework.Test",
-			"junit.framework.TestListener",
-			"junit.framework.TestSuite"
-		});
-	}
-	
-	public void test1WithOrder() throws Exception {
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);
-
-		ICompilationUnit cu= (ICompilationUnit) fJProject1.findElement(new Path("junit/runner/BaseTestRunner.java"));
-		assertNotNull("BaseTestRunner.java", cu);
-
-		IPackageFragmentRoot root= (IPackageFragmentRoot)cu.getParent().getParent();
-		IPackageFragment pack= root.createPackageFragment("mytest", true, null);
-
-		ICompilationUnit colidingCU= pack.getCompilationUnit("TestListener.java");
-		colidingCU.createType("public abstract class TestListener {\n}\n", null, true, null);
-
-
-		String[] order= new String[] { "junit", "java.text", "java.io", "java" };
-		IChooseImportQuery query= createQuery("BaseTestRunner", new String[] { "junit.framework.TestListener" }, new int[] { 2 });
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-
-		assertImports(cu, new String[] {
-			"junit.framework.Test",
-			"junit.framework.TestListener",
-			"junit.framework.TestSuite",
-			"java.text.NumberFormat",	
-			"java.io.BufferedReader",
-			"java.io.File",
-			"java.io.FileInputStream",
-			"java.io.IOException",
-			"java.io.InputStream",
-			"java.io.PrintWriter",
-			"java.io.StringReader",
-			"java.io.StringWriter",
-			"java.lang.reflect.InvocationTargetException",
-			"java.lang.reflect.Method",
-			"java.util.Properties"
-		});
-	}	
-	
-		
-	public void test2() throws Exception {
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);
-
-		ICompilationUnit cu= (ICompilationUnit) fJProject1.findElement(new Path("junit/runner/LoadingTestCollector.java"));
-		assertNotNull("LoadingTestCollector.java", cu);
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("LoadingTestCollector", new String[] { }, new int[] { });
-		
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		assertImports(cu, new String[] {
-			"java.lang.reflect.Constructor",
-			"java.lang.reflect.Method",
-			"java.lang.reflect.Modifier",
-			"junit.framework.Test"	
-		});	
-	}
-	
-	
-	public void test3() throws Exception {
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);
-
-		ICompilationUnit cu= (ICompilationUnit) fJProject1.findElement(new Path("junit/runner/TestCaseClassLoader.java"));
-		assertNotNull("TestCaseClassLoader.java", cu);
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("TestCaseClassLoader", new String[] { }, new int[] { });
-		
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 3, false, true, true, query);
-		op.run(null);
-		
-		assertImports(cu, new String[] {
-			"java.io.*",
-			"java.net.URL",
-			"java.util.*",
-			"java.util.zip.ZipEntry",
-			"java.util.zip.ZipFile",
-		});	
-	}
-		
-	public void test4() throws Exception {
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);
-
-		ICompilationUnit cu= (ICompilationUnit) fJProject1.findElement(new Path("junit/textui/TestRunner.java"));
-		assertNotNull("TestRunner.java", cu);
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("TestRunner", new String[] {}, new int[] {});
-		
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		assertImports(cu, new String[] {
-			"java.io.PrintStream",
-			"java.util.Enumeration",
-			"junit.framework.AssertionFailedError",
-			"junit.framework.Test",
-			"junit.framework.TestFailure",
-			"junit.framework.TestResult",
-			"junit.framework.TestSuite",
-			"junit.runner.BaseTestRunner",
-			"junit.runner.StandardTestSuiteLoader",
-			"junit.runner.TestSuiteLoader",
-			"junit.runner.Version"
-		});		
-	}
-	
-	public void testVariousTypeReferences() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack= sourceFolder.createPackageFragment("test", false, null);
-		for (int ch= 'A'; ch < 'M'; ch++) {
-			String name= String.valueOf((char) ch);
-			ICompilationUnit cu= pack.getCompilationUnit(name + ".java");
-			String content= "public class " + name + " {}";
-			cu.createType(content, null, false, null);
-		}
-		for (int ch= 'A'; ch < 'M'; ch++) {
-			String name= "I" + String.valueOf((char) ch);
-			ICompilationUnit cu= pack.getCompilationUnit(name + ".java");
-			String content= "public interface " + name + " {}";
-			cu.createType(content, null, false, null);
-		}		
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class ImportTest extends A implements IA, IB {\n");
-		buf.append("  private B fB;\n");
-		buf.append("  private Object fObj= new C();\n");
-		buf.append("  public IB foo(IC c, ID d) throws IOException {\n");
-		buf.append("   Object local= (D) fObj;\n");
-		buf.append("   if (local instanceof E) {};\n");
-		buf.append("   return null;\n");
-		buf.append("  }\n");
-		buf.append("}\n");
-		
-		pack= sourceFolder.createPackageFragment("other", false, null);
-		ICompilationUnit cu= pack.getCompilationUnit("ImportTest.java");
-		cu.createType(buf.toString(), null, false, null);
-
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("ImportTest", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		assertImports(cu, new String[] {
-			"java.io.IOException",
-			"test.A",
-			"test.B",
-			"test.C",
-			"test.D",
-			"test.E",			
-			"test.IA",
-			"test.IB",
-			"test.IC",
-			"test.ID",
-		});		
-	}
-	
-	public void testInnerClassVisibility() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("  protected static class C1 {\n");
-		buf.append("    public static class C2 {\n");
-		buf.append("    }\n");
-		buf.append("  }\n");
-		buf.append("}\n");	
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		IPackageFragment pack2= sourceFolder.createPackageFragment("test2", false, null);
-				
-		buf= new StringBuffer();
-		buf.append("package test2;\n");
-
-		buf.append("import test2.A.A1;\n");		
-		buf.append("import test2.A.A1.A2;\n");
-		buf.append("import test2.A.A1.A2.A3;\n");
-		buf.append("import test2.A.B1;\n");
-		buf.append("import test2.A.B1.B2;\n");
-		buf.append("import test1.C;\n");
-		buf.append("import test1.C.C1.C2;\n");
-		
-		buf.append("public class A {\n");
-		buf.append("    public static class A1 {\n");
-		buf.append("        public static class A2 {\n");
-		buf.append("            public static class A3 {\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		
-		buf.append("    public static class B1 {\n");
-		buf.append("        public static class B2 {\n");
-		buf.append("        }\n");
-		
-		buf.append("        public static class B3 {\n");
-		buf.append("            public static class B4 extends C {\n");
-		buf.append("                B4 b4;\n");
-		buf.append("                B3 b3;\n");
-		buf.append("                B2 b2;\n");
-		buf.append("                B1 b1;\n");
-		buf.append("                A1 a1;\n");
-		buf.append("                A2 a2;\n");
-		buf.append("                A3 a3;\n");
-		buf.append("                C1 c1;\n");
-		buf.append("                C2 c2;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		ICompilationUnit cu2= pack2.createCompilationUnit("A.java", buf.toString(), false, null);
-
-
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("A", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu2, order, 99, false, true, true, query);
-		op.run(null);
-		
-		assertImports(cu2, new String[] {
-			"test1.C", 
-			"test1.C.C1.C2",
-			"test2.A.A1.A2", 
-			"test2.A.A1.A2.A3"
-		});
-	}
-	
-	
-	public void testClearImports() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");		
-		buf.append("public class C {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");	
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testNewImports() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C extends Vector {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");			
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");						
-		buf.append("public class C extends Vector {\n");
-		buf.append("}\n");	
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testReplaceImports() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");			
-		buf.append("import java.util.Set;\n");
-		buf.append("\n");				
-		buf.append("public class C extends Vector {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");			
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");						
-		buf.append("public class C extends Vector {\n");
-		buf.append("}\n");	
-		assertEqualString(cu.getSource(), buf.toString());
-	}	
-	
-	public void testClearImportsNoPackage() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.getPackageFragment("");
-		StringBuffer buf= new StringBuffer();
-		buf.append("import java.util.Vector;\n");		
-		buf.append("public class C {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		buf= new StringBuffer();
-		buf.append("public class C {\n");
-		buf.append("}\n");	
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testNewImportsNoPackage() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.getPackageFragment("");
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class C extends Vector {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		buf= new StringBuffer();
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");						
-		buf.append("public class C extends Vector {\n");
-		buf.append("}\n");	
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testReplaceImportsNoPackage() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.getPackageFragment("");
-		StringBuffer buf= new StringBuffer();
-		buf.append("import java.util.Set;\n");
-		buf.append("\n");				
-		buf.append("public class C extends Vector {\n");
-		buf.append("}\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		buf= new StringBuffer();
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");						
-		buf.append("public class C extends Vector {\n");
-		buf.append("}\n");	
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testCommentAfterImport() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\r\n");
-		buf.append("\r\n");			
-		buf.append("import x;\r\n");		
-		buf.append("import java.util.Vector; // comment\r\n");
-		buf.append("\r\n");			
-		buf.append("public class C {\r\n");
-		buf.append("    Vector v;\r\n");		
-		buf.append("}\r\n");	
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		
-		String[] order= new String[0];
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-	
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-		
-		buf= new StringBuffer();
-		buf.append("package pack1;\r\n");
-		buf.append("\r\n");		
-		buf.append("import java.util.Vector;\r\n");
-		buf.append("\r\n");			
-		buf.append("public class C {\r\n");
-		buf.append("    Vector v;\r\n");
-		buf.append("}\r\n");	
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testImportToStar() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class List {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List.java", buf.toString(), false, null);		
-		
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");		
-		buf.append("\n");		
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    String v5;\n");				
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "pack" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 2, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.*;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    String v5;\n");		
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testImportToStarWithExplicit() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class List {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class List2 {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List2.java", buf.toString(), false, null);
-
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("import pack.List2;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    List2 v5;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "pack" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 2, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.*;\n");
-		buf.append("\n");
-		buf.append("import pack.*;\n");
-		buf.append("import pack.List;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    List2 v5;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testImportToStarWithExplicit2() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class List {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List.java", buf.toString(), false, null);
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "pack" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 1, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.*;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testImportToStarWithExplicit3() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class List {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class Set {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("Set.java", buf.toString(), false, null);		
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "pack" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 1, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.*;\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testImportToStarWithExplicit4() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class List {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List.java", buf.toString(), false, null);
-		
-		IPackageFragment pack3= sourceFolder.createPackageFragment("pack3", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack3;\n");
-		buf.append("public class List {\n");
-		buf.append("}\n");
-		pack3.createCompilationUnit("List.java", buf.toString(), false, null);		
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "pack" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 1, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.*;\n");
-		buf.append("\n");
-		buf.append("import pack.List;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List v4;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}	
-	
-	
-
-	public void testImportToStarWithExplicit5() throws Exception {
-		
-		
-		// unrelated project, to fill the all types cache
-		IJavaProject project2 = JavaProjectHelper.createJavaProject("TestProject2", "bin");
-		try {
-			assertTrue("rt not found", JavaProjectHelper.addRTJar(project2) != null);
-			IPackageFragmentRoot sourceFolder2= JavaProjectHelper.addSourceContainer(project2, "src");
-		
-			IPackageFragment pack22= sourceFolder2.createPackageFragment("packx", false, null);
-			StringBuffer buf= new StringBuffer();
-			buf.append("package pack;\n");
-			buf.append("public class Vector {\n");
-			buf.append("}\n");
-			pack22.createCompilationUnit("List.java", buf.toString(), false, null);
-			
-			buf= new StringBuffer();
-			buf.append("package pack;\n");
-			buf.append("public class Set {\n");
-			buf.append("}\n");
-			pack22.createCompilationUnit("Set.java", buf.toString(), false, null);				
-			
-			IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-			IPackageFragment pack2= sourceFolder.createPackageFragment("pack", false, null);
-			buf= new StringBuffer();
-			buf.append("package pack;\n");
-			buf.append("public class List {\n");
-			buf.append("}\n");
-			pack2.createCompilationUnit("List.java", buf.toString(), false, null);
-		
-			IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-			buf= new StringBuffer();
-			buf.append("package pack1;\n");
-			buf.append("\n");
-			buf.append("import java.util.Set;\n");
-			buf.append("import java.util.Vector;\n");
-			buf.append("import java.util.Map;\n");
-			buf.append("\n");
-			buf.append("import pack.List;\n");
-			buf.append("\n");
-			buf.append("public class C {\n");
-			buf.append("    Vector v;\n");
-			buf.append("    Set v2;\n");
-			buf.append("    Map v3;\n");
-			buf.append("    List v4;\n");
-			buf.append("    String v6;\n");
-			buf.append("}\n");
-			ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		
-			String[] order= new String[] { "java", "pack" };
-			IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-		
-			OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 1, false, true, true, query);
-			op.run(null);
-		
-			buf= new StringBuffer();
-			buf.append("package pack1;\n");
-			buf.append("\n");
-			buf.append("import java.util.*;\n");
-			buf.append("\n");
-			buf.append("import pack.List;\n");
-			buf.append("\n");
-			buf.append("public class C {\n");
-			buf.append("    Vector v;\n");
-			buf.append("    Set v2;\n");
-			buf.append("    Map v3;\n");
-			buf.append("    List v4;\n");
-			buf.append("    String v6;\n");
-			buf.append("}\n");
-			assertEqualString(cu.getSource(), buf.toString());
-		} finally {
-			JavaProjectHelper.delete(project2);
-		}
-	}
-	
-	
-	public void testImportFromDefault() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class List1 {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List1.java", buf.toString(), false, null);
-
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List1 v4;\n");
-		buf.append("    String v5;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "pack" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 2, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import List1;\n");
-		buf.append("\n");	
-		buf.append("import java.util.*;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List1 v4;\n");
-		buf.append("    String v5;\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-
-	public void testImportFromDefaultWithStar() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class List1 {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List1.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("public class List2 {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List2.java", buf.toString(), false, null);
-
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Set;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List1 v4;\n");
-		buf.append("    List2 v5;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "pack" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 2, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import List1;\n");
-		buf.append("import List2;\n");
-		buf.append("\n");	
-		buf.append("import java.util.*;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    Vector v;\n");
-		buf.append("    Set v2;\n");
-		buf.append("    Map v3;\n");
-		buf.append("    List1 v4;\n");
-		buf.append("    List2 v5;\n");
-		buf.append("    String v6;\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testImportOfMemberFromLocal() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        class Local {\n");
-		buf.append("            class LocalMember {\n");
-		buf.append("            }\n");
-		buf.append("            LocalMember x;\n");
-		buf.append("            Vector v;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "pack" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");		
-		buf.append("public class C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        class Local {\n");
-		buf.append("            class LocalMember {\n");
-		buf.append("            }\n");
-		buf.append("            LocalMember x;\n");
-		buf.append("            Vector v;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testGroups1() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack0", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("public class List1 {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List1.java", buf.toString(), false, null);
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    File f;\n");
-		buf.append("    IOException f1;\n");
-		buf.append("    RandomAccessFile f2;\n");
-		buf.append("    ArrayList f3;\n");
-		buf.append("    List1 f4;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java.io", "java.util" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.io.File;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.io.RandomAccessFile;\n");
-		buf.append("\n");		
-		buf.append("import java.util.ArrayList;\n");						
-		buf.append("\n");
-		buf.append("import pack0.List1;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    File f;\n");
-		buf.append("    IOException f1;\n");
-		buf.append("    RandomAccessFile f2;\n");
-		buf.append("    ArrayList f3;\n");
-		buf.append("    List1 f4;\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testBaseGroups1() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack0", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("public class List1 {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("List1.java", buf.toString(), false, null);
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    File f;\n");
-		buf.append("    IOException f1;\n");
-		buf.append("    RandomAccessFile f2;\n");
-		buf.append("    ArrayList f3;\n");
-		buf.append("    List1 f4;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] { "java", "java.io" };
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.ArrayList;\n");
-		buf.append("\n");
-		buf.append("import java.io.File;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.io.RandomAccessFile;\n");
-		buf.append("\n");
-		buf.append("import pack0.List1;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("    File f;\n");
-		buf.append("    IOException f1;\n");
-		buf.append("    RandomAccessFile f2;\n");
-		buf.append("    ArrayList f3;\n");
-		buf.append("    List1 f4;\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testVisibility_bug26746() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack0", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("public interface MyInterface {\n");
-		buf.append("	public interface MyInnerInterface {\n");
-		buf.append("	}\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("MyInterface.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("\n");
-		buf.append("import pack0.MyInterface.MyInnerInterface;\n");
-		buf.append("public class MyClass implements MyInterface {\n");
-		buf.append("	public MyInnerInterface myMethod() {\n");
-		buf.append("		return null;\n");
-		buf.append("	}\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack2.createCompilationUnit("MyClass.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] {};
-		IChooseImportQuery query= createQuery("MyClass", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("\n");
-		buf.append("public class MyClass implements MyInterface {\n");
-		buf.append("	public MyInnerInterface myMethod() {\n");
-		buf.append("		return null;\n");
-		buf.append("	}\n");
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testVisibility_bug37299a() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("public class ClusterSingletonStepped {\n");
-		buf.append("	public interface SingletonStep {\n");
-		buf.append("	}\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("ClusterSingletonStepped.java", buf.toString(), false, null);
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack0", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("\n");
-		buf.append("import pack1.ClusterSingletonStepped;\n");
-		buf.append("import pack1.ClusterSingletonStepped.SingletonStep;\n");
-		buf.append("\n");
-		buf.append("public class TestFile extends ClusterSingletonStepped implements SingletonStep {\n");
-		buf.append("    SingletonStep step;\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack2.createCompilationUnit("TestFile.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] {};
-		IChooseImportQuery query= createQuery("TestFile", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("\n");
-		buf.append("import pack1.ClusterSingletonStepped;\n");
-		buf.append("import pack1.ClusterSingletonStepped.SingletonStep;\n");
-		buf.append("\n");
-		buf.append("public class TestFile extends ClusterSingletonStepped implements SingletonStep {\n");
-		buf.append("    SingletonStep step;\n");	
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testVisibility_bug37299b() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("public class ClusterSingletonStepped {\n");
-		buf.append("	public interface SingletonStep {\n");
-		buf.append("	}\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("ClusterSingletonStepped.java", buf.toString(), false, null);
-
-		IPackageFragment pack2= sourceFolder.createPackageFragment("pack0", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("\n");
-		buf.append("import pack1.ClusterSingletonStepped;\n");
-		buf.append("import pack1.ClusterSingletonStepped.SingletonStep;\n");
-		buf.append("\n");
-		buf.append("public class TestFile extends ClusterSingletonStepped {\n");
-		buf.append("    SingletonStep step;\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack2.createCompilationUnit("TestFile.java", buf.toString(), false, null);
-
-
-		String[] order= new String[] {};
-		IChooseImportQuery query= createQuery("TestFile", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack0;\n");
-		buf.append("\n");
-		buf.append("import pack1.ClusterSingletonStepped;\n");
-		buf.append("\n");
-		buf.append("public class TestFile extends ClusterSingletonStepped {\n");
-		buf.append("    SingletonStep step;\n");	
-		buf.append("}\n");
-		assertEqualString(cu.getSource(), buf.toString());
-	}		
-	
-	
-	public void test5() throws Exception {
-	
-		String[] types= new String[] {
-			"org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader",
-			"org.eclipse.core.resources.IContainer",
-			"org.eclipse.core.runtime.IPath",
-			"org.eclipse.core.runtime.CoreException",
-			"org.eclipse.core.resources.IResource",
-			"org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer"
-		};
-		String[] order= new String[] { "org.eclipse.jdt", "org.eclipse" };
-		
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		for (int i= 0; i < types.length; i++) {
-			String pack= Signature.getQualifier(types[i]);
-			String name= Signature.getSimpleName(types[i]);
-			
-			IPackageFragment pack2= sourceFolder.createPackageFragment(pack, false, null);
-			StringBuffer buf= new StringBuffer();
-			buf.append("package "); buf.append(pack); buf.append(";\n");
-			buf.append("public class "); buf.append(name); buf.append(" {\n");
-			buf.append("}\n");
-			pack2.createCompilationUnit(name + ".java", buf.toString(), false, null);		
-		}
-	
-		StringBuffer body= new StringBuffer();
-		body.append("public class C {\n");
-		for (int i= 0; i < types.length; i++) {
-			String name= Signature.getSimpleName(types[i]);
-			body.append(name); body.append(" a"); body.append(i); body.append(";\n");
-		}
-		body.append("}\n");		
-	
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append(body.toString());
-		
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, 99, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");		
-		buf.append("import org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader;\n");
-		buf.append("import org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer;\n");
-		buf.append("\n");
-		buf.append("import org.eclipse.core.resources.IContainer;\n");
-		buf.append("import org.eclipse.core.resources.IResource;\n");
-		buf.append("import org.eclipse.core.runtime.CoreException;\n");
-		buf.append("import org.eclipse.core.runtime.IPath;\n");
-		buf.append("\n");
-		buf.append(body.toString());
-		
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void test_bug25773() throws Exception {
-
-		String[] types= new String[] {
-			"java.util.Vector",
-			"java.util.Map",
-			"java.util.Set",
-			"org.eclipse.gef.X1",
-			"org.eclipse.gef.X2",
-			"org.eclipse.gef.X3",						
-			"org.eclipse.core.runtime.IAdaptable",
-			"org.eclipse.draw2d.IFigure",
-			"org.eclipse.draw2d.LayoutManager",			
-			"org.eclipse.draw2d.geometry.Point",
-			"org.eclipse.draw2d.geometry.Rectangle",
-			"org.eclipse.swt.accessibility.ACC",
-			"org.eclipse.swt.accessibility.AccessibleControlEvent"
-		};
-		
-		String[] order= new String[] { "java", "org.eclipse", "org.eclipse.gef", "org.eclipse.draw2d", "org.eclipse.gef.examples" };
-		int threshold= 3;
-
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		for (int i= 0; i < types.length; i++) {
-			String pack= Signature.getQualifier(types[i]);
-			if (!pack.startsWith("java.")) {
-				String name= Signature.getSimpleName(types[i]);
-	
-				IPackageFragment pack2= sourceFolder.createPackageFragment(pack, false, null);
-				StringBuffer buf= new StringBuffer();
-				buf.append("package "); buf.append(pack); buf.append(";\n");
-				buf.append("public class "); buf.append(name); buf.append(" {\n");
-				buf.append("}\n");
-				pack2.createCompilationUnit(name + ".java", buf.toString(), false, null);
-			}
-		}
-
-		StringBuffer body= new StringBuffer();
-		body.append("public class C {\n");
-		for (int i= 0; i < types.length; i++) {
-			String name= Signature.getSimpleName(types[i]);
-			body.append(name); body.append(" a"); body.append(i); body.append(";\n");
-		}
-		body.append("}\n");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append(body.toString());
-
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, threshold, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import java.util.*;\n");
-		buf.append("\n");
-		buf.append("import org.eclipse.core.runtime.IAdaptable;\n");
-		buf.append("import org.eclipse.swt.accessibility.ACC;\n");
-		buf.append("import org.eclipse.swt.accessibility.AccessibleControlEvent;\n");
-		buf.append("\n");		
-		buf.append("import org.eclipse.gef.*;\n");
-		buf.append("\n");
-		buf.append("import org.eclipse.draw2d.IFigure;\n");
-		buf.append("import org.eclipse.draw2d.LayoutManager;\n");
-		buf.append("import org.eclipse.draw2d.geometry.Point;\n");
-		buf.append("import org.eclipse.draw2d.geometry.Rectangle;\n");
-		buf.append("\n");
-		buf.append(body.toString());
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void test_bug25113() throws Exception {
-
-		String[] types= new String[] {
-			"com.mycompany.Class1",
-			"com.foreigncompany.Class2",
-			"com.foreigncompany.Class3",
-			"com.mycompany.Class4",
-			"com.misc.Class5"
-		};
-
-		String[] order= new String[] { "com", "com.foreigncompany", "com.mycompany" };
-		int threshold= 99;
-
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		for (int i= 0; i < types.length; i++) {
-			String pack= Signature.getQualifier(types[i]);
-			if (!pack.startsWith("java.")) {
-				String name= Signature.getSimpleName(types[i]);
-
-				IPackageFragment pack2= sourceFolder.createPackageFragment(pack, false, null);
-				StringBuffer buf= new StringBuffer();
-				buf.append("package "); buf.append(pack); buf.append(";\n");
-				buf.append("public class "); buf.append(name); buf.append(" {\n");
-				buf.append("}\n");
-				pack2.createCompilationUnit(name + ".java", buf.toString(), false, null);
-			}
-		}
-
-		StringBuffer body= new StringBuffer();
-		body.append("public class C {\n");
-		for (int i= 0; i < types.length; i++) {
-			String name= Signature.getSimpleName(types[i]);
-			body.append(name); body.append(" a"); body.append(i); body.append(";\n");
-		}
-		body.append("}\n");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append(body.toString());
-
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		IChooseImportQuery query= createQuery("C", new String[] {}, new int[] {});
-
-		OrganizeImportsOperation op= new OrganizeImportsOperation(cu, order, threshold, false, true, true, query);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("import com.misc.Class5;\n");
-		buf.append("\n");
-		buf.append("import com.foreigncompany.Class2;\n");
-		buf.append("import com.foreigncompany.Class3;\n");
-		buf.append("\n");
-		buf.append("import com.mycompany.Class1;\n");
-		buf.append("import com.mycompany.Class4;\n");
-		buf.append("\n");
-		buf.append(body.toString());
-		assertEqualString(cu.getSource(), buf.toString());
-	}
-	
-	public void testImportStructureOnNonExistingCU() throws Exception {
-	
-		IJavaProject project1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(project1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		ICompilationUnit unit= pack1.getCompilationUnit("A.java");
-		unit.becomeWorkingCopy(null, null);
-		try {
-			StringBuffer buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("public class A {\n");
-			buf.append("    public Object foo() {\n");
-			buf.append("    }\n");
-			buf.append("}\n");	
-			unit.getBuffer().setContents(buf.toString());
-			
-			String[] order= new String[] { "com", "com.foreigncompany", "com.mycompany" };
-			int threshold= 99;
-	
-			ImportsStructure importsStructure= new ImportsStructure(unit, order, threshold, true);
-			importsStructure.addImport("java.util.HashMap");
-			importsStructure.create(false, null);
-	
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("\n");
-			buf.append("import java.util.HashMap;\n");
-			buf.append("\n");		
-			buf.append("public class A {\n");
-			buf.append("    public Object foo() {\n");
-			buf.append("    }\n");
-			buf.append("}\n");	
-			
-			assertEqualStringIgnoreDelim(unit.getSource(), buf.toString());
-		} finally {
-			unit.discardWorkingCopy();
-		}
-	}
-	
-	public void testOrganizeImportOnRange() throws Exception {
-	
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("        HashMap map;\n");
-		buf.append("        /*b*/\n");
-		buf.append("        Iterator iter= ((Collection) vec).iterator();\n");
-		buf.append("        /*e*/\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", content, false, null);
-
-		int start= content.indexOf("/*b*/");
-		int end= content.indexOf("/*e*/");
-		Selection sel= Selection.createFromStartEnd(start, end);
-
-		String[] order= new String[] { };
-		int threshold= 99;
-				
-		ImportsStructure structure= new ImportsStructure(cu, order, threshold, true);
-		OrganizeImportsOperation op= new OrganizeImportsOperation(structure, sel, true, true, null);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Collection;\n");
-		buf.append("import java.util.Iterator;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("        HashMap map;\n");
-		buf.append("        /*b*/\n");
-		buf.append("        Iterator iter= ((Collection) vec).iterator();\n");
-		buf.append("        /*e*/\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualStringIgnoreDelim(cu.getSource(), buf.toString());
-
-	}
-	
-	public void testOrganizeImportOnRange2() throws Exception {
-	
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("        /*b*/HashMap map;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("A.java", content, false, null);
-
-		int start= content.indexOf("/*b*/");
-		Selection sel= Selection.createFromStartLength(start, 5);
-
-		String[] order= new String[] { };
-		int threshold= 99;
-				
-		ImportsStructure structure= new ImportsStructure(cu, order, threshold, true);
-		OrganizeImportsOperation op= new OrganizeImportsOperation(structure, sel, true, true, null);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("        /*b*/HashMap map;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualStringIgnoreDelim(cu.getSource(), buf.toString());
-		
-		sel= Selection.createFromStartLength(start, 9);
-		
-		structure= new ImportsStructure(cu, order, threshold, true);
-		op= new OrganizeImportsOperation(structure, sel, true, true, null);
-		op.run(null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.HashMap;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Map;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("        /*b*/HashMap map;\n");
-		buf.append("    }\n");
-		buf.append("}\n");	
-		assertEqualStringIgnoreDelim(cu.getSource(), buf.toString());		
-
-	}			
-	
-		
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/JavaElementLabelsTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/JavaElementLabelsTest.java
deleted file mode 100644
index 5aab6bb..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/JavaElementLabelsTest.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-
-import org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels;
-
-public class JavaElementLabelsTest extends CoreTests {
-	
-	private static final Class THIS= JavaElementLabelsTest.class;
-	
-	private IJavaProject fJProject1;
-
-	public JavaElementLabelsTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new JavaElementLabelsTest("testOrganizeImportOnRange2"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-
-	protected void setUp() throws Exception {
-		fJProject1= ProjectTestSetup.getProject();
-		
-		IPreferenceStore store= PreferenceConstants.getPreferenceStore();
-		store.setValue(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES, false);
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-		
-	public void testTypeLabelOuter() throws Exception {
-	
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("org.test", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package org.test;\n");
-		buf.append("public class Outer {\n");
-		buf.append("}\n");	
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("Outer.java", content, false, null);
-
-		IJavaElement elem= cu.getElementAt(content.indexOf("Outer"));
-		String lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED);
-		assertEqualString(lab, "org.test.Outer");
-
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_CONTAINER_QUALIFIED);
-		assertEqualString(lab, "Outer");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_POST_QUALIFIED);
-		assertEqualString(lab, "Outer - org.test");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.APPEND_ROOT_PATH);
-		assertEqualString(lab, "org.test.Outer - TestSetupProject/src");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.PREPEND_ROOT_PATH);
-		assertEqualString(lab, "TestSetupProject/src - org.test.Outer");
-	}
-	
-	public void testTypeLabelInner() throws Exception {
-		
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("org.test", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package org.test;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class Outer {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("    }\n");
-		buf.append("    public class Inner {\n");
-		buf.append("        public int inner(Vector vec) {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");	
-		buf.append("}\n");	
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("Outer.java", content, false, null);
-
-		IJavaElement elem= cu.getElementAt(content.indexOf("Inner"));
-		String lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED);
-		assertEqualString(lab, "org.test.Outer.Inner");
-
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_CONTAINER_QUALIFIED);
-		assertEqualString(lab, "Outer.Inner");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_POST_QUALIFIED);
-		assertEqualString(lab, "Inner - org.test.Outer");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.APPEND_ROOT_PATH);
-		assertEqualString(lab, "org.test.Outer.Inner - TestSetupProject/src");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.PREPEND_ROOT_PATH);
-		assertEqualString(lab, "TestSetupProject/src - org.test.Outer.Inner");
-	}
-	
-	public void testTypeLabelLocal() throws Exception {
-		
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("org.test", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package org.test;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class Outer {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("        public class Local {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");	
-		buf.append("}\n");	
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("Outer.java", content, false, null);
-
-		IJavaElement elem= cu.getElementAt(content.indexOf("Local"));
-		String lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED);
-		assertEqualString(lab, "org.test.Outer.foo(..).Local");
-
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_CONTAINER_QUALIFIED);
-		assertEqualString(lab, "Outer.foo(..).Local");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_POST_QUALIFIED);
-		assertEqualString(lab, "Local - org.test.Outer.foo(..)");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.APPEND_ROOT_PATH);
-		assertEqualString(lab, "org.test.Outer.foo(..).Local - TestSetupProject/src");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.PREPEND_ROOT_PATH);
-		assertEqualString(lab, "TestSetupProject/src - org.test.Outer.foo(..).Local");
-	}
-	
-	public void testTypeLabelAnonymous() throws Exception {
-		
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("org.test", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package org.test;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class Outer {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("        new Object() {\n");
-		buf.append("        };\n");
-		buf.append("    }\n");	
-		buf.append("}\n");	
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("Outer.java", content, false, null);
-
-		IJavaElement elem= cu.getElementAt(content.indexOf("Object"));
-		String lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED);
-		assertEqualString(lab, "org.test.Outer.foo(..).new Object() {..}");
-
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_CONTAINER_QUALIFIED);
-		assertEqualString(lab, "Outer.foo(..).new Object() {..}");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_POST_QUALIFIED);
-		assertEqualString(lab, "new Object() {..} - org.test.Outer.foo(..)");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.APPEND_ROOT_PATH);
-		assertEqualString(lab, "org.test.Outer.foo(..).new Object() {..} - TestSetupProject/src");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.PREPEND_ROOT_PATH);
-		assertEqualString(lab, "TestSetupProject/src - org.test.Outer.foo(..).new Object() {..}");
-	}
-	
-	public void testTypeLabelAnonymousInAnonymous() throws Exception {
-		
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("org.test", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package org.test;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class Outer {\n");
-		buf.append("    public void foo(Vector vec) {\n");
-		buf.append("        new Object() {\n");
-		buf.append("            public void xoo() {\n");
-		buf.append("                new Serializable() {\n");
-		buf.append("                };\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");	
-		buf.append("}\n");	
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("Outer.java", content, false, null);
-
-		IJavaElement elem= cu.getElementAt(content.indexOf("Serializable"));
-		String lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED);
-		assertEqualString(lab, "org.test.Outer.foo(..).new Object() {..}.xoo().new Serializable() {..}");
-
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_CONTAINER_QUALIFIED);
-		assertEqualString(lab, "Outer.foo(..).new Object() {..}.xoo().new Serializable() {..}");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_POST_QUALIFIED);
-		assertEqualString(lab, "new Serializable() {..} - org.test.Outer.foo(..).new Object() {..}.xoo()");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.APPEND_ROOT_PATH);
-		assertEqualString(lab, "org.test.Outer.foo(..).new Object() {..}.xoo().new Serializable() {..} - TestSetupProject/src");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.PREPEND_ROOT_PATH);
-		assertEqualString(lab, "TestSetupProject/src - org.test.Outer.foo(..).new Object() {..}.xoo().new Serializable() {..}");
-	}
-	
-	public void testTypeLabelAnonymousInFieldInitializer() throws Exception {
-		
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("org.test", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package org.test;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class Outer {\n");
-		buf.append("    Object o= new Thread() {\n");
-		buf.append("    };\n");	
-		buf.append("}\n");	
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("Outer.java", content, false, null);
-
-		IJavaElement elem= cu.getElementAt(content.indexOf("Thread"));
-		String lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED);
-		assertEqualString(lab, "org.test.Outer.o.new Thread() {..}");
-
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_CONTAINER_QUALIFIED);
-		assertEqualString(lab, "Outer.o.new Thread() {..}");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_POST_QUALIFIED);
-		assertEqualString(lab, "new Thread() {..} - org.test.Outer.o");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.APPEND_ROOT_PATH);
-		assertEqualString(lab, "org.test.Outer.o.new Thread() {..} - TestSetupProject/src");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.PREPEND_ROOT_PATH);
-		assertEqualString(lab, "TestSetupProject/src - org.test.Outer.o.new Thread() {..}");
-	}
-	
-	public void testTypeLabelAnonymousInInitializer() throws Exception {
-		
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		IPackageFragment pack1= sourceFolder.createPackageFragment("org.test", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package org.test;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class Outer {\n");
-		buf.append("    static {\n");
-		buf.append("        new Object() {\n");
-		buf.append("        };\n");
-		buf.append("    }\n");	
-		buf.append("}\n");		
-		String content= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("Outer.java", content, false, null);
-
-		IJavaElement elem= cu.getElementAt(content.indexOf("Object"));
-		String lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED);
-		assertEqualString(lab, "org.test.Outer.{...}.new Object() {..}");
-
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_CONTAINER_QUALIFIED);
-		assertEqualString(lab, "Outer.{...}.new Object() {..}");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_POST_QUALIFIED);
-		assertEqualString(lab, "new Object() {..} - org.test.Outer.{...}");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.APPEND_ROOT_PATH);
-		assertEqualString(lab, "org.test.Outer.{...}.new Object() {..} - TestSetupProject/src");
-		
-		lab= JavaElementLabels.getTextLabel(elem, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.PREPEND_ROOT_PATH);
-		assertEqualString(lab, "TestSetupProject/src - org.test.Outer.{...}.new Object() {..}");
-	}
-			
-	
-		
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/JavaModelUtilTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/JavaModelUtilTest.java
deleted file mode 100644
index 6a6ca4f..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/JavaModelUtilTest.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-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.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.Signature;
-
-import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
-
-public class JavaModelUtilTest extends TestCase {
-	
-	private static final Class THIS= JavaModelUtilTest.class;
-	
-	private IJavaProject fJProject1;
-	private IJavaProject fJProject2;
-
-	private boolean fEnableAutoBuildAfterTesting;
-
-	private static final IPath LIB= new Path("testresources/mylib.jar");
-
-	public JavaModelUtilTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new JavaModelUtilTest("testFindType"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-
-	protected void setUp() throws Exception {
-		IWorkspace workspace= JavaTestPlugin.getWorkspace();
-		assertNotNull(workspace);
-
-		// disable auto-build
-		IWorkspaceDescription workspaceDesc= workspace.getDescription();
-		if (workspaceDesc.isAutoBuilding()) {
-			fEnableAutoBuildAfterTesting= true;
-			JavaProjectHelper.setAutoBuilding(false);
-		}
-		
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		fJProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");
-
-		IPackageFragmentRoot jdk= JavaProjectHelper.addVariableRTJar(fJProject1, "JRE_LIB_TEST", null, null);
-		assertTrue("jdk not found", jdk != null);
-
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
-
-		JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);
-
-		File mylibJar= JavaTestPlugin.getDefault().getFileInPlugin(LIB);
-		assertTrue("lib not found", junitSrcArchive != null && junitSrcArchive.exists());
-		
-		JavaProjectHelper.addLibraryWithImport(fJProject1, new Path(mylibJar.getPath()), null, null);
-
-		JavaProjectHelper.addVariableEntry(fJProject2, new Path("JRE_LIB_TEST"), null, null);
-
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJProject2, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		ICompilationUnit cu1= pack1.getCompilationUnit("ReqProjType.java");
-		cu1.createType("public class ReqProjType { static class Inner { static class InnerInner {} }\n}\n", null, true, null);
-
-		JavaProjectHelper.addRequiredProject(fJProject1, fJProject2);
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.delete(fJProject1);
-		JavaProjectHelper.delete(fJProject2);
-
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);
-	}
-
-
-	private void assertElementName(String name, IJavaElement elem, int type) {
-		assertNotNull(name, elem);
-		assertEquals(name + "-name", name, elem.getElementName());
-		assertTrue(name + "-type", type == elem.getElementType());
-	}
-
-	public void testFindType() throws Exception {
-		IType type= JavaModelUtil.findType(fJProject1, "junit.extensions.ExceptionTestCase");
-		assertElementName("ExceptionTestCase", type, IJavaElement.TYPE);
-
-		type= JavaModelUtil.findType(fJProject1, "junit.samples.money.IMoney");
-		assertElementName("IMoney", type, IJavaElement.TYPE);	
-
-		type= JavaModelUtil.findType(fJProject1, "junit.tests.TestCaseTest.TornDown");
-		assertElementName("TornDown", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "mylib.Foo");
-		assertElementName("Foo", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "mylib.Foo.FooInner");
-		assertElementName("FooInner", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "mylib.Foo.FooInner.FooInnerInner");
-		assertElementName("FooInnerInner", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "pack1.ReqProjType");
-		assertElementName("ReqProjType", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "pack1.ReqProjType.Inner");
-		assertElementName("Inner", type, IJavaElement.TYPE);	
-
-		type= JavaModelUtil.findType(fJProject1, "pack1.ReqProjType.Inner.InnerInner");
-		assertElementName("InnerInner", type, IJavaElement.TYPE);	
-	}
-	
-	/**
-	 * @deprecated Tests a deprecated method
-	 */
-	public void testFindType2() throws Exception {
-		IType type= JavaModelUtil.findType(fJProject1, "junit.extensions", "ExceptionTestCase");
-		assertElementName("ExceptionTestCase", type, IJavaElement.TYPE);
-
-		type= JavaModelUtil.findType(fJProject1, "junit.samples.money" , "IMoney");
-		assertElementName("IMoney", type, IJavaElement.TYPE);	
-
-		type= JavaModelUtil.findType(fJProject1, "junit.tests", "TestCaseTest.TornDown");
-		assertElementName("TornDown", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "mylib" , "Foo");
-		assertElementName("Foo", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "mylib", "Foo.FooInner");
-		assertElementName("FooInner", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "mylib", "Foo.FooInner.FooInnerInner");
-		assertElementName("FooInnerInner", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "pack1", "ReqProjType");
-		assertElementName("ReqProjType", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findType(fJProject1, "pack1", "ReqProjType.Inner");
-		assertElementName("Inner", type, IJavaElement.TYPE);	
-
-		type= JavaModelUtil.findType(fJProject1, "pack1", "ReqProjType.Inner.InnerInner");
-		assertElementName("InnerInner", type, IJavaElement.TYPE);				
-	}
-	
-	public void testFindTypeContainer() throws Exception {
-		IJavaElement elem= JavaModelUtil.findTypeContainer(fJProject1, "junit.extensions");
-		assertElementName("junit.extensions", elem, IJavaElement.PACKAGE_FRAGMENT);
-
-		elem= JavaModelUtil.findTypeContainer(fJProject1, "junit.tests.TestCaseTest");
-		assertElementName("TestCaseTest", elem, IJavaElement.TYPE);
-		
-		elem= JavaModelUtil.findTypeContainer(fJProject1, "mylib" );
-		assertElementName("mylib", elem, IJavaElement.PACKAGE_FRAGMENT);
-		
-		elem= JavaModelUtil.findTypeContainer(fJProject1, "mylib.Foo");
-		assertElementName("Foo", elem, IJavaElement.TYPE);
-		
-		elem= JavaModelUtil.findTypeContainer(fJProject1, "mylib.Foo.FooInner");
-		assertElementName("FooInner", elem, IJavaElement.TYPE);
-		
-		elem= JavaModelUtil.findTypeContainer(fJProject1, "pack1");
-		assertElementName("pack1", elem, IJavaElement.PACKAGE_FRAGMENT);
-		
-		elem= JavaModelUtil.findTypeContainer(fJProject1, "pack1.ReqProjType");
-		assertElementName("ReqProjType", elem, IJavaElement.TYPE);	
-
-		elem= JavaModelUtil.findTypeContainer(fJProject1, "pack1.ReqProjType.Inner");
-		assertElementName("Inner", elem, IJavaElement.TYPE);				
-	}
-	
-	public void testFindTypeInCompilationUnit() throws Exception {
-		ICompilationUnit cu= (ICompilationUnit) fJProject1.findElement(new Path("junit/tests/TestCaseTest.java"));
-		assertElementName("TestCaseTest.java", cu, IJavaElement.COMPILATION_UNIT);
-		
-		IType type= JavaModelUtil.findTypeInCompilationUnit(cu, "TestCaseTest");
-		assertElementName("TestCaseTest", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findTypeInCompilationUnit(cu, "TestCaseTest.TornDown");
-		assertElementName("TornDown", type, IJavaElement.TYPE);
-		
-		cu= (ICompilationUnit) fJProject1.findElement(new Path("pack1/ReqProjType.java"));
-		assertElementName("ReqProjType.java", cu, IJavaElement.COMPILATION_UNIT);
-		
-		type= JavaModelUtil.findTypeInCompilationUnit(cu, "ReqProjType");
-		assertElementName("ReqProjType", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findTypeInCompilationUnit(cu, "ReqProjType.Inner");
-		assertElementName("Inner", type, IJavaElement.TYPE);
-		
-		type= JavaModelUtil.findTypeInCompilationUnit(cu, "ReqProjType.Inner.InnerInner");
-		assertElementName("InnerInner", type, IJavaElement.TYPE);		
-	}
-	
-	public void testFindMemberInCompilationUnit() throws Exception {
-		ICompilationUnit cu= (ICompilationUnit) fJProject1.findElement(new Path("junit/tests/TestCaseTest.java"));
-		assertElementName("TestCaseTest.java", cu, IJavaElement.COMPILATION_UNIT);
-		ArrayList children= new ArrayList();
-		
-		IType type= JavaModelUtil.findTypeInCompilationUnit(cu, "TestCaseTest");
-		assertElementName("TestCaseTest", type, IJavaElement.TYPE);
-		
-		children.addAll(Arrays.asList(type.getChildren()));
-		
-		type= JavaModelUtil.findTypeInCompilationUnit(cu, "TestCaseTest.TornDown");
-		assertElementName("TornDown", type, IJavaElement.TYPE);
-		
-		children.addAll(Arrays.asList(type.getChildren()));
-		
-		assertTrue("a", children.size() == 19);
-
-		for (int i= 0; i < children.size(); i++) {
-			Object curr= children.get(i);
-			assertTrue("b", curr instanceof IMember);
-			IMember member= JavaModelUtil.findMemberInCompilationUnit(cu, (IMember) curr);
-			assertEquals("b-" + i, curr, member);
-		}
-	}
-	
-	private void assertClasspathEntry(String name, IJavaElement elem, IPath path, int type) throws Exception {
-		IPackageFragmentRoot root= JavaModelUtil.getPackageFragmentRoot(elem);
-		assertNotNull(name + "-noroot", root);
-		IClasspathEntry entry= root.getRawClasspathEntry();
-		assertNotNull(name + "-nocp", entry);
-		assertEquals(name + "-wrongpath", entry.getPath(), path);
-		assertTrue(name + "-wrongtype", type == entry.getEntryKind());
-	}
-	
-	public void testGetRawClasspathEntry() throws Exception {
-		IType type= JavaModelUtil.findType(fJProject1, "junit.extensions.ExceptionTestCase");
-		assertElementName("ExceptionTestCase", type, IJavaElement.TYPE);
-		IPath path= fJProject1.getProject().getFullPath().append("src");
-		assertClasspathEntry("ExceptionTestCase", type, path, IClasspathEntry.CPE_SOURCE);
-		
-		type= JavaModelUtil.findType(fJProject1, "mylib.Foo");
-		assertElementName("Foo", type, IJavaElement.TYPE);
-		path= fJProject1.getProject().getFullPath().append(LIB.lastSegment());
-		assertClasspathEntry("Foo", type, path, IClasspathEntry.CPE_LIBRARY);
-		
-		type= JavaModelUtil.findType(fJProject1, "java.lang.Object");
-		assertElementName("Object", type, IJavaElement.TYPE);
-		path= new Path("JRE_LIB_TEST");
-		assertClasspathEntry("Object", type, path, IClasspathEntry.CPE_VARIABLE);
-	
-		type= JavaModelUtil.findType(fJProject1, "pack1.ReqProjType");
-		assertElementName("ReqProjType", type, IJavaElement.TYPE);
-		path= fJProject2.getProject().getFullPath().append("src");
-		assertClasspathEntry("ReqProjType", type, path, IClasspathEntry.CPE_SOURCE);		
-	}
-
-	/**
-	 * @deprecated Tests a deprecated method
-	 */	
-	public void testIsOnBuildPath() throws Exception {
-		IType type= JavaModelUtil.findType(fJProject1, "junit.extensions.ExceptionTestCase");
-		assertElementName("ExceptionTestCase", type, IJavaElement.TYPE);
-		assertTrue("ExceptionTestCase-bp1", JavaModelUtil.isOnBuildPath(fJProject1, type));
-		assertTrue("ExceptionTestCase-bp2", !JavaModelUtil.isOnBuildPath(fJProject2, type));
-		
-		type= JavaModelUtil.findType(fJProject1, "java.lang.Object");
-		assertElementName("Object", type, IJavaElement.TYPE);		
-		assertTrue("Object-bp1", JavaModelUtil.isOnBuildPath(fJProject1, type));
-		// relies on shared objects for library entries
-		assertTrue("Object-bp2", JavaModelUtil.isOnBuildPath(fJProject2, type));			
-		
-		type= JavaModelUtil.findType(fJProject1, "pack1.ReqProjType");
-		assertElementName("ReqProjType", type, IJavaElement.TYPE);
-		assertTrue("ReqProjType-bp1", JavaModelUtil.isOnBuildPath(fJProject1, type));
-		// relies on shared objects for project entries
-		assertTrue("ReqProjType-bp2", JavaModelUtil.isOnBuildPath(fJProject2, type));		
-	}
-	
-	private void assertFindMethod(String methName, String[] paramTypeNames, boolean isConstructor, IType type) throws Exception {
-		String[] sig= new String[paramTypeNames.length];
-		for (int i= 0; i < paramTypeNames.length; i++) {
-			// create as unresolved
-			String name= Signature.getSimpleName(paramTypeNames[i]);
-			sig[i]= Signature.createTypeSignature(name, false);
-			assertNotNull(methName + "-ts1" + i, sig[i]);
-		}
-		IMethod meth= JavaModelUtil.findMethod(methName, sig, isConstructor, type);
-		assertElementName(methName, meth, IJavaElement.METHOD);
-		assertTrue("methName-nparam1", meth.getParameterTypes().length == paramTypeNames.length);
-		
-		for (int i= 0; i < paramTypeNames.length; i++) {
-			// create as resolved
-			sig[i]= Signature.createTypeSignature(paramTypeNames[i], true);
-			assertNotNull(methName + "-ts2" + i, sig[i]);
-		}		
-		meth= JavaModelUtil.findMethod(methName, sig, isConstructor, type);
-		assertElementName(methName, meth, IJavaElement.METHOD);
-		assertTrue("methName-nparam2", meth.getParameterTypes().length == paramTypeNames.length);
-	}
-	
-	public void testFindMethod() throws Exception {
-		IType type= JavaModelUtil.findType(fJProject1, "junit.framework.Assert");
-		assertElementName("Assert", type, IJavaElement.TYPE);
-		
-		assertFindMethod("assertNotNull", new String[] { "java.lang.Object" }, false, type);
-		assertFindMethod("assertNotNull", new String[] { "java.lang.String", "java.lang.Object" }, false, type);
-		assertFindMethod("assertEquals", new String[] { "java.lang.String", "double", "double", "double" }, false, type);
-		assertFindMethod("assertEquals", new String[] { "java.lang.String", "long", "long" }, false, type);
-		assertFindMethod("Assert", new String[0], true, type);
-
-		type= JavaModelUtil.findType(fJProject1, "junit.samples.money.MoneyTest");
-		assertElementName("MoneyTest", type, IJavaElement.TYPE);
-
-		assertFindMethod("main", new String[] { "java.lang.String[]" }, false, type);
-		assertFindMethod("setUp", new String[0] , false, type);
-		assertFindMethod("MoneyTest", new String[] { "java.lang.String" } , true, type);
-	}
-
-	private void assertFindMethodInHierarchy(String methName, String[] paramTypeNames, boolean isConstructor, IType type, String declaringTypeName) throws Exception {
-		ITypeHierarchy hierarchy= type.newSupertypeHierarchy(null);
-		
-		String[] sig= new String[paramTypeNames.length];
-		for (int i= 0; i < paramTypeNames.length; i++) {
-			// create as unresolved
-			String name= Signature.getSimpleName(paramTypeNames[i]);
-			sig[i]= Signature.createTypeSignature(name, false);
-			assertNotNull(methName + "-ts1" + i, sig[i]);
-		}
-		IMethod meth= JavaModelUtil.findMethodDeclarationInHierarchy(hierarchy, type, methName, sig, isConstructor);
-		assertElementName(methName, meth, IJavaElement.METHOD);
-		assertTrue("methName-nparam1", meth.getParameterTypes().length == paramTypeNames.length);
-		assertEquals("methName-decltype", declaringTypeName, JavaModelUtil.getFullyQualifiedName(meth.getDeclaringType()));
-		
-		for (int i= 0; i < paramTypeNames.length; i++) {
-			// create as resolved
-			sig[i]= Signature.createTypeSignature(paramTypeNames[i], true);
-			assertNotNull(methName + "-ts2" + i, sig[i]);
-		}		
-		meth= JavaModelUtil.findMethodDeclarationInHierarchy(hierarchy, type, methName, sig, isConstructor);
-		assertElementName(methName, meth, IJavaElement.METHOD);
-		assertTrue("methName-nparam2", meth.getParameterTypes().length == paramTypeNames.length);
-		assertEquals("methName-decltype", declaringTypeName, JavaModelUtil.getFullyQualifiedName(meth.getDeclaringType()));
-	}
-
-	public void testFindMethodInHierarchy() throws Exception {
-		IType type= JavaModelUtil.findType(fJProject1, "junit.extensions.TestSetup");
-		assertElementName("TestSetup", type, IJavaElement.TYPE);		
-		
-		assertFindMethodInHierarchy("run", new String[] { "junit.framework.TestResult" }, false, type, "junit.framework.Test");
-		assertFindMethodInHierarchy("toString", new String[] {} , false, type, "java.lang.Object");
-	}
-	
-	public void testHasMainMethod() throws Exception {
-		IType type= JavaModelUtil.findType(fJProject1, "junit.samples.money.MoneyTest");
-		assertElementName("MoneyTest", type, IJavaElement.TYPE);
-		
-		assertTrue("MoneyTest-nomain", JavaModelUtil.hasMainMethod(type));
-		
-		type= JavaModelUtil.findType(fJProject1, "junit.framework.TestResult");
-		assertElementName("TestResult", type, IJavaElement.TYPE);
-		
-		assertTrue("TestResult-hasmain", !JavaModelUtil.hasMainMethod(type));
-		
-		type= JavaModelUtil.findType(fJProject1, "junit.samples.VectorTest");
-		assertElementName("VectorTest", type, IJavaElement.TYPE);
-		
-		assertTrue("VectorTest-nomain", JavaModelUtil.hasMainMethod(type));
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/NameProposerTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/NameProposerTest.java
deleted file mode 100644
index afa77c5..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/NameProposerTest.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.ui.tests.core;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.Preferences;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.internal.corext.codemanipulation.GetterSetterUtil;
-
-
-public class NameProposerTest extends TestCase {
-	
-	private static final Class THIS= NameProposerTest.class;
-
-	private IJavaProject fJProject1;
-
-	public NameProposerTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new TestSuite(THIS);
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new NameProposerTest("testGetterSetterName"));
-			return suite;
-		}	
-	}
-
-	protected void setUp() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		assertTrue("rt not found", JavaProjectHelper.addRTJar(fJProject1) != null);
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.delete(fJProject1);
-	}
-
-
-	public void testGetterSetterName() throws Exception {
-		IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-
-		IPackageFragment pack1= sourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public class C {\n");
-		buf.append("  int fCount;\n");
-		buf.append("  static int fgSingleton;\n");		
-		buf.append("  int foo;\n");
-		buf.append("\n");		
-		buf.append("  boolean fBlue;\n");		
-		buf.append("  boolean modified;\n");
-		buf.append("  boolean isTouched;\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		IType type= cu.getType("C");
-		
-		Preferences corePrefs= JavaCore.getPlugin().getPluginPreferences();
-		corePrefs.setValue(JavaCore.CODEASSIST_FIELD_PREFIXES, "f");
-		corePrefs.setValue(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, "fg");
-
-		String[] excluded= new String[0];
-		IField f1= type.getField("fCount");
-		IField f2= type.getField("fgSingleton");
-		IField f3= type.getField("foo");
-		IField f4= type.getField("fBlue");
-		IField f5= type.getField("modified");
-		IField f6= type.getField("isTouched");
-		
-		assertEqualString("setCount", GetterSetterUtil.getSetterName(f1, excluded));
-		assertEqualString("getCount", GetterSetterUtil.getGetterName(f1, excluded));
-		assertEqualString("setSingleton", GetterSetterUtil.getSetterName(f2, excluded));
-		assertEqualString("getSingleton", GetterSetterUtil.getGetterName(f2, excluded));
-		assertEqualString("setFoo", GetterSetterUtil.getSetterName(f3, excluded));
-		assertEqualString("getFoo", GetterSetterUtil.getGetterName(f3, excluded));
-		
-		assertEqualString("setBlue", GetterSetterUtil.getSetterName(f4, excluded));
-		assertEqualString("isBlue", GetterSetterUtil.getGetterName(f4, excluded));
-		assertEqualString("setModified", GetterSetterUtil.getSetterName(f5, excluded));
-		assertEqualString("isModified", GetterSetterUtil.getGetterName(f5, excluded));
-		assertEqualString("setTouched", GetterSetterUtil.getSetterName(f6, excluded));
-		assertEqualString("isTouched", GetterSetterUtil.getGetterName(f6, excluded));
-				
-	}
-	
-	private void assertEqualString(String expected, String actual) {
-		assertEquals("Expected '" + expected + "', is '" + actual + "'", expected, actual);
-	}	
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/PartialASTTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/PartialASTTest.java
deleted file mode 100644
index 73833e0..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/PartialASTTest.java
+++ /dev/null
@@ -1,536 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-
-import org.eclipse.jdt.internal.corext.dom.ASTNodes;
-import org.eclipse.jdt.internal.corext.dom.NodeFinder;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-
-public class PartialASTTest extends CoreTests {
-	
-	private static final Class THIS= PartialASTTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public PartialASTTest(String name) {
-		super(name);
-	}
-
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new PartialASTTest("testPartialCU1"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(JavaCore.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(JavaCore.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	
-	public void testPartialCU1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() {\n");
-		buf.append("        fField1 = fField2;\n");
-		buf.append("    }\n");
-		buf.append("    public int foo1(int i) {\n");
-		buf.append("        return i;\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String existing= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", existing, false, null);
-		
-		String statement= "fField1 = fField2;";
-		int offset= existing.indexOf(statement);
-		
-		CompilationUnit astRoot= getPartialCompilationUnit(cu, offset);
-		String string= ASTNodes.asFormattedString(astRoot, 0, String.valueOf('\n'));
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() {\n");
-		buf.append("        fField1 = fField2;\n");
-		buf.append("    }\n");
-		buf.append("    public int foo1(int i) {\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String expected= buf.toString();
-		
-		assertEqualString(string, expected);
-		
-		offset= expected.indexOf(statement);
-		
-		ASTNode node= NodeFinder.perform(astRoot, offset, statement.length());
-		Assignment assignment= (Assignment) ((ExpressionStatement) node).getExpression();
-		Expression e1= assignment.getLeftHandSide();
-		Expression e2= assignment.getRightHandSide();
-		assertNotNull(e1.resolveTypeBinding());
-		assertNotNull(e2.resolveTypeBinding());
-		
-		assertTrue(((SimpleName) e1).resolveBinding() instanceof IVariableBinding);
-		assertTrue(((SimpleName) e2).resolveBinding() instanceof IVariableBinding);
-		
-		assertAllBindings(astRoot);		
-	}
-	
-	private void assertAllBindings(CompilationUnit astRoot) {
-		List list= astRoot.types();
-		for (int i= 0; i < list.size(); i++) {
-			TypeDeclaration decl= (TypeDeclaration) list.get(i);
-			assertTrue(decl.resolveBinding() != null);
-			
-			if (!decl.isInterface() && decl.getSuperclass() != null) {
-				assertTrue(decl.getSuperclass().resolveBinding() != null);
-			}
-			List interfaces= decl.superInterfaces();
-			for (int j= 0; j < interfaces.size(); j++) {
-				assertTrue(((Type) interfaces.get(j)).resolveBinding() != null);
-			}
-			
-			MethodDeclaration[] declarations= decl.getMethods();
-			for (int k= 0; k < declarations.length; k++) {
-				MethodDeclaration meth= declarations[k];
-				assertTrue(meth.resolveBinding() != null);
-				List params= meth.parameters();
-				for (int n= 0; n < params.size(); n++) {
-					SingleVariableDeclaration arg= (SingleVariableDeclaration) params.get(n);
-					assertTrue(arg.resolveBinding() != null);
-				}
-				if (!meth.isConstructor()) {		
-					assertTrue(meth.getReturnType().resolveBinding() != null);
-				}
-			}
-		}
-		
-		
-	}
-	
-	
-	public void testPartialCU2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner {\n");
-		buf.append("        public int inner(int i) {\n");
-		buf.append("            return i;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() {\n");
-		buf.append("        fField1 = fField2;\n");
-		buf.append("        if (fField1 == 0) {\n");
-		buf.append("            fField2++;\n");
-		buf.append("        }\n");
-		buf.append("        EInner inner = new EInner();\n");
-		buf.append("    }\n");
-		buf.append("    public int foo1(int i) {\n");
-		buf.append("        private class Local {\n");
-		buf.append("            public int local(int i) {\n");
-		buf.append("                return i;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("        Local local = new Local();\n");	
-		buf.append("        return i;\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String existing= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", existing, false, null);
-		
-		int offset= existing.indexOf("fField1 = fField2;");
-		
-		CompilationUnit astRoot= getPartialCompilationUnit(cu, offset);
-		String string= ASTNodes.asFormattedString(astRoot, 0, String.valueOf('\n'));
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner {\n");
-		buf.append("        public int inner(int i) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() {\n");
-		buf.append("        fField1 = fField2;\n");
-		buf.append("        if (fField1 == 0) {\n");
-		buf.append("            fField2++;\n");
-		buf.append("        }\n");
-		buf.append("        EInner inner = new EInner();\n");
-		buf.append("    }\n");
-		buf.append("    public int foo1(int i) {\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String expected= buf.toString();
-		
-		assertEqualString(string, expected);
-		assertAllBindings(astRoot);	
-	}
-	
-	public void testPartialCU3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.io.Serializable;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner implements Serializable {\n");
-		buf.append("        public int inner(int i) {\n");
-		buf.append("            return i;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() {\n");
-		buf.append("        fField1 = fField2;\n");
-		buf.append("        if (fField1 == 0) {\n");
-		buf.append("            fField2++;\n");
-		buf.append("        }\n");
-		buf.append("        EInner inner = new EInner();\n");
-		buf.append("    }\n");
-		buf.append("    public int foo1(int i) {\n");
-		buf.append("        private class Local {\n");
-		buf.append("            public int local(int i) {\n");
-		buf.append("                return 1;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("        Local local = new Local();\n");	
-		buf.append("        return i;\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String existing= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", existing, false, null);
-		
-		int offset= existing.indexOf("return 1;");
-		
-		CompilationUnit astRoot= getPartialCompilationUnit(cu, offset);
-		String string= ASTNodes.asFormattedString(astRoot, 0, String.valueOf('\n'));
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.io.Serializable;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner implements Serializable {\n");
-		buf.append("        public int inner(int i) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() {\n");
-		buf.append("    }\n");
-		buf.append("    public int foo1(int i) {\n");
-		buf.append("        private class Local {\n");
-		buf.append("            public int local(int i) {\n");
-		buf.append("                return 1;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("        Local local = new Local();\n");	
-		buf.append("        return i;\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String expected= buf.toString();
-		
-		assertEqualString(string, expected);
-		assertAllBindings(astRoot);	
-	}
-	
-	public void testPartialCU4() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner {\n");
-		buf.append("        public int inner(int i) {\n");
-		buf.append("            return 0;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() throws IOException, ParseException {\n");
-		buf.append("        fField1 = fField2;\n");
-		buf.append("        if (fField1 == 0) {\n");
-		buf.append("            fField2++;\n");
-		buf.append("        }\n");
-		buf.append("        EInner inner = new EInner();\n");
-		buf.append("    }\n");
-		buf.append("    public int foo1(int i) {\n");
-		buf.append("        private class Local {\n");
-		buf.append("            public int local(int i) {\n");
-		buf.append("                return 1;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("        Local local = new Local();\n");	
-		buf.append("        return i;\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String existing= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", existing, false, null);
-		
-		int offset= existing.indexOf("return 0;");
-		
-		CompilationUnit astRoot= getPartialCompilationUnit(cu, offset);
-		String string= ASTNodes.asFormattedString(astRoot, 0, String.valueOf('\n'));
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner {\n");
-		buf.append("        public int inner(int i) {\n");
-		buf.append("            return 0;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() throws IOException, ParseException {\n");
-		buf.append("    }\n");
-		buf.append("    public int foo1(int i) {\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String expected= buf.toString();
-		
-		assertEqualString(string, expected);
-		assertAllBindings(astRoot);	
-	}		
-	
-	public void testPartialCUPositionNotInMethod1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner {\n");
-		buf.append("        public int inner(int i) {\n");
-		buf.append("            return 0;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() throws IOException, ParseException {\n");
-		buf.append("        fField1 = fField2;\n");
-		buf.append("        if (fField1 == 0) {\n");
-		buf.append("            fField2++;\n");
-		buf.append("        }\n");
-		buf.append("        EInner inner = new EInner();\n");
-		buf.append("    }\n");
-		buf.append("    public int foo2(int i) {\n");
-		buf.append("        private class Local {\n");
-		buf.append("            public int local(int i) {\n");
-		buf.append("                return 1;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("        Local local = new Local();\n");	
-		buf.append("        return i;\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String existing= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", existing, false, null);
-		
-		int offset= existing.indexOf("private int fField1;");
-		
-		CompilationUnit astRoot= getPartialCompilationUnit(cu, offset);
-		String string= ASTNodes.asFormattedString(astRoot, 0, String.valueOf('\n'));
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner {\n");
-		buf.append("        public int inner(int i) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() throws IOException, ParseException {\n");
-		buf.append("    }\n");
-		buf.append("    public int foo2(int i) {\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String expected= buf.toString();
-		
-		assertEqualString(string, expected);
-		assertAllBindings(astRoot);	
-	}
-	
-	public void testPartialCUPositionNotInMethod2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner {\n");
-		buf.append("        {\n");
-		buf.append("            System.out.println();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() throws IOException, ParseException {\n");
-		buf.append("        fField1 = fField2;\n");
-		buf.append("        if (fField1 == 0) {\n");
-		buf.append("            fField2++;\n");
-		buf.append("        }\n");
-		buf.append("        EInner inner = new EInner();\n");
-		buf.append("    }\n");
-		buf.append("    public int foo2(int i) {\n");
-		buf.append("        private class Local {\n");
-		buf.append("            private int fField3;\n");
-		buf.append("            public int local(int i) {\n");
-		buf.append("                return 1;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("        Local local = new Local();\n");	
-		buf.append("        return i;\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String existing= buf.toString();
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", existing, false, null);
-		
-		int offset= existing.indexOf("private int fField3;");
-		
-		CompilationUnit astRoot= getPartialCompilationUnit(cu, offset);
-		String string= ASTNodes.asFormattedString(astRoot, 0, String.valueOf('\n'));
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class EInner {\n");
-		buf.append("        {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    private int fField1;\n");
-		buf.append("    private int fField2;\n");
-		buf.append("    public void foo1() throws IOException, ParseException {\n");
-		buf.append("    }\n");
-		buf.append("    public int foo2(int i) {\n");
-		buf.append("        private class Local {\n");
-		buf.append("            private int fField3;\n");
-		buf.append("            public int local(int i) {\n");
-		buf.append("                return 1;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("        Local local = new Local();\n");	
-		buf.append("        return i;\n");
-		buf.append("    }\n");
-		buf.append("}");
-		String expected= buf.toString();
-		
-		assertEqualString(string, expected);
-		assertAllBindings(astRoot);	
-	}		
-	
-	private CompilationUnit getPartialCompilationUnit(ICompilationUnit cu, int offset) {
-		ASTParser p= ASTParser.newParser(AST.LEVEL_2_0);
-		p.setSource(cu);
-		p.setFocalPosition(offset);
-		p.setResolveBindings(true);
-		return (CompilationUnit) p.createAST(null);
-	}
-	
-	/*
-	private static class PartialVisitor extends ASTVisitor {
-		
-		private int fOffset;
-
-		public PartialVisitor(int offset) {
-			fOffset= offset;
-		}
-		
-		public boolean visit(Block node) {
-			ASTNode parent= node.getParent();
-			if (parent instanceof MethodDeclaration || parent instanceof Initializer) {
-				int start= node.getStartPosition();
-				int end= start + node.getLength();
-				
-				if (start <= fOffset && fOffset < end) {
-					return true;
-				}
-				node.statements().clear();
-				return false;
-			}
-			return true;
-		}
-	}*/
-	
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/PrimaryWorkingCopyTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/PrimaryWorkingCopyTest.java
deleted file mode 100644
index 12d533e..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/PrimaryWorkingCopyTest.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IWorkingCopy;
-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.SearchEngine;
-
-import org.eclipse.jdt.ui.JavaUI;
-
-import org.eclipse.jdt.internal.corext.refactoring.SearchResultCollector;
-import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-
-public class PrimaryWorkingCopyTest extends CoreTests {
-	
-	private static final Class THIS= PrimaryWorkingCopyTest.class;
-	
-	private IJavaProject fJavaProject1;
-	
-	public PrimaryWorkingCopyTest(String name) {
-		super(name);
-	}
-			
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new AllTypesCacheTest("testHierarchyWithWorkingCopy"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-	
-	protected void setUp() throws Exception {
-		fJavaProject1= ProjectTestSetup.getProject();
-	}
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJavaProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-			
-	
-	public void testSearchInWorkingCopies() throws Exception {
-	
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class A {\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
-		cu1.createType(buf.toString(), null, true, null);
-
-		buf= new StringBuffer();
-		buf.append("public class B {\n");
-		buf.append("    A a;\n");
-		buf.append("}\n");
-		ICompilationUnit cu2= pack1.getCompilationUnit("B.java");
-		cu2.createType(buf.toString(), null, true, null);
-		
-		IPackageFragment pack2= root1.createPackageFragment("pack2", true, null);
-		
-		buf= new StringBuffer();
-		buf.append("public class C {\n");
-		buf.append("    //Here\n");
-		buf.append("}\n");
-		ICompilationUnit cu3= pack2.getCompilationUnit("C.java");
-		cu3.createType(buf.toString(), null, true, null);
-		
-		
-		List result= doSearchForReferences("A", null);
-		assertTrue("Should contain 1 references, contains: " + result.size(), result.size() == 1);
-
-		
-		IEditorPart part= EditorUtility.openInEditor(cu3);
-		try {
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			String replacedString= "//Here";
-			
-			int offset= document.get().indexOf(replacedString);
-			
-			document.replace(offset, replacedString.length(), "A a;");
-			
-			result= doSearchForReferences("A", null);
-			assertTrue("Should contain 2 references, contains: " + result.size(), result.size() == 2);
-
-			//save
-			part.doSave(null);
-
-			result= doSearchForReferences("A", null);
-			assertTrue("Should contain 2 references, contains: " + result.size(), result.size() == 2);
-
-			
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-		
-		result= doSearchForReferences("A", null);
-		assertTrue("Should contain 2 references, contains: " + result.size(), result.size() == 2);
-	}
-	
-	public void testSearchInWorkingCopies2() throws Exception {
-	
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class A {\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
-		cu1.createType(buf.toString(), null, true, null);
-
-		buf= new StringBuffer();
-		buf.append("public class B {\n");
-		buf.append("    A a;\n");
-		buf.append("}\n");
-		ICompilationUnit cu2= pack1.getCompilationUnit("B.java");
-		cu2.createType(buf.toString(), null, true, null);
-		
-		IPackageFragment pack2= root1.createPackageFragment("pack2", true, null);
-		
-		buf= new StringBuffer();
-		buf.append("public class C {\n");
-		buf.append("    //Here\n");
-		buf.append("}\n");
-		ICompilationUnit cu3= pack2.getCompilationUnit("C.java");
-		cu3.createType(buf.toString(), null, true, null);
-		
-		
-		List result= doSearchForReferences("A", null);
-		assertTrue("Should contain 1 references, contains: " + result.size(), result.size() == 1);
-
-		
-		IEditorPart part= EditorUtility.openInEditor(cu3);
-		try {
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			String replacedString= "//Here";
-			
-			int offset= document.get().indexOf(replacedString);
-			
-			document.replace(offset, replacedString.length(), "A a;");
-			
-			result= doSearchForReferences("A", null);
-			assertTrue("Should contain 2 references, contains: " + result.size(), result.size() == 2);
-					
-			ICompilationUnit wcopy= (ICompilationUnit) cu2.getWorkingCopy(); // create sand box working copy
-			try {
-				String source= wcopy.getSource();
-				replacedString= "A a;";
-				offset= source.indexOf(replacedString);
-				source= source.substring(0, offset) + source.substring(offset + replacedString.length()); // remove reference
-				wcopy.getBuffer().setContents(source);
-	
-				
-				result= doSearchForReferences("A", wcopy);
-				assertTrue("Should contain 1 references, contains: " + result.size(), result.size() == 1);
-				
-				// no save
-			} finally {
-				wcopy.destroy();
-			}
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-		
-		result= doSearchForReferences("A", null);
-		assertTrue("Should contain 1 references, contains: " + result.size(), result.size() == 1);
-	}
-	
-	
-	private List doSearchForReferences(String ref, ICompilationUnit wcopy) throws JavaModelException {
-		IWorkingCopy[] allWorkingCopies;
-		if (wcopy == null) {
-			if (JavaPlugin.USE_WORKING_COPY_OWNERS) {
-				allWorkingCopies= new ICompilationUnit[0];
-			} else {
-				allWorkingCopies= JavaUI.getSharedWorkingCopies();
-			}			
-
-		} else {
-			if (JavaPlugin.USE_WORKING_COPY_OWNERS) {
-				allWorkingCopies= new ICompilationUnit[] { wcopy };
-			} else {
-				IWorkingCopy[] copies= JavaUI.getSharedWorkingCopies();
-				allWorkingCopies= new ICompilationUnit[copies.length + 1];
-				System.arraycopy(copies, 0, allWorkingCopies, 0, copies.length);
-				allWorkingCopies[copies.length]= wcopy;
-			}
-		}
-		
-		SearchEngine engine= new SearchEngine(allWorkingCopies);
-		
-		IJavaSearchScope scope= SearchEngine.createWorkspaceScope();
-		SearchResultCollector collector= new SearchResultCollector(null);
-
-		engine.search(ResourcesPlugin.getWorkspace(), ref, IJavaSearchConstants.TYPE, IJavaSearchConstants.REFERENCES, scope, collector);
-
-		return collector.getResults();
-	}
-	
-	public void testWorkingCopyOfWorkingCopy() throws Exception {
-	
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public class A {\n");
-		buf.append("    //Here\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("A.java", buf.toString(), true, null);
-
-		IEditorPart part= EditorUtility.openInEditor(cu1);
-		try {
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			String replacedString= "//Here";
-			
-			int offset= document.get().indexOf(replacedString);
-			
-			document.replace(offset, replacedString.length(), "A a;");
-			
-			cu1= JavaModelUtil.toWorkingCopy(cu1); // no-op when USE_WORKING_COPY_OWNERS is true
-
-			buf= new StringBuffer();
-			buf.append("package pack1;\n");
-			buf.append("\n");
-			buf.append("public class A {\n");
-			buf.append("    A a;\n");
-			buf.append("}\n");
-			String expected= buf.toString();
-			
-			assertEqualString(cu1.getSource(), expected);
-			
-			ICompilationUnit wcopy= (ICompilationUnit) cu1.getWorkingCopy(); // create sand box working copy
-			try {
-				assertEqualString(wcopy.getSource(), expected);			
-				// no save
-			} finally {
-				wcopy.destroy();
-			}
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-	}
-	
-	public void testLineDelimiterConsistency1() throws Exception {
-		// mixed line delimiters
-		
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public class A {\n");
-		buf.append("    //Here\r\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("A.java", buf.toString(), true, null);
-
-		IEditorPart part= EditorUtility.openInEditor(cu1);
-		try {
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			String replacedString= "//Here";
-			
-			int offset= document.get().indexOf(replacedString);
-			
-			document.replace(offset, replacedString.length(), "A a;");
-			
-			cu1= JavaModelUtil.toWorkingCopy(cu1); // no-op when USE_WORKING_COPY_OWNERS is true
-
-			buf= new StringBuffer();
-			buf.append("package pack1;\n");
-			buf.append("\n");
-			buf.append("public class A {\n");
-			buf.append("    A a;\r\n");
-			buf.append("}\n");
-			String expected= buf.toString();
-			
-			assertEqualString(cu1.getSource(), expected);
-			
-			ICompilationUnit wcopy= (ICompilationUnit) cu1.getWorkingCopy(); // create sand box working copy
-			try {
-				assertEqualString(wcopy.getSource(), expected);
-				IResource resource= wcopy.getResource();
-				assertNotNull(resource);
-				// no save
-			} finally {
-				wcopy.destroy();
-			}
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-	}
-	
-	public void testLineDelimiterConsistency2() throws Exception {
-		// mixed line delimiters
-		
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public class A {\n");
-		buf.append("    //Here\r\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("A.java", buf.toString(), true, null);
-
-		IEditorPart part= EditorUtility.openInEditor(cu1);
-		try {
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			String replacedString= "//Here";
-			
-			int offset= document.get().indexOf(replacedString);
-			
-			document.replace(offset, replacedString.length(), "A a;");
-					
-			
-			cu1= JavaModelUtil.toWorkingCopy(cu1); // no-op when USE_WORKING_COPY_OWNERS is true
-
-			buf= new StringBuffer();
-			buf.append("package pack1;\n");
-			buf.append("\n");
-			buf.append("public class A {\n");
-			buf.append("    A a;\r\n");
-			buf.append("}\n");
-			String expected= buf.toString();
-			
-			assertEqualString(cu1.getSource(), expected);
-			
-			part.doSave(null);
-			
-			assertEqualString(cu1.getSource(), expected);
-			
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-		
-		
-	}
-		
-	
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ProjectTestSetup.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ProjectTestSetup.java
deleted file mode 100644
index fad040e..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ProjectTestSetup.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.ui.tests.core;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-
-public class ProjectTestSetup extends TestSetup {
-
-	public static final String PROJECT_NAME= "TestSetupProject";
-	
-	public static IJavaProject getProject() {
-		IProject project= ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
-		return JavaCore.create(project);
-	}
-	
-	public static IClasspathEntry[] getDefaultClasspath() {
-		IPath[] rtJarPath= JavaProjectHelper.findRtJar();
-		assertTrue("rt not found", rtJarPath != null);		
-		return new IClasspathEntry[] {  JavaCore.newLibraryEntry(rtJarPath[0], rtJarPath[1], rtJarPath[2], true) };
-	}
-	
-		
-	private IJavaProject fJProject;
-
-	private boolean fAutobuilding;
-	
-	public ProjectTestSetup(Test test) {
-		super(test);
-	}
-	
-	/* (non-Javadoc)
-	 * @see junit.extensions.TestSetup#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-		IJavaProject project= getProject();
-		if (project.exists()) { // allow nesting of ProjectTestSetup's
-			return;
-		}
-		
-		fAutobuilding = JavaProjectHelper.setAutoBuilding(false);
-		
-		fJProject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		fJProject.setRawClasspath(getDefaultClasspath(), null);	
-	}
-
-	protected void tearDown() throws Exception {
-		if (fJProject != null) {
-			JavaProjectHelper.delete(fJProject);
-			JavaProjectHelper.setAutoBuilding(fAutobuilding);
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ScopeAnalyzerTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ScopeAnalyzerTest.java
deleted file mode 100644
index d5c054e..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/ScopeAnalyzerTest.java
+++ /dev/null
@@ -1,772 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.compiler.IProblem;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.IBinding;
-
-import org.eclipse.jdt.internal.corext.dom.ScopeAnalyzer;
-
-/**
-  */
-public class ScopeAnalyzerTest extends CoreTests {
-
-	private static final Class THIS= ScopeAnalyzerTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ScopeAnalyzerTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (false) {
-			return allTests(); 
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ScopeAnalyzerTest("testVariableDeclarations6"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-	
-	protected void setUp() throws Exception {
-		
-		fJProject1= ProjectTestSetup.getProject();
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(JavaCore.COMPILER_PB_HIDDEN_CATCH_BLOCK, JavaCore.IGNORE);
-		
-		JavaCore.setOptions(options);		
-	}
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	public void testVariableDeclarations1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    int[] fGlobal;\n");
-		buf.append("    public int goo(int param1, int param2) {\n");
-		buf.append("        int count= 0;\n");
-		buf.append("        fGlobal= new int[] { 1, 2, 3};\n");
-		buf.append("        for (int i= 0; i < fGlobal.length; i++) {\n");
-		buf.append("            int insideFor= 0;\n");
-		buf.append("            count= insideFor + fGlobal[i];\n");
-		buf.append("            return -1;\n");		
-		buf.append("        }\n");
-		buf.append("        count++;\n");
-		buf.append("        int count2= 0;\n");
-		buf.append("        count+= count2;\n");
-		buf.append("        return count;\n");		
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		
-		{
-			String str= "count+= count2;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-	
-			assertVariables(res, new String[] { "param1", "param2", "count", "count2", "fGlobal" });
-		}
-		
-		{
-			String str= "count++;";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "param1", "param2", "count", "fGlobal" });
-		}
-	
-		{
-			String str= "return -1;";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-	
-			assertVariables(res, new String[] { "param1", "param2", "count", "i", "insideFor", "fGlobal" });
-		}		
-		
-	}
-
-	public void testVariableDeclarations2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int goo(int param1) {\n");
-		buf.append("        int count= 9, count2= 0;\n");
-		buf.append("        try {\n");
-		buf.append("            for (int i= 0, j= 0; i < 9; i++) {\n");
-		buf.append("                System.out.println(i + j);\n");
-		buf.append("                j++;\n");
-		buf.append("                throw new IOException();\n");		
-		buf.append("            }\n");
-		buf.append("            return 8;\n");			
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("           int k= 0;\n");
-		buf.append("           return k;\n");
-		buf.append("        } catch (Exception x) {\n");
-		buf.append("           x= null;\n");					 
-		buf.append("        };\n");
-		buf.append("        return count;\n");		
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		
-		{
-			String str= "j++;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "param1", "count", "count2", "i", "j"});
-		}
-		
-		{
-			String str= "return 8;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "param1", "count", "count2"});
-		}		
-		
-		{
-			String str= "return k;";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-
-			assertVariables(res, new String[] { "param1", "count", "count2", "e", "k" });
-		}
-		
-		{
-			String str= "x= null;";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "param1", "count", "count2", "x" });
-		}		
-	
-		{
-			String str= "return count;";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "param1", "count", "count2" });
-		}		
-		
-	}
-	
-	public void testVariableDeclarations3() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fVar1, fVar2;\n");
-		buf.append("    public int goo(int param1) {\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            int fInner;\n");		
-		buf.append("            public void run() {\n");
-		buf.append("                int k= 0;\n");
-		buf.append("                fVar1= k;\n");
-		buf.append("            }\n");		
-		buf.append("        };\n");
-		buf.append("        int k= 0;\n");
-		buf.append("        return k;\n");
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		
-		{
-			String str= "fVar1= k;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "k", "fInner",  "param1", "run", "fVar1", "fVar2"});
-		}
-		
-		{
-			String str= "return k;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "k", "param1", "run", "fVar1", "fVar2"});
-		}
-
-	}
-	
-	public void testVariableDeclarations4() throws Exception {
-		IPackageFragment pack0= fSourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public class Rectangle {\n");
-		buf.append("  public int x;\n");
-		buf.append("  public int y;\n");
-		buf.append("}\n");
-		pack0.createCompilationUnit("Rectangle.java", buf.toString(), false, null);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("import pack1.Rectangle;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fVar1, fVar2;\n");
-		buf.append("    public int goo(int param1) {\n");
-		buf.append("        int k= 0;\n");
-		buf.append("        Rectangle r= new Rectangle();\n");		
-		buf.append("        return r.x;\n");
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		{
-			String str= "return r.x;";
-			int offset= buf.toString().indexOf(str) + "return r.".length();
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "x", "y"});
-		}			
-			
-	}
-	
-	public void testVariableDeclarations5() throws Exception {
-		
-		IPackageFragment pack0= fSourceFolder.createPackageFragment("pack1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack1;\n");
-		buf.append("\n");
-		buf.append("public interface IConstants {\n");
-		buf.append("  public final int CONST= 1;\n");
-		buf.append("}\n");
-		pack0.createCompilationUnit("IConstants.java", buf.toString(), false, null);		
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fVar1, fVar2;\n");
-		
-		buf.append("    private class A {\n");
-		buf.append("        int fCount;\n");
-		buf.append("        public int foo(int param1) {\n");
-		buf.append("            return 1;\n");		
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("    public int goo(int param0) {\n");
-		buf.append("        int k= 0;\n");
-		buf.append("        class B extends A implements pack1.IConstants {\n");
-		buf.append("            int fCount2;\n");
-		buf.append("            public int foo(int param1) {\n");
-		buf.append("                return 2;\n");		
-		buf.append("            }\n");		
-		buf.append("        }\n");		
-		buf.append("        return 3;\n");
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		{
-			String str= "return 1;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "param1", "fCount", "fVar1", "fVar2"});
-		}
-		
-		{
-			String str= "return 2;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "param1", "fCount2", "fCount", "k", "param0", "fVar1", "fVar2", "CONST"});
-		}				
-			
-	}
-
-	public void testVariableDeclarations6() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    int[] fGlobal;\n");
-		buf.append("    public int goo(int param1, int param2) {\n");
-		buf.append("        switch (param1) {\n");
-		buf.append("            case 1:\n;");
-		buf.append("                fGlobal= new int[] { 1, 2, 3};\n");
-		buf.append("                int temp= 9;\n");
-		buf.append("                break;\n");
-		buf.append("            case 2:\n;");
-		buf.append("                do {\n");
-		buf.append("                   int insideDo= 0;\n");
-		buf.append("                   return -1;\n");
-		buf.append("                } while (true);\n");
-		buf.append("            case 3:\n;");
-		buf.append("                int temp2= 9;\n");
-		buf.append("                Math.min(1.0f, 2.0f);\n");
-		buf.append("                return 3;\n");
-		buf.append("        }\n");
-		buf.append("        return 4;\n");		
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		
-		{
-			String str= "break;";
-			int offset= buf.toString().indexOf(str);
-
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-
-			assertVariables(res, new String[] { "param1", "param2", "temp", "fGlobal" });
-		}
-		
-		{
-			String str= "return -1;";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-
-			assertVariables(res, new String[] { "param1", "param2", "temp", "insideDo", "fGlobal" });
-		}			
-			
-		{
-			String str= "Math";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-
-			assertVariables(res, new String[] { "param1", "param2", "temp", "temp2", "fGlobal" });
-		}			
-
-		{
-			String str= "min";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-
-			assertVariables(res, new String[] { "E", "PI" });
-		}
-		
-		{
-			String str= "return 4;";
-			int offset= buf.toString().indexOf(str);
-			
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-
-			assertVariables(res, new String[] { "param1", "param2", "fGlobal" });
-		}		
-		
-	}
-
-
-
-
-
-	public void testDeclarationsAfter() throws Exception {
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int goo(final int param0) {\n");
-		buf.append("        int k= 0;\n");
-		buf.append("        try {\n");
-		buf.append("            for (int i= 0; i < 10; i++) {\n");
-		buf.append("                k += i;\n");
-		buf.append("            }\n");
-		buf.append("        } catch (Exception x) {\n");
-		buf.append("           return 9;\n");					 
-		buf.append("        };\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            int fInner;\n");		
-		buf.append("            public void run() {\n");
-		buf.append("                int x1= 0;\n");
-		buf.append("                x1 += param0;\n");
-		buf.append("                {\n");
-		buf.append("                    for (int i= 0, j= 0; i < 10; i++) {\n");
-		buf.append("                        x1 += i;\n");
-		buf.append("                        int x2= 0;\n");
-		buf.append("                    }\n");
-		buf.append("                }\n");		
-		buf.append("            }\n");		
-		buf.append("        };\n");			
-		buf.append("        return 3;\n");
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		{
-			String str= "int k= 0;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsAfter(offset, flags);
-			
-			assertVariables(res, new String[] { "k", "i", "x", "run"});
-		}
-		
-		{
-			String str= "return 9;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsAfter(offset, flags);
-			
-			assertVariables(res, new String[] { });
-		}
-		
-		{
-			String str= "x1 += param0;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.VARIABLES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsAfter(offset, flags);
-			
-			assertVariables(res, new String[] { "i", "j", "x2" });
-		}				
-			
-	}
-
-	public void testTypeDeclarations1() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static class A {\n");
-		buf.append("        public class A1 {\n");
-		buf.append("            public int foo() {\n");
-		buf.append("                return 1;\n");		
-		buf.append("            }\n");			
-		buf.append("        }\n");
-		buf.append("        public class A2 {\n");
-		buf.append("        }\n");		
-		buf.append("        public int foo() {\n");
-		buf.append("            return 2;\n");		
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		buf.append("class F {\n");
-		buf.append("    public int goo(int param0) {\n");
-		buf.append("        class C extends E.A {\n");
-		buf.append("            A1 b;\n");
-		buf.append("            public int foo() {\n");
-		buf.append("                return 3;\n");		
-		buf.append("            }\n");
-		buf.append("        }\n");		
-		buf.append("        return 4;\n");
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		{
-			String str= "return 1;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.TYPES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "A1", "A", "E", "A2", "F"});
-		}
-		
-		{
-			String str= "return 2;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.TYPES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "A1", "A", "E", "A2", "F"});
-		}
-		
-		{
-			String str= "return 3;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.TYPES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "C", "F", "A1", "A2", "E"});
-		}
-		
-		{
-			String str= "return 4;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.TYPES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "C", "F", "E"});
-		}					
-			
-	}
-	
-	public void testTypeDeclarations2() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static class E1 extends G {\n");
-		buf.append("        public static class EE1 {\n");
-		buf.append("        }\n");
-		buf.append("        public static class EE2 {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("    public static class E2 {\n");
-		buf.append("    }\n");				
-		buf.append("}\n");		
-		buf.append("class F extends E.E1{\n");
-		buf.append("    F f1;\n");
-		buf.append("}\n");
-		buf.append("class G {\n");
-		buf.append("    public static class G1 {\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		{
-			String str= "F f1;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.TYPES;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertVariables(res, new String[] { "F", "EE1", "EE2", "G1", "G", "E"});
-		}
-	}		
-	
-		
-	
-	public void testMethodDeclarations1() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");			
-		
-		buf.append("    public void goo() {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		
-		buf.append("    public String toString() {\n");
-		buf.append("        return String.valueOf(1);\n");
-		buf.append("    }\n");	
-		
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-		{
-			String str= "return;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.METHODS;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertMethods(res, new String[] { "goo", "foo" }, true);
-		}			
-			
-	}
-
-	public void testMethodDeclarations2() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1.ae", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1.ae;\n");
-		buf.append("public class E {\n");
-		buf.append("    int fVar1, fVar2;\n");
-		buf.append("    public int goo(int param1) {\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            int fInner;\n");		
-		buf.append("            public void run() {\n");
-		buf.append("                return;\n");
-		buf.append("            }\n");		
-		buf.append("        };\n");
-		buf.append("        int k= 0;\n");
-		buf.append("        return k;\n");
-		buf.append("    }\n");
-		buf.append("    private class A extends E {\n");
-		buf.append("        { // initializer\n");
-		buf.append("           fVar1= 9; \n");		
-		buf.append("        }\n");
-		buf.append("        public int foo(int param1) {\n");
-		buf.append("            return 1;\n");		
-		buf.append("        }\n");		
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit compilationUnit= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= createAST(compilationUnit);
-		assertNoProblems(astRoot);
-
-		{
-			String str= "return;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.METHODS;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertMethods(res, new String[] { "run", "goo"}, true);
-		}
-		
-		{
-			String str= "return k;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.METHODS;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertMethods(res, new String[] { "goo"}, true);
-		}
-		
-		{
-			String str= "return 1;";
-			int offset= buf.toString().indexOf(str);
-	
-			int flags= ScopeAnalyzer.METHODS;
-			IBinding[] res= new ScopeAnalyzer(astRoot).getDeclarationsInScope(offset, flags);
-			
-			assertMethods(res, new String[] { "foo", "goo"}, true);
-		}		
-
-	}
-	
-	
-	private static final String[] OBJ_METHODS= new String[] { "getClass", 
-		"hashCode", "equals", "clone", "toString", "notify", "notifyAll", "wait", "wait",
-		"wait", "finalize" };
-
-	private void assertMethods(IBinding[] res, String[] expectedNames, boolean addObjectMethods) {
-		String[] names= new String[res.length];		
-		for (int i= 0; i < res.length; i++) {
-			names[i]= res[i].getName();
-		}
-		String[] expected= expectedNames;
-		
-		if (addObjectMethods) {
-			expected= new String[expectedNames.length + OBJ_METHODS.length];
-			System.arraycopy(OBJ_METHODS, 0, expected, 0, OBJ_METHODS.length);
-			System.arraycopy(expectedNames, 0, expected, OBJ_METHODS.length, expectedNames.length);
-		}
-		
-		assertEqualStringsIgnoreOrder(names, expected);
-	}	
-
-	private void assertVariables(IBinding[] res, String[] expectedNames) {
-		String[] names= new String[res.length];		
-		for (int i= 0; i < res.length; i++) {
-			names[i]= res[i].getName();
-		}
-		assertEqualStringsIgnoreOrder(names, expectedNames);
-	}
-	
-	private void assertNoProblems(CompilationUnit astRoot) {
-		IProblem[] problems= astRoot.getProblems();
-		if (problems.length > 0) {
-			StringBuffer buf= new StringBuffer();
-			for (int i= 0; i < problems.length; i++) {
-				buf.append(problems[i].getMessage()).append('\n');
-			}
-			assertTrue(buf.toString(), false);	
-		}
-	}
-
-	private CompilationUnit createAST(ICompilationUnit compilationUnit) {
-		ASTParser parser= ASTParser.newParser(AST.LEVEL_2_0);
-		parser.setSource(compilationUnit);
-		parser.setResolveBindings(true);
-		return (CompilationUnit) parser.createAST(null);
-	}
-	
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TextEditTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TextEditTests.java
deleted file mode 100644
index a4d6043..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TextEditTests.java
+++ /dev/null
@@ -1,1041 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.text.edits.CopySourceEdit;
-import org.eclipse.text.edits.CopyTargetEdit;
-import org.eclipse.text.edits.DeleteEdit;
-import org.eclipse.text.edits.InsertEdit;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MoveSourceEdit;
-import org.eclipse.text.edits.MoveTargetEdit;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.RangeMarker;
-import org.eclipse.text.edits.ReplaceEdit;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.text.edits.TextEditCopier;
-import org.eclipse.text.edits.UndoEdit;
-
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-
-public class TextEditTests extends TestCase {
-
-	private static final Class THIS= TextEditTests.class;
-	
-	private IDocument fDocument;
-	private MultiTextEdit fRoot;
-	
-	public TextEditTests(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new TestSuite(THIS);
-	}
-
-	public static Test suite() {
-		TestSuite result= new TestSuite(THIS);
-		if (false) {	// For hot code replace when debugging test cases
-			result.addTestSuite(THIS);
-			result.addTestSuite(THIS);
-			result.addTestSuite(THIS);
-			result.addTestSuite(THIS);
-			result.addTestSuite(THIS);
-			result.addTestSuite(THIS);
-		}
-		return result;
-	}
-	
-	protected void setUp() throws Exception {
-		fDocument= new Document("0123456789");
-		fRoot= new MultiTextEdit();
-	}
-	
-	protected void tearDown() throws Exception {
-		fRoot= null;
-		fRoot= null;
-	}
-	
-	public void testOverlap1() throws Exception {
-		// [ [ ] ]
-		fRoot.addChild(new ReplaceEdit(0, 2, "01"));
-		boolean exception= false;
-		try {
-			fRoot.addChild(new ReplaceEdit(1, 2, "12"));
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}	
-	
-	public void testOverlap2() throws Exception {
-		// [[ ] ]
-		fRoot.addChild(new ReplaceEdit(0, 2, "01"));
-		boolean exception= false;
-		try {
-			fRoot.addChild(new ReplaceEdit(0, 1, "0"));
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}	
-	
-	public void testOverlap3() throws Exception {
-		// [ [ ]]
-		fRoot.addChild(new ReplaceEdit(0, 2, "01"));
-		boolean exception= false;
-		try {
-			fRoot.addChild(new ReplaceEdit(1, 1, "1"));
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}	
-	
-	public void testOverlap4() throws Exception {
-		// [ [ ] ]
-		fRoot.addChild(new ReplaceEdit(0, 3, "012"));
-		boolean exception= false;
-		try {
-			fRoot.addChild(new ReplaceEdit(1, 1, "1"));
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}
-	
-	public void testOverlap5() throws Exception {
-		// [ []  ]
-		fRoot.addChild(new ReplaceEdit(0, 3, "012"));
-		boolean exception= false;
-		try {
-			fRoot.addChild(new InsertEdit(1, "xx"));
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}
-	
-	public void testOverlap6() throws Exception {
-		// [  [] ]
-		fRoot.addChild(new ReplaceEdit(0, 3, "012"));
-		boolean exception= false;
-		try {
-			fRoot.addChild(new InsertEdit(2, "xx"));
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}
-	
-	public void testOverlap7() throws Exception {
-		MoveSourceEdit source= new MoveSourceEdit(2, 5);
-		MoveTargetEdit target= new MoveTargetEdit(3, source);
-		fRoot.addChild(source);
-		boolean exception= false;
-		try {
-			fRoot.addChild(target);
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}
-	
-	public void testOverlap8() throws Exception {
-		MoveSourceEdit source= new MoveSourceEdit(2, 5);
-		MoveTargetEdit target= new MoveTargetEdit(6, source);
-		fRoot.addChild(source);
-		boolean exception= false;
-		try {
-			fRoot.addChild(target);
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}
-	
-	public void testOverlap9() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(3, 1);
-		MoveTargetEdit t1= new MoveTargetEdit(7, s1);
-		MoveSourceEdit s2= new MoveSourceEdit(2, 3);
-		MoveTargetEdit t2= new MoveTargetEdit(8, s2);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		boolean exception= false;
-		try {
-			fRoot.addChild(s2);
-			fRoot.addChild(t2);
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}
-	
-	public void testUnconnected1() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(3, 1);
-		boolean exception= false;
-		try {
-			fRoot.addChild(s1);
-			fRoot.apply(fDocument);
-		} catch (MalformedTreeException e) {
-			exception= true;
-		}
-		assertTrue(exception);
-	}
-	
-	public void testBufferLength() throws Exception {
-		MultiTextEdit edit= new MultiTextEdit(0, fDocument.getLength() + 1);
-		boolean exception= false;
-		try {
-			fRoot.addChild(edit);
-			fRoot.apply(fDocument);
-		} catch (MalformedTreeException e) {
-			exception= true;
-			assertTrue(exception);
-		}
-	}
-	
-	public void testCopy1() throws Exception {
-		MultiTextEdit root= new MultiTextEdit();
-		TextEdit e1= new InsertEdit(2, "yy");
-		TextEdit e2= new ReplaceEdit(2, 3, "3456");
-		root.addChild(e1);
-		root.addChild(e2);
-		List org= flatten(root);
-		TextEditCopier copier= new TextEditCopier(root);
-		List copy= flatten(copier.perform());
-		compare(copier, org, copy);
-	}
-	
-	public void testCopy2() throws Exception {
-		MultiTextEdit root= new MultiTextEdit();
-		CopySourceEdit s1= new CopySourceEdit(5, 2);
-		CopyTargetEdit t1= new CopyTargetEdit(8, s1);
-		CopySourceEdit s2= new CopySourceEdit(5, 2);
-		CopyTargetEdit t2= new CopyTargetEdit(2, s2);
-		s1.addChild(s2);
-		root.addChild(s1);
-		root.addChild(t1);
-		root.addChild(t2);
-		List org= flatten(root);
-		TextEditCopier copier= new TextEditCopier(root);
-		List copy= flatten(copier.perform());
-		compare(copier, org, copy);
-	}
-		
-	private List flatten(TextEdit edit) {
-		List result= new ArrayList();
-		flatten(result, edit);
-		return result;
-	}
-	
-	private static void flatten(List result, TextEdit edit) {
-		result.add(edit);
-		TextEdit[] children= edit.getChildren();
-		for (int i= 0; i < children.length; i++) {
-			flatten(result, children[i]);
-		}
-	}
-	
-	private static void compare(TextEditCopier copier, List org, List copy) {
-		assertTrue("Same length", org.size() == copy.size());
-		for (Iterator iter= copy.iterator(); iter.hasNext();) {
-			TextEdit edit= (TextEdit)iter.next();
-			assertTrue("Original is part of copy list", !org.contains(edit));
-			if (edit instanceof MoveSourceEdit) {
-				MoveSourceEdit source= (MoveSourceEdit)edit;
-				assertTrue("Target edit isn't a copy", copy.contains(source.getTargetEdit()));
-				assertTrue("Traget edit is a original", !org.contains(source.getTargetEdit()));
-			} else if (edit instanceof MoveTargetEdit) {
-				MoveTargetEdit target= (MoveTargetEdit)edit;
-				assertTrue("Source edit isn't a copy", copy.contains(target.getSourceEdit()));
-				assertTrue("Source edit is a original", !org.contains(target.getSourceEdit()));
-			} else if (edit instanceof CopySourceEdit) {
-				CopySourceEdit source= (CopySourceEdit)edit;
-				assertTrue("Target edit isn't a copy", copy.contains(source.getTargetEdit()));
-				assertTrue("Traget edit is a original", !org.contains(source.getTargetEdit()));
-			} else if (edit instanceof CopyTargetEdit) {
-				CopyTargetEdit target= (CopyTargetEdit)edit;
-				assertTrue("Source edit isn't a copy", copy.contains(target.getSourceEdit()));
-				assertTrue("Source edit is a original", !org.contains(target.getSourceEdit()));
-			}
-		}
-	}
-		
-	public void testInsert1() throws Exception {
-		// [][  ]
-		TextEdit e1= new InsertEdit(2, "yy");
-		TextEdit e2= new ReplaceEdit(2, 3, "3456");
-		fRoot.addChild(e1);
-		fRoot.addChild(e2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(fRoot, 2, 6);
-		assertEquals(e1, 2, 2);
-		assertEquals(e2, 4, 4);
-		assertEquals("Buffer content", "01yy345656789", fDocument.get());
-		doUndoRedo(undo, "01yy345656789");
-	}
-	
-	public void testInsert2() throws Exception {
-		// [][]
-		TextEdit e1= new InsertEdit(2, "yy");
-		TextEdit e2= new InsertEdit(2, "xx");
-		fRoot.addChild(e1);
-		fRoot.addChild(e2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(fRoot, 2, 4);
-		assertEquals(e1, 2, 2);
-		assertEquals(e2, 4, 2);
-		assertEquals("Buffer content", "01yyxx23456789", fDocument.get());
-		doUndoRedo(undo, "01yyxx23456789");
-	}
-	
-	public void testInsert3() throws Exception {
-		// [  ][][  ]
-		TextEdit e1= new ReplaceEdit(0, 2, "011");
-		TextEdit e2= new InsertEdit(2, "xx");
-		TextEdit e3= new ReplaceEdit(2, 2, "2");
-		fRoot.addChild(e1);
-		fRoot.addChild(e2);
-		fRoot.addChild(e3);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(fRoot, 0, 6);
-		assertEquals(e1, 0, 3);
-		assertEquals(e2, 3, 2);
-		assertEquals(e3, 5, 1);
-		assertEquals("Buffer content", "011xx2456789", fDocument.get());
-		doUndoRedo(undo, "011xx2456789");
-	}
-	
-	public void testInsert4() throws Exception {
-		TextEdit e1= new InsertEdit(0, "xx");
-		fRoot.addChild(e1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer length", 12, fDocument.getLength());
-		assertEquals(fRoot, 0, 2);
-		assertEquals(e1, 0, 2);
-		assertEquals("Buffer content", "xx0123456789", fDocument.get());
-		doUndoRedo(undo, "xx0123456789");
-	}
-	
-	public void testInsert5() throws Exception {
-		TextEdit e1= new InsertEdit(10, "xx");
-		fRoot.addChild(e1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer length", 12, fDocument.getLength());
-		assertEquals(fRoot, 10, 2);
-		assertEquals(e1, 10, 2);
-		assertEquals("Buffer content", "0123456789xx", fDocument.get());
-		doUndoRedo(undo, "0123456789xx");
-	}
-	
-	public void testInsertReplace1() throws Exception {
-		TextEdit e1= new ReplaceEdit(2, 1, "y");
-		TextEdit e2= new InsertEdit(2, "xx");
-		fRoot.addChild(e1);
-		fRoot.addChild(e2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(fRoot, 2, 3);
-		assertEquals(e1, 4, 1);
-		assertEquals(e2, 2, 2);
-		assertEquals("Buffer content", "01xxy3456789", fDocument.get());
-		doUndoRedo(undo, "01xxy3456789");
-	}
-	
-	public void testDelete1() throws Exception {
-		TextEdit e1= new DeleteEdit(3, 1);
-		fRoot.addChild(e1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(fRoot, 3, 0);
-		assertEquals(e1, 3, 0);
-		assertEquals("Buffer content", "012456789", fDocument.get());
-		doUndoRedo(undo, "012456789");
-	}
-	
-	public void testDelete2() throws Exception {
-		TextEdit e1= new DeleteEdit(4, 1);
-		TextEdit e2= new DeleteEdit(3, 1);
-		TextEdit e3= new DeleteEdit(5, 1);
-		fRoot.addChild(e1);
-		fRoot.addChild(e2);
-		fRoot.addChild(e3);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(fRoot, 3, 0);
-		assertEquals(e1, 3, 0);
-		assertEquals(e2, 3, 0);
-		assertEquals(e3, 3, 0);
-		assertEquals("Buffer content", "0126789", fDocument.get());
-		doUndoRedo(undo, "0126789");
-	}
-	
-	public void testDelete3() throws Exception {
-		TextEdit e1= new InsertEdit(3, "x");
-		TextEdit e2= new DeleteEdit(3, 1);
-		fRoot.addChild(e1);
-		fRoot.addChild(e2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(fRoot, 3, 1);
-		assertEquals(e1, 3, 1);
-		assertEquals(e2, 4, 0);
-		assertEquals("Buffer content", "012x456789", fDocument.get());
-		doUndoRedo(undo, "012x456789");
-	}
-	
-	public void testDeleteWithChildren() throws Exception {
-		TextEdit e1= new DeleteEdit(2, 6);
-		MultiTextEdit e2= new MultiTextEdit(3, 3);
-		e1.addChild(e2);
-		TextEdit e3= new ReplaceEdit(3, 1, "xx");
-		TextEdit e4= new ReplaceEdit(5, 1, "yy");
-		e2.addChild(e3);
-		e2.addChild(e4);
-		fRoot.addChild(e1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0189", fDocument.get());
-		assertEquals(fRoot, 2, 0);
-		assertEquals(e1, 2, 0);
-		assertTrue(e2.isDeleted());
-		assertTrue(e3.isDeleted());
-		assertTrue(e4.isDeleted());
-		doUndoRedo(undo, "0189");
-	}
-	
-	public void testTreeUpdate1() throws Exception {
-		MultiTextEdit m1= new MultiTextEdit();
-		TextEdit e1= new InsertEdit(2, "aa");
-		TextEdit e2= new InsertEdit(4, "bb");
-		m1.addChild(e1);
-		m1.addChild(e2);
-		MultiTextEdit m2= new MultiTextEdit();
-		TextEdit e3= new InsertEdit(6, "cc");
-		TextEdit e4= new InsertEdit(8, "dd");
-		m2.addChild(e3);
-		m2.addChild(e4);
-		fRoot.addChild(m1);
-		fRoot.addChild(m2);
-		assertEquals(m1, 2, 2);
-		assertEquals(m2, 6, 2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "01aa23bb45cc67dd89", fDocument.get());
-		assertEquals(e1, 2, 2);
-		assertEquals(e2, 6, 2);
-		assertEquals(e3, 10, 2);
-		assertEquals(e4, 14, 2);
-		assertEquals(m1, 2, 6);
-		assertEquals(m2, 10, 6);
-		assertEquals(fRoot, 2, 14);
-		doUndoRedo(undo, "01aa23bb45cc67dd89");
-	}
-	
-	public void testMove1() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(5, s1);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0142356789", fDocument.get());
-		assertEquals(s1, 2, 0);
-		assertEquals(t1, 3, 2);
-		doUndoRedo(undo, "0142356789");
-	}
-	
-	public void testMove2() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(5, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(2, s1);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0156234789", fDocument.get());
-		assertEquals(s1, 7, 0);
-		assertEquals(t1, 2, 2);
-		doUndoRedo(undo, "0156234789");
-	}
-
-	public void testMove3() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(7, s1);
-		TextEdit e2= new ReplaceEdit(4, 1, "x");
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		fRoot.addChild(e2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "01x5623789", fDocument.get());
-		assertEquals(s1, 2, 0);
-		assertEquals(t1, 5, 2);
-		assertEquals(e2, 2, 1);
-		doUndoRedo(undo, "01x5623789");
-	}
-	
-	public void testMove4() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(7, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(2, s1);
-		TextEdit e2= new ReplaceEdit(5, 1, "x");
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		fRoot.addChild(e2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0178234x69", fDocument.get());
-		assertEquals(s1, 9, 0);
-		assertEquals(t1, 2, 2);
-		assertEquals(e2, 7, 1);
-		doUndoRedo(undo, "0178234x69");
-	}
-	
-	public void testMove5() throws Exception {
-		// Move onto itself
-		MoveSourceEdit s1= new MoveSourceEdit(2, 1);
-		MoveTargetEdit t1= new MoveTargetEdit(3, s1);
-		TextEdit e2= new ReplaceEdit(2, 1, "x");
-		s1.addChild(e2);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 2, 0);
-		assertEquals(t1, 2, 1);
-		assertEquals(e2, 2, 1);
-		assertEquals("Buffer content", "01x3456789", fDocument.get());
-		doUndoRedo(undo, "01x3456789");
-	}
-	
-	public void testMove6() throws Exception {
-		// Move onto itself
-		MoveSourceEdit s1= new MoveSourceEdit(2, 1);
-		MoveTargetEdit t1= new MoveTargetEdit(2, s1);
-		TextEdit e2= new ReplaceEdit(2, 1, "x");
-		s1.addChild(e2);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 3, 0);
-		assertEquals(t1, 2, 1);
-		assertEquals(e2, 2, 1);
-		assertEquals("Buffer content", "01x3456789", fDocument.get());
-		doUndoRedo(undo,"01x3456789");
-	}
-	
-	public void testMove7() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 3);
-		MoveTargetEdit t1= new MoveTargetEdit(7, s1);
-		TextEdit e2= new ReplaceEdit(3, 1, "x");
-		s1.addChild(e2);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "01562x4789", fDocument.get());
-		assertEquals(s1, 2, 0);
-		assertEquals(t1, 4, 3);
-		assertEquals(e2, 5, 1);
-		doUndoRedo(undo, "01562x4789");
-	}
-	
-	public void testMove8() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(5, 3);
-		MoveTargetEdit t1= new MoveTargetEdit(1, s1);
-		TextEdit e2= new ReplaceEdit(6, 1, "x");
-		s1.addChild(e2);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "05x7123489", fDocument.get());
-		assertEquals(s1, 8, 0);
-		assertEquals(t1, 1, 3);
-		assertEquals(e2, 2, 1);
-		doUndoRedo(undo, "05x7123489");
-	}
-		
-	public void testMove9() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(1, 3);
-		MoveTargetEdit t1= new MoveTargetEdit(5, s1);
-		
-		MoveSourceEdit s2= new MoveSourceEdit(1, 1);
-		MoveTargetEdit t2= new MoveTargetEdit(3, s2);
-		s1.addChild(s2);
-		s1.addChild(t2);
-		
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 1, 0);
-		assertEquals(t1, 2, 3);
-		
-		assertEquals(s2, 2, 0);
-		assertEquals(t2, 3, 1);
-		assertEquals("Buffer content", "0421356789", fDocument.get());
-		doUndoRedo(undo, "0421356789");
-	}
-	
-	public void testMove10() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(8, s1);
-		MoveSourceEdit s2= new MoveSourceEdit(5, 2);
-		MoveTargetEdit t2= new MoveTargetEdit(1, s2);
-		
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		fRoot.addChild(s2);
-		fRoot.addChild(t2);
-		
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 4, 0);
-		assertEquals(t1, 6, 2);		
-		assertEquals(s2, 5, 0);
-		assertEquals(t2, 1, 2);
-		assertEquals("Buffer content", "0561472389", fDocument.get());
-		doUndoRedo(undo, "0561472389");		
-	}
-	
-	public void testMoveWithRangeMarker() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(5, s1);
-		
-		RangeMarker marker= new RangeMarker(2, 2);
-		s1.addChild(marker);		
-		
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0142356789", fDocument.get());
-		assertEquals(s1, 2, 0);
-		assertEquals(t1, 3, 2);
-		assertEquals(marker, 3, 2);
-		doUndoRedo(undo, "0142356789");
-	}
-	
-	public void testMoveWithTargetDelete() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 3);
-		MoveTargetEdit t1= new MoveTargetEdit(7, s1);
-		TextEdit e2= new DeleteEdit(6, 2);
-		e2.addChild(t1);
-		fRoot.addChild(s1);
-		fRoot.addChild(e2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "01589", fDocument.get());
-		assertEquals(s1, 2, 0);
-		assertTrue(t1.isDeleted());
-		assertEquals(e2, 3, 0);
-		doUndoRedo(undo, "01589");
-	}
-	
-	public void testMoveUpWithSourceDelete() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(5, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(2, s1);
-		
-		TextEdit d1= new DeleteEdit(5, 2);
-		d1.addChild(s1);
-		
-		RangeMarker marker= new RangeMarker(5, 2);
-		s1.addChild(marker);		
-		
-		fRoot.addChild(d1);
-		fRoot.addChild(t1);
-		
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0156234789", fDocument.get());
-		assertEquals(t1, 2, 2);
-		assertEquals(marker, 2, 2);
-		assertTrue(s1.isDeleted());
-		assertEquals(d1, 7, 0);
-		doUndoRedo(undo, "0156234789");
-	}		
-	
-	public void testMoveDown() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 2);
-		TextEdit i1= new InsertEdit(5, "x");
-		MoveTargetEdit t1= new MoveTargetEdit(7, s1);
-		TextEdit d1= new DeleteEdit(9, 1);
-	
-		RangeMarker m1= new RangeMarker(2, 2);
-		s1.addChild(m1);
-		
-		fRoot.addChild(s1);
-		fRoot.addChild(i1);
-		fRoot.addChild(t1);
-		fRoot.addChild(d1);
-		
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "014x562378", fDocument.get());
-		assertEquals(s1, 2, 0);
-		assertEquals(i1, 3, 1);
-		assertEquals(t1, 6, 2);
-		assertEquals(m1, 6, 2);
-		assertEquals(d1, 10, 0);
-		doUndoRedo(undo, "014x562378");
-	}		
-		
-	public void testMoveUp() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(7, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(2, s1);
-		TextEdit i1= new InsertEdit(5, "x");
-		TextEdit d1= new DeleteEdit(9, 1);
-	
-		RangeMarker m1= new RangeMarker(7, 2);
-		s1.addChild(m1);
-		
-		fRoot.addChild(s1);
-		fRoot.addChild(i1);
-		fRoot.addChild(t1);
-		fRoot.addChild(d1);
-		
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0178234x56", fDocument.get());
-		assertEquals(s1, 10, 0);
-		assertEquals(i1, 7, 1);
-		assertEquals(t1, 2, 2);
-		assertEquals(m1, 2, 2);
-		assertEquals(d1, 10, 0);
-		doUndoRedo(undo, "0178234x56");
-	}		
-		
-	public void testMoveDownWithSourceDelete() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(7, s1);
-	
-		TextEdit d1= new DeleteEdit(2, 2);
-		d1.addChild(s1);
-		
-		RangeMarker m1= new RangeMarker(2, 2);
-		s1.addChild(m1);
-		
-		fRoot.addChild(t1);
-		fRoot.addChild(d1);
-		
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0145623789", fDocument.get());
-		assertEquals(d1, 2, 0);
-		assertTrue(s1.isDeleted());
-		assertEquals(t1, 5, 2);
-		assertEquals(m1, 5, 2);
-		doUndoRedo(undo, "0145623789");
-	}		
-	
-	public void testMoveUpWithInnerMark() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(7, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(2, s1);
-		TextEdit m= new ReplaceEdit(4, 1, "yy");
-		fRoot.addChild(t1);
-		fRoot.addChild(m);
-		fRoot.addChild(s1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "017823yy569", fDocument.get());
-		assertEquals(s1, 10, 0);
-		assertEquals(t1, 2, 2);
-		assertEquals(m, 6, 2);
-		doUndoRedo(undo, "017823yy569");
-	}	
-	
-	public void testMoveDownWithInnerMark() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(2, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(7, s1);
-		TextEdit m= new ReplaceEdit(4, 1, "yy");
-		fRoot.addChild(t1);
-		fRoot.addChild(m);
-		fRoot.addChild(s1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "01yy5623789", fDocument.get());
-		assertEquals(s1, 2, 0);
-		assertEquals(t1, 6, 2);
-		assertEquals(m, 2, 2);
-		doUndoRedo(undo, "01yy5623789");
-	}	
-	
-	public void testMoveUpWithParentMark() throws Exception {
-		RangeMarker m= new RangeMarker(2, 6);
-		MoveSourceEdit s1= new MoveSourceEdit(4, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(3, s1);
-		m.addChild(s1);
-		m.addChild(t1);
-		fRoot.addChild(m);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0124536789", fDocument.get());
-		assertEquals(m, 2, 6);
-		assertEquals(t1, 3, 2);
-		assertEquals(s1, 6, 0);		
-		doUndoRedo(undo, "0124536789");		
-	}
-	
-	public void testMoveDownWithParentMark() throws Exception {
-		RangeMarker m= new RangeMarker(2, 6);
-		MoveSourceEdit s1= new MoveSourceEdit(2, 2);
-		MoveTargetEdit t1= new MoveTargetEdit(5, s1);
-		m.addChild(s1);
-		m.addChild(t1);
-		fRoot.addChild(m);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals("Buffer content", "0142356789", fDocument.get());
-		assertEquals(m, 2, 6);
-		assertEquals(t1, 3, 2);
-		assertEquals(s1, 2, 0);		
-		doUndoRedo(undo, "0142356789");		
-	}
-	
-	public void testNestedMoveSource() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(1, 5);
-		MoveSourceEdit s2= new MoveSourceEdit(2, 3);
-		MoveSourceEdit s3= new MoveSourceEdit(3, 1);
-		s1.addChild(s2);
-		s2.addChild(s3);
-		MoveTargetEdit t1= new MoveTargetEdit(9, s1);
-		MoveTargetEdit t2= new MoveTargetEdit(8, s2);
-		MoveTargetEdit t3= new MoveTargetEdit(7, s3);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		fRoot.addChild(t2);
-		fRoot.addChild(t3);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 1, 0);
-		assertEquals(s2, 8, 0);
-		assertEquals(s3, 5, 0);
-		assertEquals(t1, 7, 2);
-		assertEquals(t2, 4, 2);
-		assertEquals(t3, 2, 1);
-		String result= "0637248159";
-		assertEquals("Buffer content", result, fDocument.get());
-		doUndoRedo(undo, result);		
-	}
-	
-	public void testNestedMoveTarget() throws Exception {
-		MoveSourceEdit s1= new MoveSourceEdit(1, 2);
-		MoveSourceEdit s2= new MoveSourceEdit(5, 3);
-		MoveTargetEdit t1= new MoveTargetEdit(6, s1);
-		MoveTargetEdit t2= new MoveTargetEdit(9, s2);
-		s2.addChild(t1);
-		fRoot.addChild(s1);
-		fRoot.addChild(s2);
-		fRoot.addChild(t2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 1, 0);
-		assertEquals(s2, 3, 0);
-		assertEquals(t1, 5, 2);
-		assertEquals(t2, 4, 5);
-		String result= "0348512679";
-		assertEquals("Buffer content", result, fDocument.get());
-		doUndoRedo(undo, result);		
-	}
-	
-	public void testCopyDown() throws Exception {
-		CopySourceEdit s1= new CopySourceEdit(2, 3);
-		CopyTargetEdit t1= new CopyTargetEdit(8, s1);
-		
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 2, 3);
-		assertEquals(t1, 8, 3);
-		String result= "0123456723489";
-		assertEquals("Buffer content", result, fDocument.get());
-		doUndoRedo(undo, result);		
-	}
-	
-	public void testCopyUp() throws Exception {
-		CopySourceEdit s1= new CopySourceEdit(7, 2);
-		CopyTargetEdit t1= new CopyTargetEdit(3, s1);
-		
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 9, 2);
-		assertEquals(t1, 3, 2);
-		String result= "012783456789";
-		assertEquals("Buffer content", result, fDocument.get());
-		doUndoRedo(undo, result);		
-	}
-	
-	public void testDoubleCopy() throws Exception {
-		CopySourceEdit s1= new CopySourceEdit(5, 2);
-		CopyTargetEdit t1= new CopyTargetEdit(8, s1);
-		CopySourceEdit s2= new CopySourceEdit(5, 2);
-		CopyTargetEdit t2= new CopyTargetEdit(2, s2);
-		s1.addChild(s2);
-		
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		fRoot.addChild(t2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 7, 2);
-		assertEquals(t1, 10, 2);
-		assertEquals(s2, 7, 2);
-		assertEquals(t2, 2, 2);
-		String result= "01562345675689";
-		assertEquals("Buffer content", result, fDocument.get());
-		doUndoRedo(undo, result);		
-	}
-	
-	public void testNestedCopySource() throws Exception {
-		CopySourceEdit s1= new CopySourceEdit(1, 5);
-		CopySourceEdit s2= new CopySourceEdit(2, 3);
-		CopySourceEdit s3= new CopySourceEdit(3, 1);
-		s1.addChild(s2);
-		s2.addChild(s3);
-		CopyTargetEdit t1= new CopyTargetEdit(9, s1);
-		CopyTargetEdit t2= new CopyTargetEdit(8, s2);
-		CopyTargetEdit t3= new CopyTargetEdit(7, s3);
-		fRoot.addChild(s1);
-		fRoot.addChild(t1);
-		fRoot.addChild(t2);
-		fRoot.addChild(t3);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 1, 5);
-		assertEquals(s2, 2, 3);
-		assertEquals(s3, 3, 1);
-		assertEquals(t1, 13, 5);
-		assertEquals(t2, 9, 3);
-		assertEquals(t3, 7, 1);
-		String result= "0123456372348123459";
-		assertEquals("Buffer content", result, fDocument.get());
-		doUndoRedo(undo, result);		
-	}
-	
-	public void testNestedCopyTarget() throws Exception {
-		CopySourceEdit s1= new CopySourceEdit(1, 2);
-		CopySourceEdit s2= new CopySourceEdit(5, 3);
-		CopyTargetEdit t1= new CopyTargetEdit(6, s1);
-		CopyTargetEdit t2= new CopyTargetEdit(9, s2);
-		s2.addChild(t1);
-		fRoot.addChild(s1);
-		fRoot.addChild(s2);
-		fRoot.addChild(t2);
-		UndoEdit undo= fRoot.apply(fDocument);
-		assertEquals(s1, 1, 2);
-		assertEquals(s2, 5, 5);
-		assertEquals(t1, 6, 2);
-		assertEquals(t2, 11, 5);
-		String result= "01234512678512679";
-		assertEquals("Buffer content", result, fDocument.get());
-		doUndoRedo(undo, result);		
-	}
-	
-	public void testSwap1() throws Exception {
-		IDocument document= new Document("foo(1, 2), 3");
-		
-		MultiTextEdit root= new MultiTextEdit();
-		{
-			CopySourceEdit innerRoot= new CopySourceEdit(0, 9);
-			
-			TextEdit e1= new ReplaceEdit(0, 9, "");
-			e1.addChild(innerRoot);
-			CopyTargetEdit t1= new CopyTargetEdit(11, innerRoot);
-			
-			TextEdit e2= new ReplaceEdit(11, 1, "");
-			CopySourceEdit s2= new CopySourceEdit(11, 1);
-			e2.addChild(s2);
-			CopyTargetEdit t2= new CopyTargetEdit(0, s2);
-
-			root.addChild(e1);
-			root.addChild(t2);
-			root.addChild(e2);				
-			root.addChild(t1);
-		}
-		
-		root.apply(document);
-
-		String result= "3, foo(1, 2)";
-		assertEquals("Buffer content", result, document.get());
-	}
-	
-	public void testSwap2() throws Exception {
-		IDocument document= new Document("foo(1, 2), 3");
-		
-		MultiTextEdit root= new MultiTextEdit();
-		{
-			TextEdit e1= new ReplaceEdit(4, 1, "");
-			CopySourceEdit s1= new CopySourceEdit(4, 1);
-			e1.addChild(s1);
-			CopyTargetEdit t1= new CopyTargetEdit(7, s1);
-			
-			TextEdit e2= new ReplaceEdit(7, 1, "");
-			CopySourceEdit s2= new CopySourceEdit(7, 1);
-			e2.addChild(s2);
-			CopyTargetEdit t2= new CopyTargetEdit(4, s2);
-			
-			root.addChild(e1);
-			root.addChild(t2);
-			root.addChild(e2);				
-			root.addChild(t1);
-		}
-		
-		root.apply(document);
-
-		String result= "foo(2, 1), 3";
-		assertEquals("Buffer content", result, document.get());
-	}	
-	
-	public void testSwap2InSwap1() throws Exception {
-		IDocument document= new Document("foo(1, 2), 3");
-		
-		CopySourceEdit innerRoot= new CopySourceEdit(0, 9);
-		{
-			TextEdit e1= new ReplaceEdit(4, 1, "");
-			CopySourceEdit s1= new CopySourceEdit(4, 1);
-			e1.addChild(s1);
-			CopyTargetEdit t1= new CopyTargetEdit(7, s1);
-			
-			TextEdit e2= new ReplaceEdit(7, 1, "");
-			CopySourceEdit s2= new CopySourceEdit(7, 1);
-			e2.addChild(s2);
-			CopyTargetEdit t2= new CopyTargetEdit(4, s2);
-			
-			innerRoot.addChild(e1);
-			innerRoot.addChild(t2);
-			innerRoot.addChild(e2);				
-			innerRoot.addChild(t1);
-		}
-		MultiTextEdit root= new MultiTextEdit();
-		{
-			TextEdit e1= new ReplaceEdit(0, 9, "");
-			e1.addChild(innerRoot);
-			CopyTargetEdit t1= new CopyTargetEdit(11, innerRoot);
-			
-			TextEdit e2= new ReplaceEdit(11, 1, "");
-			CopySourceEdit s2= new CopySourceEdit(11, 1);
-			e2.addChild(s2);
-			CopyTargetEdit t2= new CopyTargetEdit(0, s2);
-
-			root.addChild(e1);
-			root.addChild(t2);
-			root.addChild(e2);				
-			root.addChild(t1);
-		}
-
-		root.apply(document);
-
-		String result= "3, foo(2, 1)";
-		assertEquals("Buffer content", result, document.get());
-	}	
-	
-	private void doUndoRedo(UndoEdit undo, String redoResult) throws Exception {
-		UndoEdit redo= undo.apply(fDocument);
-		assertBufferContent();
-		undo= redo.apply(fDocument);
-		assertEquals("Buffer content redo", redoResult, fDocument.get());
-		undo.apply(fDocument);
-		assertBufferContent();
-	}
-	
-	private void assertEquals(TextEdit edit, int offset, int length) {
-		assertEquals("Offset", offset, edit.getOffset());
-		assertEquals("Length", length, edit.getLength());	
-	}
-	
-	private void assertBufferContent() {
-		assertEquals("Buffer content restored", "0123456789", fDocument.get());
-	}		
-}
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeHierarchyTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeHierarchyTest.java
deleted file mode 100644
index 3a11ebe..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeHierarchyTest.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.ITypeHierarchyChangedListener;
-
-import org.eclipse.jdt.ui.JavaUI;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-
-public class TypeHierarchyTest extends TestCase {
-	
-	private static final Class THIS= TypeHierarchyTest.class;
-	
-	private IJavaProject fJavaProject1;
-	private IJavaProject fJavaProject2;
-	
-	public TypeHierarchyTest(String name) {
-		super(name);
-	}
-			
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new AllTypesCacheTest("testHierarchyWithWorkingCopy"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-	
-	protected void setUp() throws Exception {
-		fJavaProject1= ProjectTestSetup.getProject();
-		fJavaProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");
-	}
-
-	protected void tearDown () throws Exception {
-		JavaProjectHelper.clear(fJavaProject1, ProjectTestSetup.getDefaultClasspath());
-		JavaProjectHelper.delete(fJavaProject2);		
-	}
-					
-	public void test1() throws Exception {
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
-		cu1.createType("public class A {\n}\n", null, true, null);
-		
-		JavaProjectHelper.addRTJar(fJavaProject2);
-		JavaProjectHelper.addRequiredProject(fJavaProject2, fJavaProject1);
-		IPackageFragmentRoot root2= JavaProjectHelper.addSourceContainer(fJavaProject2, "src");
-		IPackageFragment pack2= root2.createPackageFragment("pack2", true, null);
-		
-		ICompilationUnit cu2= pack2.getCompilationUnit("B.java");
-		IType type2= cu2.createType("public class B extends pack1.A {\n}\n", null, true, null);
-		
-		ITypeHierarchy hierarchy= type2.newSupertypeHierarchy(null);
-		IType[] allTypes= hierarchy.getAllTypes();
-		
-		assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
-		
-		IType type= fJavaProject2.findType("pack1.A");
-		assertTrue("Type not found", type != null);
-
-	}
-	
-	
-	public void testHierarchyWithWorkingCopy1() throws Exception {
-		
-		if (!JavaPlugin.USE_WORKING_COPY_OWNERS) {
-			return;
-		}
-		
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
-		cu1.createType("public class A {\n}\n", null, true, null);
-		
-		IPackageFragment pack2= root1.createPackageFragment("pack2", true, null);
-		
-		ICompilationUnit cu2= pack2.getCompilationUnit("B.java");
-		IType type2= cu2.createType("public class B extends pack1.A {\n}\n", null, true, null);
-		
-		final int[] updateCount= new int[] {0};
-		
-		ITypeHierarchy hierarchy= type2.newSupertypeHierarchy(null);
-		hierarchy.addTypeHierarchyChangedListener(new ITypeHierarchyChangedListener() {
-			public void typeHierarchyChanged(ITypeHierarchy typeHierarchy) {
-				updateCount[0]++;
-			}
-		});
-		
-		IType[] allTypes= hierarchy.getAllTypes();
-		
-		assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
-		assertTrue("Update count should be 0, is: " + updateCount[0], updateCount[0] == 0);
-		
-		IEditorPart part= EditorUtility.openInEditor(type2);
-		try {
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			String superType= "pack1.A";
-			
-			int offset= document.get().indexOf(superType);
-			
-			document.replace(offset, superType.length(), "Object");
-			
-			allTypes= hierarchy.getAllTypes();
-		
-			// no update of hierarchies on working copies
-			assertTrue("Update count should be 0, is: " + updateCount[0], updateCount[0] == 0);
-			assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
-			
-			part.doSave(null);
-			hierarchy.refresh(null);
-			
-			allTypes= hierarchy.getAllTypes();
-		
-			// update after save
-			assertTrue("Update count should be 1, is: " + updateCount[0], updateCount[0] == 1);
-			hierarchy.refresh(null);
-			assertTrue("Should contain 2 types, contains: " + allTypes.length, allTypes.length == 2);
-			
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-		
-		allTypes= hierarchy.getAllTypes();
-		
-		// update after save
-		assertTrue("Update count should be 1, is: " + updateCount[0], updateCount[0] == 1);
-		assertTrue("Should contain 2 types, contains: " + allTypes.length, allTypes.length == 2);
-
-
-	}
-	
-	public void testHierarchyWithWorkingCopy2() throws Exception {
-		
-		if (!JavaPlugin.USE_WORKING_COPY_OWNERS) {
-			return;
-		}
-		
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
-		cu1.createType("public class A {\n}\n", null, true, null);
-		
-		IPackageFragment pack2= root1.createPackageFragment("pack2", true, null);
-		
-		ICompilationUnit cu2= pack2.getCompilationUnit("B.java");
-		IType type2= cu2.createType("public class B extends pack1.A {\n}\n", null, true, null);
-			
-		IEditorPart part= EditorUtility.openInEditor(type2);
-
-		final int[] updateCount= new int[] {0};
-		
-		// create on type in working copy
-		ITypeHierarchy hierarchy= type2.newSupertypeHierarchy(null);
-		hierarchy.addTypeHierarchyChangedListener(new ITypeHierarchyChangedListener() {
-			public void typeHierarchyChanged(ITypeHierarchy typeHierarchy) {
-				updateCount[0]++;
-			}
-		});
-		
-		IType[] allTypes= hierarchy.getAllTypes();
-	
-		assertTrue("Update count should be 0, is: " + updateCount[0], updateCount[0] == 0);
-		assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
-		
-		try {
-			
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			String superType= "pack1.A";
-			
-			int offset= document.get().indexOf(superType);
-			
-			document.replace(offset, superType.length(), "Object");
-			
-			allTypes= hierarchy.getAllTypes();
-		
-			// no update of hierarchies on working copies
-			assertTrue("Update count should be 0, is: " + updateCount[0], updateCount[0] == 0);
-			assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
-			
-			part.doSave(null);
-			hierarchy.refresh(null);
-			
-			allTypes= hierarchy.getAllTypes();
-		
-			// update after save
-			assertTrue("Update count should be 1, is: " + updateCount[0], updateCount[0] == 1);
-			hierarchy.refresh(null);
-			assertTrue("Should contain 2 types, contains: " + allTypes.length, allTypes.length == 2);
-
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-		
-		allTypes= hierarchy.getAllTypes();
-		
-		// update after save
-		assertTrue("Update count should be 1, is: " + updateCount[0], updateCount[0] == 1);
-		assertTrue("Should contain 2 types, contains: " + allTypes.length, allTypes.length == 2);	
-
-	}
-	
-	public void testHierarchyWithWorkingCopy3() throws Exception {
-		
-		if (!JavaPlugin.USE_WORKING_COPY_OWNERS) {
-			return;
-		}
-		
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJavaProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("pack1", true, null);
-		
-		ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
-		cu1.createType("public class A {\n}\n", null, true, null);
-		
-		IPackageFragment pack2= root1.createPackageFragment("pack2", true, null);
-		
-		ICompilationUnit cu2= pack2.getCompilationUnit("B.java");
-		IType type2= cu2.createType("public class B extends pack1.A {\n}\n", null, true, null);
-		
-		// open editor -> working copy will be created
-		IEditorPart part= EditorUtility.openInEditor(type2);
-
-		final int[] updateCount= new int[] {0};
-		
-		// create on type in working copy
-		ITypeHierarchy hierarchy= type2.newSupertypeHierarchy(null);
-		hierarchy.addTypeHierarchyChangedListener(new ITypeHierarchyChangedListener() {
-			public void typeHierarchyChanged(ITypeHierarchy typeHierarchy) {
-				updateCount[0]++;
-			}
-		});
-		
-		IType[] allTypes= hierarchy.getAllTypes();
-	
-		assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
-		assertTrue("Update count should be 0, is: " + updateCount[0], updateCount[0] == 0);
-		
-		try {			
-			IDocument document= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			String superType= "pack1.A";
-			
-			int offset= document.get().indexOf(superType);
-			// modify source
-			document.replace(offset, superType.length(), "Object");
-			
-			allTypes= hierarchy.getAllTypes();
-		
-			// no update of hierarchies on working copies
-			assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
-			assertTrue("Update count should be 0, is: " + updateCount[0], updateCount[0] == 0);
-			
-			// no save
-			
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-		
-		allTypes= hierarchy.getAllTypes();
-		
-		// update after save
-		assertTrue("Should contain 3 types, contains: " + allTypes.length, allTypes.length == 3);
-		assertTrue("Update count should be 0, is: " + updateCount[0], updateCount[0] == 0);
-
-	}
-	
-	
-
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeInfoTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeInfoTest.java
deleted file mode 100644
index 572c118..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeInfoTest.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.core;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-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.internal.corext.util.AllTypesCache;
-import org.eclipse.jdt.internal.corext.util.IFileTypeInfo;
-import org.eclipse.jdt.internal.corext.util.JarFileEntryTypeInfo;
-import org.eclipse.jdt.internal.corext.util.TypeInfo;
-import org.eclipse.jdt.internal.corext.util.TypeInfoRequestor;
-
-
-public class TypeInfoTest extends TestCase {
-	
-	private static final Class THIS= TypeInfoTest.class;
-	
-	private IJavaProject fJProject1;
-	private IJavaProject fJProject2;
-
-	public TypeInfoTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new TypeInfoTest("test1"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-	protected void setUp() throws Exception {
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
-		assertNotNull("jre is null", JavaProjectHelper.addRTJar(fJProject1));
-		
-		fJProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");
-		assertNotNull("jre is null", JavaProjectHelper.addRTJar(fJProject2));		
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.delete(fJProject1);
-		JavaProjectHelper.delete(fJProject2);		
-		
-	}
-
-
-	public void test1() throws Exception {
-		
-		// add Junit source to project 2
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("Junit source", junitSrcArchive != null && junitSrcArchive.exists());
-		JavaProjectHelper.addSourceContainerWithImport(fJProject2, "src", junitSrcArchive);
-	
-		// source folder
-		IPackageFragmentRoot root1= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		IPackageFragment pack1= root1.createPackageFragment("com.oti", true, null);
-		ICompilationUnit cu1= pack1.getCompilationUnit("V.java");
-		cu1.createType("public class V {\n static class VInner {\n}\n}\n", null, true, null);
-
-		// proj1 has proj2 as prerequisit
-		JavaProjectHelper.addRequiredProject(fJProject1, fJProject2);
-
-		// internal jar
-		//IPackageFragmentRoot root2= JavaProjectHelper.addLibraryWithImport(fJProject1, JARFILE, null, null);
-		ArrayList result= new ArrayList();
-
-		IJavaElement[] elements= new IJavaElement[] { fJProject1 };
-		IJavaSearchScope scope= SearchEngine.createJavaSearchScope(elements);
-		ITypeNameRequestor requestor= new TypeInfoRequestor(result);
-		SearchEngine engine= new SearchEngine();
-
-		engine.searchAllTypeNames(
-			fJProject1.getJavaModel().getWorkspace(),
-			null, 
-			new char[] {'V'}, 
-			IJavaSearchConstants.PREFIX_MATCH, 
-			IJavaSearchConstants.CASE_INSENSITIVE, 
-			IJavaSearchConstants.TYPE, 
-			scope, 
-			requestor, 
-			IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, 
-			null); 
-		findTypeRef(result, "com.oti.V");
-		findTypeRef(result, "com.oti.V.VInner");
-		findTypeRef(result, "java.lang.VerifyError");
-		findTypeRef(result, "java.lang.Void");
-		findTypeRef(result, "java.util.Vector");
-		findTypeRef(result, "junit.samples.VectorTest");
-
-		
-		for (int i= 0; i < result.size(); i++) {
-			TypeInfo ref= (TypeInfo) result.get(i);
-			//System.out.println(ref.getTypeName());
-			IType resolvedType= ref.resolveType(scope);
-			if (resolvedType == null) {
-				assertTrue("Could not be resolved: " + ref.toString(), false);
-			}
-		}
-		assertTrue("Should find 9 elements, is " + result.size(), result.size() == 9);
-
-
-	}
-	
-	private void findTypeRef(List refs, String fullname) {
-		for (int i= 0; i <refs.size(); i++) {
-			TypeInfo curr= (TypeInfo) refs.get(i);
-			if (fullname.equals(curr.getFullyQualifiedName())) {
-				return;
-			}
-		}
-		assertTrue("Type not found: " + fullname, false);
-	}
-		
-	
-	public void test2() throws Exception {	
-		ArrayList result= new ArrayList();
-		
-		// add Junit source to project 2
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("Junit source", junitSrcArchive != null && junitSrcArchive.exists());
-		JavaProjectHelper.addSourceContainerWithImport(fJProject2, "src", junitSrcArchive);
-		
-		
-		IJavaProject[] elements= new IJavaProject[] { fJProject2 };
-		IJavaSearchScope scope= SearchEngine.createJavaSearchScope(elements);
-		ITypeNameRequestor requestor= new TypeInfoRequestor(result);
-		SearchEngine engine= new SearchEngine();
-
-		engine.searchAllTypeNames(
-			fJProject1.getJavaModel().getWorkspace(),
-			null, 
-			new char[] {'T'}, 
-			IJavaSearchConstants.PREFIX_MATCH, 
-			IJavaSearchConstants.CASE_INSENSITIVE, 
-			IJavaSearchConstants.TYPE, 
-			scope, 
-			requestor, 
-			IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, 
-			null); 
-
-		findTypeRef(result, "junit.extensions.TestDecorator");
-		findTypeRef(result, "junit.framework.Test");
-		findTypeRef(result, "junit.framework.TestListener");
-		findTypeRef(result, "junit.tests.TestCaseTest.TornDown");
-
-		assertTrue("Should find 37 elements, is " + result.size(), result.size() == 37);
-		//System.out.println("Elements found: " + result.size());
-		for (int i= 0; i < result.size(); i++) {
-			TypeInfo ref= (TypeInfo) result.get(i);
-			//System.out.println(ref.getTypeName());
-			IType resolvedType= ref.resolveType(scope);
-			if (resolvedType == null) {
-				assertTrue("Could not be resolved: " + ref.toString(), false);
-			}
-		}
-	}
-	
-	
-	
-	
-	
-	public void testNoSourceFolder() throws Exception {
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJProject1, "");
-		IPackageFragment pack1= root.createPackageFragment("", true, null);
-		ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
-		cu1.createType("public class A {\n}\n", null, true, null);		
-
-		IPackageFragment pack2= root.createPackageFragment("org.eclipse", true, null);
-		ICompilationUnit cu2= pack2.getCompilationUnit("B.java");
-		cu2.createType("public class B {\n}\n", null, true, null);
-		
-		TypeInfo[] result= AllTypesCache.getAllTypes(new NullProgressMonitor());
-		for (int i= 0; i < result.length; i++) {
-			TypeInfo info= result[i];
-			if (info.getElementType() == TypeInfo.IFILE_TYPE_INFO) {
-				IFileTypeInfo fileInfo= (IFileTypeInfo)info;
-				if (info.getTypeName().equals("A")) {
-					assertEquals(info.getPackageName(), "");
-					assertEquals(fileInfo.getProject(), "TestProject1");
-					assertNull(fileInfo.getFolder());
-					assertEquals(fileInfo.getFileName(), "A");
-					assertEquals(fileInfo.getExtension(), "java");
-				} else if (info.getTypeName().equals("B")) {
-					assertEquals(info.getPackageName(), "org.eclipse");
-					assertEquals(fileInfo.getProject(), "TestProject1");
-					assertNull(fileInfo.getFolder());
-					assertEquals(fileInfo.getFileName(), "B");
-					assertEquals(fileInfo.getExtension(), "java");
-				}
-			}
-		}
-	}
-
-	public void testSourceFolder() throws Exception {
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-		IPackageFragment pack1= root.createPackageFragment("", true, null);
-		ICompilationUnit cu1= pack1.getCompilationUnit("A.java");
-		cu1.createType("public class A {\n}\n", null, true, null);		
-
-		IPackageFragment pack2= root.createPackageFragment("org.eclipse", true, null);
-		ICompilationUnit cu2= pack2.getCompilationUnit("B.java");
-		cu2.createType("public class B {\n}\n", null, true, null);
-		
-		TypeInfo[] result= AllTypesCache.getAllTypes(new NullProgressMonitor());
-		for (int i= 0; i < result.length; i++) {
-			TypeInfo info= result[i];
-			if (info.getElementType() == TypeInfo.IFILE_TYPE_INFO) {
-				IFileTypeInfo fileInfo= (IFileTypeInfo)info;
-				if (info.getTypeName().equals("A")) {
-					assertEquals(info.getPackageName(), "");
-					assertEquals(fileInfo.getProject(), "TestProject1");
-					assertEquals(fileInfo.getFolder(), "src");
-					assertEquals(fileInfo.getFileName(), "A");
-					assertEquals(fileInfo.getExtension(), "java");
-				} else if (info.getTypeName().equals("B")) {
-					assertEquals(info.getPackageName(), "org.eclipse");
-					assertEquals(fileInfo.getProject(), "TestProject1");
-					assertEquals(fileInfo.getFolder(), "src");
-					assertEquals(fileInfo.getFileName(), "B");
-					assertEquals(fileInfo.getExtension(), "java");
-				}
-			}
-		}
-	}
-	
-	public void testJar() throws Exception {
-		TypeInfo[] result= AllTypesCache.getAllTypes(new NullProgressMonitor());
-		for (int i= 0; i < result.length; i++) {
-			TypeInfo info= result[i];
-			if (info.getElementType() == TypeInfo.JAR_FILE_ENTRY_TYPE_INFO) {
-				JarFileEntryTypeInfo jarInfo= (JarFileEntryTypeInfo)info;
-				if (info.getTypeName().equals("Object")) {
-					assertEquals(info.getPackageName(), "java.lang");
-					assertTrue(jarInfo.getJar().endsWith("rtstubs.jar"));
-					assertEquals(jarInfo.getFileName(), "Object");
-					assertEquals(jarInfo.getExtension(), "class");
-				}
-			}
-		}		
-	}
-
-	public void test_bug44772() throws Exception {
-		File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-
-		JavaProjectHelper.addLibraryWithImport(fJProject1, new Path(lib.getPath()), null, null); // as internal 
-		JavaProjectHelper.addLibrary(fJProject1, new Path(lib.getPath())); // and as external
-		
-		ArrayList result= new ArrayList();
-
-		IJavaElement[] elements= new IJavaElement[] { fJProject1 };
-		IJavaSearchScope scope= SearchEngine.createJavaSearchScope(elements);
-		ITypeNameRequestor requestor= new TypeInfoRequestor(result);
-		SearchEngine engine= new SearchEngine();
-
-		engine.searchAllTypeNames(
-			fJProject1.getJavaModel().getWorkspace(),
-			null, 
-			"Foo".toCharArray(),
-			IJavaSearchConstants.EXACT_MATCH, 
-			IJavaSearchConstants.CASE_SENSITIVE, 
-			IJavaSearchConstants.TYPE, 
-			scope, 
-			requestor, 
-			IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, 
-			null); 
-		assertEquals("result size", result.size(), 2);
-		IType type1= ((TypeInfo) result.get(0)).resolveType(scope);
-		IType type2= ((TypeInfo) result.get(1)).resolveType(scope);
-		
-		assertNotNull(type1);
-		assertNotNull(type2);
-		assertFalse(type1.equals(type2));
-
-	}
-
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeRulesTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeRulesTest.java
deleted file mode 100644
index 51952df..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/core/TypeRulesTest.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.ui.tests.core;
-
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.ITypeBinding;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-
-import org.eclipse.jdt.internal.corext.dom.TypeRules;
-
-
-public class TypeRulesTest extends CoreTests {
-	
-	private static final Class THIS= TypeRulesTest.class;
-	
-	private IJavaProject fJProject1;
-
-	private IPackageFragmentRoot fSourceFolder;
-
-	public TypeRulesTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new TypeRulesTest("test1"));
-			return new ProjectTestSetup(suite);
-		}	
-	}
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(JavaCore.COMPILER_PB_NO_EFFECT_ASSIGNMENT, JavaCore.IGNORE);
-		options.put(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK, JavaCore.IGNORE);
-		options.put(JavaCore.COMPILER_PB_UNUSED_LOCAL, JavaCore.IGNORE);
-		JavaCore.setOptions(options);
-		
-		fJProject1= ProjectTestSetup.getProject();
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	
-	private VariableDeclarationFragment[] createVariables() throws JavaModelException {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.util.Collection;\n");
-		buf.append("import java.io.Serializable;\n");
-		buf.append("import java.net.Socket;\n");
-		buf.append("public class E {\n");
-		buf.append("    boolean bool= false;\n");
-		buf.append("    char c= 0;\n");
-		buf.append("    byte b= 0;\n");
-		buf.append("    short s= 0;\n");
-		buf.append("    int i= 0;\n");
-		buf.append("    long l= 0;\n");
-		buf.append("    float f= 0;\n");
-		buf.append("    double d= 0;\n");
-		buf.append("    Object object= null;\n");
-		buf.append("    Vector vector= null;\n");
-		buf.append("    Socket socket= null;\n");
-		buf.append("    Cloneable cloneable= null;\n");
-		buf.append("    Collection collection= null;\n");
-		buf.append("    Serializable serializable= null;\n");
-		buf.append("    Object[] objectArr= null;\n");
-		buf.append("    int[] int_arr= null;\n");
-		buf.append("    long[] long_arr= null;\n");
-		buf.append("    Vector[] vector_arr= null;\n");
-		buf.append("    Socket[] socket_arr= null;\n");
-		buf.append("    Collection[] collection_arr= null;\n");
-		buf.append("    Object[][] objectArrArr= null;\n");
-		buf.append("    Collection[][] collection_arrarr= null;\n");
-		buf.append("    Vector[][] vector_arrarr= null;\n");
-		buf.append("    Socket[][] socket_arrarr= null;\n");
-		buf.append("}\n");
-		ICompilationUnit cu1=pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		ASTParser parser= ASTParser.newParser(AST.LEVEL_2_0);
-		parser.setSource(cu1);
-		parser.setResolveBindings(true);
-		
-		CompilationUnit astRoot= (CompilationUnit) parser.createAST(null);
-		IProblem[] problems= astRoot.getProblems();
-		assertNumberOf("problems", problems.length, 0);
-		
-		TypeDeclaration type= (TypeDeclaration) astRoot.types().get(0);
-		FieldDeclaration[] fields= type.getFields();
-		
-		VariableDeclarationFragment[] targets= new VariableDeclarationFragment[fields.length];
-		for (int i= 0; i < fields.length; i++) {
-			targets[i]= (VariableDeclarationFragment) fields[i].fragments().get(0);
-		}
-		return targets;
-	}
-	
-	public void testCanAssign() throws Exception {
-		VariableDeclarationFragment[] targets= createVariables();
-		
-		for (int k= 0; k < targets.length; k++) {
-			for (int n= 0; n < targets.length; n++) {
-				VariableDeclarationFragment f1= targets[k];
-				VariableDeclarationFragment f2= targets[n];
-				String line= f2.getName().getIdentifier() + "= " + f1.getName().getIdentifier();
-				
-				StringBuffer buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class F extends E {\n");
-				buf.append("    void foo() {\n");
-				buf.append("        ").append(line).append(";\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				char[] content= buf.toString().toCharArray();
-				
-				ASTParser parser= ASTParser.newParser(AST.LEVEL_2_0);
-				parser.setSource(content);
-				parser.setProject(fJProject1);
-				parser.setUnitName("F.java");
-				
-				CompilationUnit astRoot= (CompilationUnit) parser.createAST(null);
-				IProblem[] problems= astRoot.getProblems();
-
-				ITypeBinding b1= f1.resolveBinding().getType();
-				assertNotNull(b1);
-				ITypeBinding b2= f2.resolveBinding().getType();
-				assertNotNull(b2);
-				boolean res= TypeRules.canAssign(b1, b2.getQualifiedName());
-				assertEquals(line, problems.length == 0, res);
-				boolean res2= TypeRules.canAssign(b1, b2);
-				assertEquals(line, problems.length == 0, res2);			
-			}	
-		}
-	}
-	
-	public void testCanCast() throws Exception {
-		VariableDeclarationFragment[] targets= createVariables();
-		for (int k= 0; k < targets.length; k++) {
-			for (int n= 0; n < targets.length; n++) {
-				VariableDeclarationFragment f1= targets[k];
-				VariableDeclarationFragment f2= targets[n];
-				
-				String castType= f2.resolveBinding().getType().getQualifiedName();
-				String line= castType + " x= (" + castType + ") " + f1.getName().getIdentifier();
-				
-				StringBuffer buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class F extends E {\n");
-				buf.append("    void foo() {\n");
-				buf.append("        ").append(line).append(";\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				char[] content= buf.toString().toCharArray();
-				
-				ASTParser parser= ASTParser.newParser(AST.LEVEL_2_0);
-				parser.setSource(content);
-				parser.setResolveBindings(true);
-				parser.setProject(fJProject1);
-				parser.setUnitName("F.java");
-				
-				CompilationUnit astRoot= (CompilationUnit) parser.createAST(null);
-				IProblem[] problems= astRoot.getProblems();
-
-				ITypeBinding b1= f1.resolveBinding().getType();
-				assertNotNull(b1);
-				ITypeBinding b2= f2.resolveBinding().getType();
-				assertNotNull(b2);
-				boolean res= TypeRules.canCast(b2, b1);
-				if (res != (problems.length == 0)) {
-					res= TypeRules.canCast(b2, b1);
-					assertTrue(line, false);
-				}
-			}	
-		}
-	}
-		
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/DialogsTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/DialogsTest.java
deleted file mode 100644
index 9247bce..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/DialogsTest.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.ui.tests.dialogs;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.util.DialogCheck;
-
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.JavaElementSorter;
-import org.eclipse.jdt.ui.StandardJavaElementContentProvider;
-
-import org.eclipse.jdt.internal.corext.util.AllTypesCache;
-import org.eclipse.jdt.internal.corext.util.TypeInfo;
-import org.eclipse.jdt.internal.ui.JavaUIMessages;
-import org.eclipse.jdt.internal.ui.dialogs.MultiElementListSelectionDialog;
-import org.eclipse.jdt.internal.ui.dialogs.OpenTypeSelectionDialog;
-import org.eclipse.jdt.internal.ui.util.TypeInfoLabelProvider;
-import org.eclipse.jdt.internal.ui.wizards.NewWizardMessages;
-
-public class DialogsTest extends TestCase {
-	
-	private static final String PROJECT_NAME = "DummyProject";
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite(DialogsTest.class.getName());
-//		suite.addTest(new DialogsTest("testElementListSelectionDialog2"));
-		suite.addTest(new DialogsTest("testElementListSelectionDialog"));
-		suite.addTest(new DialogsTest("testMultiElementSelectionDialog"));
-		suite.addTest(new DialogsTest("testTwoPaneSelectionDialog"));
-		suite.addTest(new DialogsTest("testElementTreeSelectionDialog"));
-		suite.addTest(new DialogsTest("testElementListSelectionDialog"));
-		return suite;
-	}
-
-	public DialogsTest(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	public void testTwoPaneSelectionDialog() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		JavaProjectHelper.addSourceContainer(jproject, "src1");
-		JavaProjectHelper.addRTJar(jproject);
-		
-		OpenTypeSelectionDialog dialog= new OpenTypeSelectionDialog(getShell(), new ProgressMonitorDialog(getShell()), 
-			IJavaSearchConstants.TYPE, SearchEngine.createWorkspaceScope());
-	
-		dialog.setTitle(JavaUIMessages.getString("OpenTypeAction.dialogTitle")); //$NON-NLS-1$
-		dialog.setMessage(JavaUIMessages.getString("OpenTypeAction.dialogMessage")); //$NON-NLS-1$
-
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);
-	}
-	
-	private TypeInfo[] getRefs(ArrayList list, int off, int len) {
-		TypeInfo[] res= new TypeInfo[len];
-		for (int i= 0; i < len; i++) {
-			res[i]= (TypeInfo) list.get(off + i);
-		}
-		return res;
-	}
-	
-	public void testMultiElementSelectionDialog() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		JavaProjectHelper.addSourceContainer(jproject, "src1");
-		JavaProjectHelper.addRTJar(jproject);
-
-		ILabelProvider labelProvider= new TypeInfoLabelProvider(TypeInfoLabelProvider.SHOW_FULLYQUALIFIED);
-
-		ArrayList list= new ArrayList(200);
-
-		IJavaSearchScope searchScope= SearchEngine.createJavaSearchScope(new IJavaElement[] { jproject });		
-		AllTypesCache.getTypes(searchScope, IJavaSearchConstants.TYPE, null, list);
-		
-		MultiElementListSelectionDialog dialog= new MultiElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setTitle("Title"); //$NON-NLS-1$
-		dialog.setMessage("Description:"); //$NON-NLS-1$
-	
-		assertTrue(list.size() > 15);
-		TypeInfo[][] refs= new TypeInfo[][] { getRefs(list, 0, 3), getRefs(list, 4, 6), getRefs(list, 10, 5) };
-		dialog.setElements(refs);
-		dialog.setInitialSelections(new Object[refs.length]);
-		
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);		
-	
-	}
-	
-	public void testElementTreeSelectionDialog() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		JavaProjectHelper.addSourceContainer(jproject, "src1");
-		Object initSelection= JavaProjectHelper.addSourceContainer(jproject, "src2");
-
-		IJavaProject jproject2= JavaProjectHelper.createJavaProject("Project2", "bin");
-		JavaProjectHelper.addSourceContainer(jproject2, "src1");
-		JavaProjectHelper.addSourceContainer(jproject2, "src2");
-
-		StandardJavaElementContentProvider provider= new StandardJavaElementContentProvider();
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT); 
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), labelProvider, provider);
-		dialog.setSorter(new JavaElementSorter());
-		dialog.setTitle(NewWizardMessages.getString("ContainerPage.ChooseSourceContainerDialog.title")); //$NON-NLS-1$
-		dialog.setMessage(NewWizardMessages.getString("ContainerPage.ChooseSourceContainerDialog.description")); //$NON-NLS-1$
-		
-		dialog.setInput(jproject.getJavaModel());
-		dialog.setInitialSelection(initSelection);
-		
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);	
-		JavaProjectHelper.delete(jproject2);
-	}
-	
-	public void testElementListSelectionDialog() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root=  JavaProjectHelper.addRTJar(jproject);
-		assertTrue(root != null);
-		Object[] elements= root.getChildren();
-
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT));
-		dialog.setIgnoreCase(false);
-		dialog.setTitle(NewWizardMessages.getString("TypePage.ChoosePackageDialog.title")); //$NON-NLS-1$
-		dialog.setMessage(NewWizardMessages.getString("TypePage.ChoosePackageDialog.description")); //$NON-NLS-1$
-		dialog.setEmptyListMessage(NewWizardMessages.getString("TypePage.ChoosePackageDialog.empty")); //$NON-NLS-1$		
-		dialog.setElements(elements);
-		
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);	
-	}
-	
-
-	private static class TestLabelProvider extends LabelProvider {
-		public Image getImage(Object element) {
-			return null;
-		}
-		
-		public String getText(Object element) {
-			Integer i= (Integer) element;			
-			return "e-" + i.toString();
-		}
-	}
-
-	public void testElementListSelectionDialog2() throws Exception {
-		Object[] elements= new Integer[] {
-			new Integer(0),
-			new Integer(1),
-			new Integer(2),
-			new Integer(7),
-			new Integer(12),
-			new Integer(42)			
-		};
-
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), new TestLabelProvider());
-		dialog.setIgnoreCase(false);
-		dialog.setTitle(NewWizardMessages.getString("TypePage.ChoosePackageDialog.title")); //$NON-NLS-1$
-		dialog.setMessage(NewWizardMessages.getString("TypePage.ChoosePackageDialog.description")); //$NON-NLS-1$
-		dialog.setEmptyListMessage(NewWizardMessages.getString("TypePage.ChoosePackageDialog.empty")); //$NON-NLS-1$		
-		dialog.setElements(elements);
-		dialog.setInitialSelections(new Object[] {new Integer(7)});
-		
-		DialogCheck.assertDialog(dialog);
-		
-		Object[] results= dialog.getResult();
-		assertTrue(results.length == 1);
-		assertEquals(new Integer(7), results[0]);
-	}
-
-}
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/DialogsTest2.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/DialogsTest2.java
deleted file mode 100644
index e5fe434..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/DialogsTest2.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.ui.tests.dialogs;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-
-import org.eclipse.ui.dialogs.CheckedTreeSelectionDialog;
-
-import org.eclipse.jdt.core.IJavaProject;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.util.DialogCheck;
-
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.JavaElementSorter;
-import org.eclipse.jdt.ui.StandardJavaElementContentProvider;
-
-public class DialogsTest2 extends TestCase {
-	
-	private static final String PROJECT_NAME = "DummyProject";
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite(DialogsTest2.class.getName());
-		suite.addTest(new DialogsTest2("testCheckedTreeSelectionDialog"));
-		suite.addTest(new DialogsTest2("testCheckedTreeSelectionDialog"));
-		return suite;
-	}
-
-	public DialogsTest2(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	public void testCheckedTreeSelectionDialog() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		JavaProjectHelper.addSourceContainer(jproject, "src1");
-		Object initSelection= JavaProjectHelper.addSourceContainer(jproject, "src2");
-
-		IJavaProject jproject2= JavaProjectHelper.createJavaProject("Project2", "bin");
-		JavaProjectHelper.addSourceContainer(jproject2, "src1");
-		JavaProjectHelper.addSourceContainer(jproject2, "src2");
-
-		StandardJavaElementContentProvider provider= new StandardJavaElementContentProvider();
-		ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT); 
-		CheckedTreeSelectionDialog dialog= new CheckedTreeSelectionDialog(getShell(), labelProvider, provider);
-		dialog.setSorter(new JavaElementSorter());
-		dialog.setTitle("Title"); //$NON-NLS-1$
-		dialog.setMessage("Select the elements"); //$NON-NLS-1$
-		
-		dialog.setInput(jproject.getJavaModel());
-		dialog.setInitialSelection(initSelection);
-		dialog.setExpandedElements(new Object[] { initSelection, jproject });
-		
-		DialogCheck.assertDialog(dialog);
-		
-		System.out.println("Result:");
-		Object[] checkedElements= dialog.getResult();
-		for (int i= 0; i < checkedElements.length; i++) {
-			System.out.println(labelProvider.getText(checkedElements[i]));
-		}
-		
-		
-		JavaProjectHelper.delete(jproject);	
-		JavaProjectHelper.delete(jproject2);
-	}
-
-}
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/PreferencesTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/PreferencesTest.java
deleted file mode 100644
index ec97317..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/PreferencesTest.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.ui.tests.dialogs;
-
-import java.util.Iterator;
-
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.IHelpContextIds;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.dialogs.PropertyDialog;
-import org.eclipse.ui.internal.dialogs.PropertyPageContributorManager;
-import org.eclipse.ui.internal.dialogs.PropertyPageManager;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.util.DialogCheck;
-
-public class PreferencesTest extends TestCase {
-	
-	public static Test suite() {
-		TestSuite suite= new TestSuite(PreferencesTest.class.getName());
-		suite.addTest(new PreferencesTest("testJavaBasePrefPage"));
-		suite.addTest(new PreferencesTest("testClasspathVarPrefPage"));
-		suite.addTest(new PreferencesTest("testCodeFormatterPrefPage"));
-		suite.addTest(new PreferencesTest("testExecArgPropPage"));
-		suite.addTest(new PreferencesTest("testImportOrganizePrefPage"));
-		suite.addTest(new PreferencesTest("testInfoPropPage"));
-		suite.addTest(new PreferencesTest("testJARSourceAttachmentPropPage"));
-		suite.addTest(new PreferencesTest("testJavaBasePrefPage"));
-		suite.addTest(new PreferencesTest("testJavaCompilerPrefPage"));
-		suite.addTest(new PreferencesTest("testJavaDebugPrefPage"));
-		suite.addTest(new PreferencesTest("testJavaEditorPrefPage"));
-		suite.addTest(new PreferencesTest("testNoExecArgPropPage"));
-		suite.addTest(new PreferencesTest("testRefactoringPrefPage"));
-		suite.addTest(new PreferencesTest("testVMPrefPage"));
-		suite.addTest(new PreferencesTest("testVMPropPage"));
-		suite.addTest(new PreferencesTest("testVSourceLookupPage"));
-		suite.addTest(new PreferencesTest("testVariableSourceAttachmentPropPage"));					
-		return suite;
-	}	
-	
-	private static class PreferenceDialogWrapper extends PreferenceDialog {
-		
-		public PreferenceDialogWrapper(Shell parentShell, PreferenceManager manager) {
-			super(parentShell, manager);
-		}
-		protected boolean showPage(IPreferenceNode node) {
-			return super.showPage(node);
-		}
-	}
-	
-	private class PropertyDialogWrapper extends PropertyDialog {
-		
-		public PropertyDialogWrapper(Shell parentShell, PreferenceManager manager, ISelection selection) {
-			super(parentShell, manager, selection);
-		}
-		protected boolean showPage(IPreferenceNode node) {
-			return super.showPage(node);
-		}
-	}		
-	
-	
-	private boolean fIsInteractive= true;
-	
-	private static final String PROJECT_NAME = "DummyProject";
-	
-	public PreferencesTest(String name) {
-		super(name);
-	}
-
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	
-	public void assertDialog(Dialog dialog, Assert assertTrue) {
-		if (fIsInteractive) {
-			DialogCheck.assertDialog(dialog);
-		} else {
-			DialogCheck.assertDialogTexts(dialog);
-		}
-	}
-	
-	
-	private PreferenceDialog getPreferenceDialog(String id) {
-		PreferenceDialogWrapper dialog = null;
-		PreferenceManager manager = WorkbenchPlugin.getDefault().getPreferenceManager();
-		if (manager != null) {
-			dialog = new PreferenceDialogWrapper(getShell(), manager);
-			dialog.create();	
-			WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.PREFERENCE_DIALOG);
-
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-			     iterator.hasNext();)
-			{
-				IPreferenceNode node = (IPreferenceNode)iterator.next();
-				if ( node.getId().equals(id) ) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	
-	private PropertyDialog getPropertyDialog(String id, IAdaptable element) {
-		PropertyDialogWrapper dialog = null;
-
-		PropertyPageManager manager = new PropertyPageManager();
-		String title = "";
-		String name  = "";
-
-		// load pages for the selection
-		// fill the manager with contributions from the matching contributors
-		PropertyPageContributorManager.getManager().contribute(manager, element);
-		
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter)element.getAdapter(IWorkbenchAdapter.class);
-		if (adapter != null) {
-			name = adapter.getLabel(element);
-		}
-		
-		// testing if there are pages in the manager
-		Iterator pages = manager.getElements(PreferenceManager.PRE_ORDER).iterator();		
-		if (!pages.hasNext()) {
-			return null;
-		} else {
-			title = WorkbenchMessages.format("PropertyDialog.propertyMessage", new Object[] {name});
-			dialog = new PropertyDialogWrapper(getShell(), manager, new StructuredSelection(element)); 
-			dialog.create();
-			dialog.getShell().setText(title);
-			WorkbenchHelp.setHelp(dialog.getShell(), IHelpContextIds.PROPERTY_DIALOG);
-			for (Iterator iterator = manager.getElements(PreferenceManager.PRE_ORDER).iterator();
-			     iterator.hasNext();)
-			{
-				IPreferenceNode node = (IPreferenceNode)iterator.next();
-				if ( node.getId().equals(id) ) {
-					dialog.showPage(node);
-					break;
-				}
-			}
-		}
-		return dialog;
-	}
-	
-	public void testJavaBasePrefPage() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage");
-		assertDialog(dialog, this);
-	}
-	
-	public void testImportOrganizePrefPage() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.preferences.ImportOrganizePreferencePage");
-		assertDialog(dialog, this);
-	}
-	
-	public void testCodeFormatterPrefPage() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.preferences.CodeFormatterPreferencePage");
-		assertDialog(dialog, this);
-	}
-	
-	public void testClasspathVarPrefPage() throws Exception {
-		IPath path= ResourcesPlugin.getWorkspace().getRoot().getLocation();		
-		JavaCore.setClasspathVariable("DUMMY_VAR", path, null);
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.preferences.ClasspathVariablesPreferencePage");
-		assertDialog(dialog, this);
-		JavaCore.removeClasspathVariable("DUMMY_VAR", null);
-	}
-	
-	public void testJavaEditorPrefPage() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage");
-		assertDialog(dialog, this);
-	}
-	
-	public void testJavaCompilerPrefPage() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.preferences.CompilerPreferencePage");
-		assertDialog(dialog, this);
-	}
-	
-	public void testJavaDebugPrefPage() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.JavaDebugPreferencePage");
-		assertDialog(dialog, this);
-	}
-	
-	public void testRefactoringPrefPage() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.preferences.RefactoringPreferencePage");
-		assertDialog(dialog, this);
-	}
-	
-	public void testVMPrefPage() {
-		Dialog dialog = getPreferenceDialog("org.eclipse.jdt.ui.preferences.VMPreferencePage");
-		assertDialog(dialog, this);
-	}
-
-	public void testBuildPathPropPage() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		JavaProjectHelper.addSourceContainer(jproject, "src");
-		JavaProjectHelper.addRTJar(jproject);
-		IJavaProject dep1= JavaProjectHelper.createJavaProject("OtherProject", "bin");
-		JavaProjectHelper.addRequiredProject(jproject, dep1);
-		
-		Dialog dialog = getPropertyDialog("org.eclipse.jdt.ui.propertyPages.BuildPathsPropertyPage", jproject);
-		assertDialog(dialog, this);
-		JavaProjectHelper.delete(jproject);
-		JavaProjectHelper.delete(dep1);
-	}
-	
-	public void testJARSourceAttachmentPropPage() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addRTJar(jproject);
-		assertTrue(root != null);
-		
-		Dialog dialog = getPropertyDialog("org.eclipse.jdt.ui.propertyPages.SourceAttachmentPage1", root);
-		assertDialog(dialog, this);
-		
-		JavaProjectHelper.delete(jproject);
-	}
-	
-	public void testVariableSourceAttachmentPropPage() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addVariableRTJar(jproject, "VAR_LIB", "VAR_SRC", "VAR_SRCROOT");
-		assertTrue(root != null);
-		
-		Dialog dialog = getPropertyDialog("org.eclipse.jdt.ui.propertyPages.SourceAttachmentPage1", root);
-		assertDialog(dialog, this);
-		
-		JavaProjectHelper.delete(jproject);
-		JavaCore.removeClasspathVariable("VAR_LIB", null);
-		JavaCore.removeClasspathVariable("VAR_SRC", null);
-		JavaCore.removeClasspathVariable("VAR_SRCROOT", null);
-	}
-	
-	public void testInfoPropPage() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(jproject, "src");
-		IPackageFragment pack= root.createPackageFragment("org.eclipse.jdt.internal.ui.wizards.dummy", true, null);
-		ICompilationUnit cu= pack.getCompilationUnit("DummyCompilationUnitWizard.java");
-		cu.createType("public class DummyCompilationUnitWizard {\n\n}\n", null, true, null);	
-		
-		Dialog dialog = getPropertyDialog("org.eclipse.jdt.ui.propertyPages.InfoPage", cu);
-		assertDialog(dialog, this);
-		
-		JavaProjectHelper.delete(jproject);
-	}
-	
-	public void testNoExecArgPropPage() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(jproject, "src");
-		IPackageFragment pack= root.createPackageFragment("org.eclipse.jdt.internal.ui.hello", true, null);
-		ICompilationUnit cu= pack.getCompilationUnit("HelloWorld.java");
-		cu.createType("public class HelloWorld {\n\n}\n", null, true, null);	
-	
-		Dialog dialog = getPropertyDialog("org.eclipse.jdt.ui.propertyPages.ExecutionArgsPage", cu);
-		assertDialog(dialog, this);
-		
-		JavaProjectHelper.delete(jproject);
-	}	
-	
-	public void testExecArgPropPage() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(jproject, "src");
-		IPackageFragment pack= root.createPackageFragment("org.eclipse.jdt.internal.ui.hello", true, null);
-		ICompilationUnit cu= pack.getCompilationUnit("HelloWorld.java");
-		cu.createType("public class HelloWorld {\npublic static void main(String[] args) {}\n}\n", null, true, null);	
-	
-		Dialog dialog = getPropertyDialog("org.eclipse.jdt.ui.propertyPages.ExecutionArgsPage", cu);
-		assertDialog(dialog, this);
-		
-		JavaProjectHelper.delete(jproject);
-	}	
-		
-
-	public void testVMPropPage() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-
-		Dialog dialog = getPropertyDialog("org.eclipse.jdt.ui.propertyPages.VMPropertyPage", jproject);
-		assertDialog(dialog, this);
-		
-		JavaProjectHelper.delete(jproject);
-	}	
-	
-	public void testVSourceLookupPage() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IJavaProject dep1= JavaProjectHelper.createJavaProject("OtherProject", "bin");
-		JavaProjectHelper.addRequiredProject(jproject, dep1);
-		
-		Dialog dialog = getPropertyDialog("org.eclipse.jdt.ui.launching.SourceLookupPage", jproject);
-		assertDialog(dialog, this);
-		
-		JavaProjectHelper.delete(jproject);
-		JavaProjectHelper.delete(dep1);
-	}	
-	
-}
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/WizardsTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/WizardsTest.java
deleted file mode 100644
index 7c7d151..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/dialogs/WizardsTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.dialogs;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.util.DialogCheck;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-import org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard;
-import org.eclipse.jdt.internal.ui.wizards.JavaProjectWizard;
-import org.eclipse.jdt.internal.ui.wizards.NewClassCreationWizard;
-import org.eclipse.jdt.internal.ui.wizards.NewInterfaceCreationWizard;
-import org.eclipse.jdt.internal.ui.wizards.NewPackageCreationWizard;
-import org.eclipse.jdt.internal.ui.wizards.NewSourceFolderCreationWizard;
-
-public class WizardsTest extends TestCase {
-	
-	private static final String PROJECT_NAME = "DummyProject";
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite(WizardsTest.class.getName());
-		suite.addTest(new WizardsTest("testClassWizard"));
-		suite.addTest(new WizardsTest("testInterfaceWizard"));
-		suite.addTest(new WizardsTest("testJarPackageWizard"));
-		suite.addTest(new WizardsTest("testNewProjectWizard"));
-		suite.addTest(new WizardsTest("testPackageWizard"));
-		suite.addTest(new WizardsTest("testSourceFolderWizard"));				
-		return suite;
-	}		
-	
-	public WizardsTest(String name) {
-		super(name);
-	}
-	private Shell getShell() {
-		return DialogCheck.getShell();
-	}
-	private IWorkbench getWorkbench() {
-		return WorkbenchPlugin.getDefault().getWorkbench();
-	}
-	
-	public void testNewProjectWizard() throws Exception {	
-		JavaProjectWizard wizard = new JavaProjectWizard();
-		wizard.init(getWorkbench(),  null);
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		DialogCheck.assertDialog(dialog);
-	}
-	
-	public void testSourceFolderWizard() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		JavaProjectHelper.addSourceContainer(jproject, "src1");
-		JavaProjectHelper.addRTJar(jproject);
-	
-		NewSourceFolderCreationWizard wizard = new NewSourceFolderCreationWizard();
-		wizard.init(getWorkbench(), new StructuredSelection(jproject));
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);
-	}
-	
-	public void testPackageWizard() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(jproject, "src1");
-		JavaProjectHelper.addRTJar(jproject);
-	
-		NewPackageCreationWizard wizard = new NewPackageCreationWizard();
-		wizard.init(getWorkbench(), new StructuredSelection(root));
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);
-	}
-	
-	public void testClassWizard() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(jproject, "src1");
-		IPackageFragment pack= root.createPackageFragment("org.eclipse.jdt.internal.ui.hello", true, null);
-		JavaProjectHelper.addRTJar(jproject);
-	
-		NewClassCreationWizard wizard = new NewClassCreationWizard();
-		wizard.init(getWorkbench(), new StructuredSelection(pack));
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);
-	}
-	
-	public void testInterfaceWizard() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(jproject, "src1");
-		IPackageFragment pack= root.createPackageFragment("org.eclipse.jdt.internal.ui.hello", true, null);
-		JavaProjectHelper.addRTJar(jproject);
-	
-		NewInterfaceCreationWizard wizard = new NewInterfaceCreationWizard();
-		wizard.init(getWorkbench(), new StructuredSelection(pack));
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);
-	}
-		
-	public void testJarPackageWizard() throws Exception {
-		IJavaProject jproject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin");
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(jproject, "src1");
-		JavaProjectHelper.addRTJar(jproject);
-		IPackageFragment pack= root.createPackageFragment("org.eclipse.jdt.internal.ui.hello", true, null);
-		ICompilationUnit cu= pack.getCompilationUnit("HelloWorld.java");
-		cu.createType("public class HelloWorld {\npublic static void main(String[] args) {}\n}\n", null, true, null);	
-	
-		JarPackageWizard wizard = new JarPackageWizard();
-		wizard.init(getWorkbench(), new StructuredSelection(root));
-		wizard.setForcePreviousAndNextButtons(true);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		DialogCheck.assertDialog(dialog);
-		
-		JavaProjectHelper.delete(jproject);
-	}				
-	
-}
-
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests1.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests1.java
deleted file mode 100644
index 476a51d..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests1.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.ui.tests.packageview;
-
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-/**
- * Tests for the PackageExplorerContentProvider.
- * 
- * @since 2.1
- */
-public class ContentProviderTests1 extends TestCase {
-
-
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite("org.eclipse.jdt.ui.ContentProviderTests1"); //$NON-NLS-1$
-		//$JUnit-BEGIN$
-	   suite.addTestSuite(ContentProviderTests1.class);
-		//$JUnit-END$
-		return suite;
-	}
-
-	private IJavaProject fJProject1;
-	private IJavaProject fJProject2;
-	
-	private IPackageFragmentRoot fRoot1;
-	private IPackageFragment fPack1;
-	private IPackageFragment fPack2;
-	private IPackageFragment fPack4;
-	private IPackageFragment fPack3;
-	private IWorkspace fWorkspace;
-	private IWorkbench fWorkbench;
-	private MockPluginView fMyPart;
-	
-	private ITreeContentProvider fProvider;
-	private IPackageFragmentRoot fArchiveFragmentRoot;
-	private IPackageFragment fPackJunit;
-	private IPackageFragment fPackJunitSamples;
-	private IPackageFragment fPackJunitSamplesMoney;
-
-	private IPackageFragment fPack5;
-	private IPackageFragment fPack6;
-	private IFile fFile1;
-	private IFile fFile2;
-	private ICompilationUnit fCUIMoney;
-	private ICompilationUnit fCUMoney;
-	private ICompilationUnit fCUMoneyBag;
-	private ICompilationUnit fCUMoneyTest;
-	
-	private ICompilationUnit fCU1;
-	private ICompilationUnit fCU2;
-	
-	private IWorkbenchPage page;
-	private ICompilationUnit fCUAllTests;
-	private ICompilationUnit fCUVectorTest;
-	private ICompilationUnit fCUSimpleTest;
-	private boolean fEnableAutoBuildAfterTesting;
-	private ICompilationUnit fCU3;
-	
-	public ContentProviderTests1(String name) {
-		super(name);
-	}
-	
-	//---------Test for getChildren-------------------
-
-	public void testGetChildrenProjectWithSourceFolders() throws Exception{
-		Object[] expectedChildren= new Object[]{fRoot1, fFile1, fFile2};
-		Object[] children= fProvider.getChildren(fJProject2);
-		assertTrue("Wrong children found for project", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	
-	public void testGetChildrentMidLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{fPack4, fPack5};
-		Object[] children= fProvider.getChildren(fPack3);
-		assertTrue("Wrong children found for PackageFragment",compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{fCU1};
-		Object[] children= fProvider.getChildren(fPack2);
-		assertTrue("Wrong children found for PackageFragment",compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-
-	public void testGetChildrenMidLevelFragmentInArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{fPackJunitSamplesMoney, fCUAllTests, fCUSimpleTest, fCUVectorTest };
-		Object[] children= fProvider.getChildren(fPackJunitSamples);
-		assertTrue("wrong chidren found for mid level PackageFragment in Archive", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-
-	public void testGetChildrenBottomLevelFragmentInArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{fCUIMoney, fCUMoney, fCUMoneyBag, fCUMoneyTest};
-		Object[] children= fProvider.getChildren(fPackJunitSamplesMoney);
-		assertTrue("wrong children found for a bottom PackageFragment in PackageFragmentRoot Archive", compareArrays(children, expectedChildren));	//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenSourceFolder() throws Exception {
-		Object[] expectedChildren = new Object[] { fPack1, fPack2, fPack3, fRoot1.getPackageFragment("")};//$NON-NLS-1$
-		Object[] children = fProvider.getChildren(fRoot1);
-		assertTrue("Wrong children found for PackageFragmentRoot", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenArchive(){	Object[] expectedChildren= new Object[]{fPackJunit, fArchiveFragmentRoot.getPackageFragment("")};//$NON-NLS-1$
-		Object[] children= fProvider.getChildren(fArchiveFragmentRoot);
-		assertTrue("Wrong child found for PackageFragmentRoot Archive", compareArrays(children,expectedChildren));//$NON-NLS-1$
-	}
-	
-	//---------------Get Parent Tests-----------------------------
-	
-	public void testGetParentArchive() throws Exception{
-		Object parent= fProvider.getParent(fArchiveFragmentRoot);
-		assertTrue("Wrong parent found for PackageFragmentRoot Archive", parent==fJProject1);//$NON-NLS-1$
-	}
-
-	public void testGetParentMidLevelFragmentInArchive() throws Exception{
-		Object expectedParent= fPackJunitSamples;
-		Object parent= fProvider.getParent(fPackJunitSamplesMoney);
-		assertTrue("Wrong parent found for a NON top level PackageFragment in an Archive", expectedParent.equals(parent));//$NON-NLS-1$
-	}	
-	
-	public void testGetParentTopLevelFragmentInArchive() throws Exception{
-		Object expectedParent= fPackJunit;
-		Object parent= fProvider.getParent(fPackJunitSamples);
-		assertTrue("Wrong parent found for a top level PackageFragment in an Archive", expectedParent.equals(parent));	//$NON-NLS-1$
-	}
-	
-	public void testGetParentTopLevelFragment() throws Exception{
-		Object expectedParent= fRoot1;
-		Object parent= fProvider.getParent(fPack3);
-		assertTrue("Wrong parent found for a top level PackageFragment", expectedParent.equals(parent));//$NON-NLS-1$
-	}
-	
-	public void testGetParentMidLevelFragment() throws Exception{
-		Object expectedParent= fPack3;
-		Object parent= fProvider.getParent(fPack4);
-		assertTrue("Wrong parent found for a NON top level PackageFragment", expectedParent.equals(parent));//$NON-NLS-1$
-	}
-	
-	
-	public void testDeleteBottomLevelFragment() throws Exception{
-		
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener)fProvider;
-		IJavaElementDelta delta= TestDelta.createDelta(fPack4, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-		
-		//force events from dispaly
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-		
-		assertTrue("Remove happened", fMyPart.hasRemoveHappened());//$NON-NLS-1$
-		assertTrue("Correct Remove", fMyPart.getRemovedObject().contains(fPack4));//$NON-NLS-1$
-		assertEquals("No refreshes", 0, fMyPart.getRefreshedObject().size());//$NON-NLS-1$
-	}
-	
-	public void testAddBottomLevelFragment() throws Exception {
-		IPackageFragment test= fRoot1.createPackageFragment("test", true, null);//$NON-NLS-1$
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createDelta(test, IJavaElementDelta.ADDED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from dispaly
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-
-		assertTrue("Add happened", fMyPart.hasAddHappened()); //$NON-NLS-1$
-		assertTrue("Correct Add", test.equals(fMyPart.getAddedObject())); //$NON-NLS-1$
-		assertEquals("No refreshes", 0, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-
-	public void testChangedTopLevelPackageFragment() throws Exception {
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createDelta(fPack3, IJavaElementDelta.CHANGED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-
-		assertEquals("No refresh happened", 0, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-	
-	public void testChangeBottomLevelPackageFragment() throws Exception{
-		//send a delta indicating fragment deleted
-		fMyPart.fRefreshedObjects= new ArrayList();
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createDelta(fPack6, IJavaElementDelta.CHANGED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-		
-		//force events from display
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-
-		assertEquals("No refresh happened", 0, fMyPart.getRefreshedObject().size());//$NON-NLS-1$
-	}
-		
-	public void testRemoveCUsFromPackageFragment() throws Exception{
-		
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[] { fCU2, fCU3 }, fPack6, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-		
-		//force events from display
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-		
-		assertTrue("Remove happened", fMyPart.hasRemoveHappened()); //$NON-NLS-1$
-		assertEquals("2 elements removed", 2, fMyPart.getRemovedObject().size()); //$NON-NLS-1$
-		assertTrue("Correct elements removed", fMyPart.getRemovedObject().contains(fCU2) && fMyPart.getRemovedObject().contains(fCU3)); //$NON-NLS-1$
-		assertEquals("No refreshes", 0, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-	
-	public void testRemoveCUFromPackageFragment() throws Exception {
-		
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[]{fCU2}, fPack6, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display			
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-
-		assertTrue("Remove happened", fMyPart.hasRemoveHappened()); //$NON-NLS-1$
-		assertTrue("Correct refresh", fMyPart.getRemovedObject().contains(fCU2)); //$NON-NLS-1$
-		assertEquals("No refreshes", 0, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-	
-
-	/**
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-		fWorkspace= ResourcesPlugin.getWorkspace();
-		assertNotNull(fWorkspace);
-		IWorkspaceDescription workspaceDesc= fWorkspace.getDescription();
-		fEnableAutoBuildAfterTesting= workspaceDesc.isAutoBuilding();
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(false);
-		
-		assertNotNull(fWorkspace);	
-		
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		fJProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		
-		assertNotNull("project1 null", fJProject1);//$NON-NLS-1$
-		assertNotNull("project2 null", fJProject2);//$NON-NLS-1$
-		
-		fJProject1.setRawClasspath(new IClasspathEntry[0], null);
-
-		Object[] resource= fJProject2.getNonJavaResources();
-		for (int i = 0; i < resource.length; i++) {
-			Object object = resource[i];
-			if(object instanceof IFile){
-				IFile file = (IFile) object;
-				if(".classpath".equals(file.getName()))//$NON-NLS-1$
-					fFile1= file;
-				else if (".project".equals(file.getName()))//$NON-NLS-1$
-					fFile2= file;
-			}
-		}
-		assertNotNull(fFile1);
-		assertNotNull(fFile2);
-		
-		//set up project #1 : External Jar and zip file
-		IPackageFragmentRoot jdk= JavaProjectHelper.addVariableRTJar(fJProject1, "JRE_LIB_TEST", null, null);//$NON-NLS-1$
-		assertTrue("jdk not found", jdk != null);//$NON-NLS-1$
-
-		java.io.File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());//$NON-NLS-1$
-
-		fArchiveFragmentRoot= JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);//$NON-NLS-1$
-		assertTrue("Unable to create zipfile archive",fArchiveFragmentRoot.exists());//$NON-NLS-1$
-		
-		fPackJunit= fArchiveFragmentRoot.getPackageFragment("junit");//$NON-NLS-1$
-		fPackJunitSamples= fArchiveFragmentRoot.getPackageFragment("junit.samples");//$NON-NLS-1$
-		fPackJunitSamplesMoney= fArchiveFragmentRoot.getPackageFragment("junit.samples.money");//$NON-NLS-1$
-		
-		assertNotNull("creating fPackJunit", fPackJunit);//$NON-NLS-1$
-		assertNotNull("creating fPackJunitSamples", fPackJunitSamples);//$NON-NLS-1$
-		assertNotNull("creating fPackJunitSamplesMoney",fPackJunitSamplesMoney);//$NON-NLS-1$
-		
-		fCUIMoney= fPackJunitSamplesMoney.getCompilationUnit("IMoney.java");//$NON-NLS-1$
-		fCUMoney= fPackJunitSamplesMoney.getCompilationUnit("Money.java");//$NON-NLS-1$
-		fCUMoneyBag= fPackJunitSamplesMoney.getCompilationUnit("MoneyBag.java");//$NON-NLS-1$
-		fCUMoneyTest= fPackJunitSamplesMoney.getCompilationUnit("MoneyTest.java");//$NON-NLS-1$
-		
-		fCUAllTests= fPackJunitSamples.getCompilationUnit("AllTests.java");//$NON-NLS-1$
-		fCUVectorTest= fPackJunitSamples.getCompilationUnit("VectorTest.java");//$NON-NLS-1$
-		fCUSimpleTest= fPackJunitSamples.getCompilationUnit("SimpleTest.java");//$NON-NLS-1$
-		//set up project #2: file system structure with in a source folder
-
-	//	JavaProjectHelper.addVariableEntry(fJProject2, new Path("JRE_LIB_TEST"), null, null);
-
-		fRoot1= JavaProjectHelper.addSourceContainer(fJProject2, "src1");//$NON-NLS-1$
-		fPack1= fRoot1.createPackageFragment("pack1", true, null);//$NON-NLS-1$
-		fPack2= fRoot1.createPackageFragment("pack2", true, null);//$NON-NLS-1$
-		fPack3= fRoot1.createPackageFragment("pack3",true,null);//$NON-NLS-1$
-		fPack4= fRoot1.createPackageFragment("pack3.pack4", true,null);//$NON-NLS-1$
-		fPack5= fRoot1.createPackageFragment("pack3.pack5",true,null);//$NON-NLS-1$
-		fPack6= fRoot1.createPackageFragment("pack3.pack5.pack6", true, null);//$NON-NLS-1$
-		
-		fCU1= fPack2.createCompilationUnit("Object.java", "", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU2= fPack6.createCompilationUnit("Object.java","", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU3= fPack6.createCompilationUnit("Jen.java","", true,null);//$NON-NLS-1$//$NON-NLS-2$
-		
-		//set up the mock view
-		setUpMockView();
-	}
-	
-	public void setUpMockView() throws Exception{
-		
-		fWorkbench= PlatformUI.getWorkbench();
-		assertNotNull(fWorkbench);
-		
-		page= fWorkbench.getActiveWorkbenchWindow().getActivePage();
-		assertNotNull(page);
-		
-		//just testing to make sure my part can be created
-		IViewPart myPart= new MockPluginView();
-		assertNotNull(myPart);
-		
-		myPart= page.showView("org.eclipse.jdt.ui.tests.packageview.MockPluginView");//$NON-NLS-1$
-		if (myPart instanceof MockPluginView) {
-			fMyPart= (MockPluginView) myPart;
-			fMyPart.setFolding(false);
-			// above call might cause a property change event being sent
-			fMyPart.fRefreshedObjects.clear();
-			fProvider= (ITreeContentProvider)fMyPart.getTreeViewer().getContentProvider();
-		}else assertTrue("Unable to get view",false);//$NON-NLS-1$
-	
-		assertNotNull(fProvider);		
-	}
-
-	/**
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		fArchiveFragmentRoot.close();
-			
-		JavaProjectHelper.delete(fJProject1);
-		JavaProjectHelper.delete(fJProject2);
-		page.hideView(fMyPart);
-		fMyPart.dispose();
-		
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);
-		
-		super.tearDown();
-	}
-	
-	/**
-	 * Method compareArrays. Both arrays must be of IPackageFragments or compare will fail.
-	 * @param children
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean compareArrays(Object[] children, Object[] expectedChildren) {
-		if(children.length!=expectedChildren.length)
-			return false;
-		for (int i= 0; i < children.length; i++) {
-			Object child= children[i];
-			if (child instanceof IJavaElement) {
-				IJavaElement el= (IJavaElement) child;
-				if(!contains(el, expectedChildren))
-					return false;
-			} else if(child instanceof IResource){
-				IResource res = (IResource) child;	
-				if(!contains(res, expectedChildren)){
-					return false;	
-				}
-			}
-		}
-		return true;
-	}
-	/**
-	 * Method contains.
-	 * @param res
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean contains(IResource res, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IResource) {
-				IResource expres= (IResource) object;
-				if(expres.equals(res))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Method contains.
-	 * @param fragment
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean contains(IJavaElement fragment, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IJavaElement) {
-				IJavaElement expfrag= (IJavaElement) object;
-				if(expfrag.equals(fragment))
-					return true;
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests2.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests2.java
deleted file mode 100644
index 73a9501..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests2.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.ui.tests.packageview;
-
-import java.io.File;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-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.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-/**
- * Tests for the PackageExplorerContentProvider.
- * 
- * @since 2.1
- */
-public class ContentProviderTests2 extends TestCase{
-
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite("org.eclipse.jdt.ui.ContentProviderTests2"); //$NON-NLS-1$
-		//$JUnit-BEGIN$
-	   suite.addTestSuite(ContentProviderTests2.class);
-		//$JUnit-END$
-		return suite;
-	}
-	
-	private IPackageFragmentRoot fRoot1;
-	private IPackageFragment fPack1;
-	private IPackageFragment fPack2;
-	private IPackageFragment fPack4;
-	private IPackageFragment fPack3;
-	private IWorkspace fWorkspace;
-	private IWorkbench fWorkbench;
-	private MockPluginView fMyPart;
-	
-	private ITreeContentProvider fProvider;
-	
-	private IPackageFragmentRoot jdk;
-
-	private IPackageFragment fPack5;
-	private IJavaProject fJProject3;
-	private IPackageFragment fPack6;
-	private IPackageFragmentRoot fInternalRoot1;
-	private IPackageFragment fA;
-	private IPackageFragment fX;
-	private IPackageFragment fB;
-	private IPackageFragment fC;
-	private IPackageFragment fD;
-	private IPackageFragment fY;
-	private IFile fFile1;
-	private IFile fFile2;
-	private ICompilationUnit fCU1;
-	private ICompilationUnit fCU2;
-	private IClassFile fYClassFile;
-	
-	private IWorkbenchPage page;
-	private boolean fEnableAutoBuildAfterTesting;
-	
-	public ContentProviderTests2(String name) {
-		super(name);
-	}
-	
-	public void testGetChildrenProject() throws Exception{
-		Object[] expectedChildren= new Object[]{fPack1, fPack2, fPack3, fRoot1.getPackageFragment(""), fFile1, fFile2,fInternalRoot1,jdk}; //$NON-NLS-1$
-		Object[] children= fProvider.getChildren(fJProject3);
-		assertTrue("Wrong children found for project", compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrentMidLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{fPack4, fPack5};
-		Object[] children= fProvider.getChildren(fPack3);
-		assertTrue("Wrong children found for PackageFragment",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{};
-		Object[] children= fProvider.getChildren(fPack1);
-		assertTrue("Wrong children found for PackageFragment",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragmentWithCU() throws Exception{
-		Object[] expectedChildren= new Object[]{fCU1};
-		Object[] children= fProvider.getChildren(fPack2);
-		assertTrue("Wrong children found for PackageFragment with CU",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragmentFile() throws Exception{
-		Object[] expectedChildren= new Object[]{};
-		Object[] children= fProvider.getChildren(fPack1);
-		assertTrue("Wrong children found for PackageFragment with File",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragment2() throws Exception{
-		Object[] expectedChildren= new Object[]{fCU2};
-		Object[] children= fProvider.getChildren(fPack6);
-		assertTrue("Wrong children found for PackageFragment",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-
-	public void testGetChildrenMidLevelFragmentInInternalArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{fC};
-		Object[] children= fProvider.getChildren(fB);
-		assertTrue("wrong children found for a NON bottom PackageFragment in PackageFragmentRoot Internal Archive", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-
-	public void testGetChildrenBottomLevelFragmentInInternalArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{fYClassFile};
-		Object[] children= fProvider.getChildren(fY);
-		assertTrue("wrong children found for a bottom PackageFragment in PackageFragmentRoot Internal Archive", compareArrays(children, expectedChildren));	//$NON-NLS-1$
-	}
-	
-	public void getChildrenInternalArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{fX,fA, fInternalRoot1.getPackageFragment("")}; //$NON-NLS-1$
-		Object[] children= fProvider.getChildren(fInternalRoot1);	
-		assertTrue("Wrong child found for PackageFragmentRoot Internal Archive", compareArrays(children,expectedChildren));//$NON-NLS-1$
-	}
-	
-	//---------------Get Parent Tests-----------------------------
-	
-	public void testGetParentArchive() throws Exception{
-		Object parent= fProvider.getParent(fInternalRoot1);
-		assertTrue("Wrong parent found for PackageFragmentRoot Archive", parent==fJProject3); //$NON-NLS-1$
-	}
-
-	public void testGetParentMidLevelFragmentInArchive() throws Exception{
-		Object expectedParent= fB;
-		Object parent= fProvider.getParent(fC);
-		assertTrue("Wrong parent found for a NON top level PackageFragment in an Archive", expectedParent.equals(parent)); //$NON-NLS-1$
-	}	
-	
-	public void testGetParentTopLevelFragmentInArchive() throws Exception{
-		Object expectedParent= fInternalRoot1;
-		Object parent= fProvider.getParent(fA);
-		assertTrue("Wrong parent found for a top level PackageFragment in an Archive", expectedParent.equals(parent));	 //$NON-NLS-1$
-	}
-	
-	public void testGetParentTopLevelFragment() throws Exception{
-		Object expectedParent= fJProject3;
-		Object parent= fProvider.getParent(fPack3);
-		assertTrue("Wrong parent found for a top level PackageFragment", expectedParent.equals(parent)); //$NON-NLS-1$
-	}
-	
-	public void testGetParentMidLevelFragment() throws Exception{
-		Object expectedParent= fPack3;
-		Object parent= fProvider.getParent(fPack5);
-		assertTrue("Wrong parent found for a NON top level PackageFragment", expectedParent.equals(parent)); //$NON-NLS-1$
-	}
-	
-	
-	//-------------------Set up methods--------------------------------
-	/**
-	 * @see TestCase#setUp()
-	 */
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-			
-		fWorkspace= ResourcesPlugin.getWorkspace();
-		assertNotNull(fWorkspace);
-		IWorkspaceDescription workspaceDesc= fWorkspace.getDescription();
-		fEnableAutoBuildAfterTesting= workspaceDesc.isAutoBuilding();
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(false);
-		
-		//create project
-		fJProject3= JavaProjectHelper.createJavaProject("TestProject3", "bin"); //$NON-NLS-1$ //$NON-NLS-2$
-		assertNotNull("project3 null", fJProject3); //$NON-NLS-1$
-		
-		Object[] resource= fJProject3.getNonJavaResources();
-		for (int i = 0; i < resource.length; i++) {
-			Object object = resource[i];
-			if(object instanceof IFile){
-				IFile file = (IFile) object;
-				if(".classpath".equals(file.getName())) //$NON-NLS-1$
-					fFile1= file;
-				else if (".project".equals(file.getName())) //$NON-NLS-1$
-					fFile2= file;
-			}
-		}
-		assertNotNull(fFile1);
-		assertNotNull(fFile2);
-
-		//add rt.jar
-		jdk= JavaProjectHelper.addVariableRTJar(fJProject3, "JRE_LIB_TEST", null, null); //$NON-NLS-1$
-		assertTrue("jdk not found", jdk != null); //$NON-NLS-1$
-		
-		//create the PackageFragmentRoot that represents the project as source folder
-		fRoot1= JavaProjectHelper.addSourceContainer(fJProject3, ""); //$NON-NLS-1$
-		assertNotNull("getting default package", fRoot1); //$NON-NLS-1$
-		
-		//set up project #3: file system structure with project as source folder
-		//add an internal jar
-		File myInternalLibJar= JavaTestPlugin.getDefault().getFileInPlugin(new Path("testresources/myinternallib.jar")); //$NON-NLS-1$
-		assertTrue("lib not found", myInternalLibJar != null && myInternalLibJar.exists()); //$NON-NLS-1$
-		fInternalRoot1= JavaProjectHelper.addLibraryWithImport(fJProject3, new Path(myInternalLibJar.getPath()), null, null);
-	
-		//create internal PackageFragments
-		fA= fInternalRoot1.getPackageFragment("a"); //$NON-NLS-1$
-		fX= fInternalRoot1.getPackageFragment("x"); //$NON-NLS-1$
-		fB= fInternalRoot1.getPackageFragment("a.b"); //$NON-NLS-1$
-		fC= fInternalRoot1.getPackageFragment("a.b.c"); //$NON-NLS-1$
-		fD= fInternalRoot1.getPackageFragment("a.d"); //$NON-NLS-1$
-		fY= fInternalRoot1.getPackageFragment("x.y"); //$NON-NLS-1$
-		
-		fYClassFile= fY.getClassFile("Y.class"); //$NON-NLS-1$
-		
-		//create PackageFragments
-		fPack1= fRoot1.createPackageFragment("pack1", true, null); //$NON-NLS-1$
-		fPack2= fRoot1.createPackageFragment("pack2", true, null); //$NON-NLS-1$
-		fPack3= fRoot1.createPackageFragment("pack3",true,null); //$NON-NLS-1$
-		fPack4= fRoot1.createPackageFragment("pack3.pack4", true,null); //$NON-NLS-1$
-		fPack5= fRoot1.createPackageFragment("pack3.pack5",true,null); //$NON-NLS-1$
-		fPack6= fRoot1.createPackageFragment("pack3.pack5.pack6", true, null); //$NON-NLS-1$
-		
-		fCU1= fPack2.createCompilationUnit("Object.java", "", true, null); //$NON-NLS-1$ //$NON-NLS-2$
-		fCU2= fPack6.createCompilationUnit("Object.java","", true, null); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		//set up the mock view
-		setUpMockView();
-	}
-	
-	public void setUpMockView() throws Exception {
-//		fWorkspace = ResourcesPlugin.getWorkspace();
-//		assertNotNull(fWorkspace);
-
-		fWorkbench = PlatformUI.getWorkbench();
-		assertNotNull(fWorkbench);
-
-		page = fWorkbench.getActiveWorkbenchWindow().getActivePage();
-		assertNotNull(page);
-
-		//just testing to make sure my part can be created
-		IViewPart myPart = new MockPluginView();
-		assertNotNull(myPart);
-
-		myPart = page.showView("org.eclipse.jdt.ui.tests.packageview.MockPluginView"); //$NON-NLS-1$
-		if (myPart instanceof MockPluginView) {
-			fMyPart = (MockPluginView) myPart;
-			fMyPart.setFolding(false);
-			// above call might cause a property change event being sent
-			fMyPart.fRefreshedObjects.clear();
-			fProvider = (ITreeContentProvider) fMyPart.getTreeViewer().getContentProvider();
-		} else
-			assertTrue("Unable to get view", false); //$NON-NLS-1$
-
-		assertNotNull(fProvider);
-	}
-	
-	/**
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		fInternalRoot1.close();
-		JavaProjectHelper.delete(fJProject3);
-		page.hideView(fMyPart);
-		fMyPart.dispose();
-		
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);
-
-		super.tearDown();
-	}
-	
-	/**
-	 * Method compareArrays. Both arrays must be of IPackageFragments or compare will fail.
-	 * @param children
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean compareArrays(Object[] children, Object[] expectedChildren) {
-		if(children.length!=expectedChildren.length)
-			return false;
-		for (int i= 0; i < children.length; i++) {
-			Object child= children[i];
-			if (child instanceof IJavaElement) {
-				IJavaElement el= (IJavaElement) child;
-				if(!contains(el, expectedChildren))
-					return false;
-			} else if(child instanceof IResource){
-				IResource res = (IResource) child;	
-				if(!contains(res, expectedChildren)){
-					return false;	
-				}
-			}
-		}
-		return true;
-	}
-	/**
-	 * Method contains.
-	 * @param res
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean contains(IResource res, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IResource) {
-				IResource expres= (IResource) object;
-				if(expres.equals(res))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Method contains.
-	 * @param fragment
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean contains(IJavaElement fragment, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IJavaElement) {
-				IJavaElement expfrag= (IJavaElement) object;
-				if(expfrag.equals(fragment))
-					return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests3.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests3.java
deleted file mode 100644
index bb92da0..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests3.java
+++ /dev/null
@@ -1,472 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.ui.tests.packageview;
-
-import java.io.File;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-/**
- * Tests for the PackageExplorerContentProvider.
- * 
- * @since 2.1
- */
-public class ContentProviderTests3 extends TestCase {
-
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite("org.eclipse.jdt.ui.tests.ContentProviderTests3"); //$NON-NLS-1$
-		//$JUnit-BEGIN$
-	   suite.addTestSuite(ContentProviderTests3.class);
-		//$JUnit-END$
-		return suite;
-	}
-
-
-	private IJavaProject fJProject1;
-	private IJavaProject fJProject2;
-	
-	private IPackageFragmentRoot fRoot1;
-	private IPackageFragment fPack1;
-	private IPackageFragment fPack2;
-	private IPackageFragment fPack4;
-	private IPackageFragment fPack3;
-	private IWorkspace fWorkspace;
-	private IWorkbench fWorkbench;
-	private MockPluginView fMyPart;
-	
-	private ITreeContentProvider fProvider;
-	private IPackageFragmentRoot fArchiveFragmentRoot;
-	private IPackageFragment fPackJunit;
-	private IPackageFragment fPackJunitSamples;
-	private IPackageFragment fPackJunitSamplesMoney;
-
-	private IPackageFragment fPack5;
-	private IPackageFragment fPack6;
-	private IPackageFragment fPackJunitExtentions;
-	private IPackageFragment fPackJunitFramework;
-	private IPackageFragment fPackJunitRunner;
-	private IPackageFragment fPackJunitTextUi;
-	private IPackageFragment fPackJunitUi;
-	private IPackageFragment fPackJunitTests;
-	
-	private ICompilationUnit fCUIMoney;
-	private ICompilationUnit fCUMoney;
-	private ICompilationUnit fCUMoneyBag;
-	private ICompilationUnit fCUMoneyTest;
-	private ICompilationUnit fCU1;
-	private ICompilationUnit fCU2;
-	private ICompilationUnit fCU3;
-	private IFile fFile1;
-	private IFile fFile2;
-	
-	private IWorkbenchPage page;
-	private IPackageFragmentRoot jdk;
-	private boolean fEnableAutoBuildAfterTesting;
-	
-	public ContentProviderTests3(String name) {
-		super(name);
-	}
-	
-	//---------Test for getChildren-------------------
-
-	public void testGetChildrenProjectWithSourceFolders() throws Exception{
-		Object[] expectedChildren= new Object[]{fRoot1, fFile1, fFile2, jdk};
-		Object[] children= fProvider.getChildren(fJProject2);
-		assertTrue("Wrong children found for project with folding", compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	
-	public void testGetChildrentMidLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{fPack4, fPack6};
-		Object[] children= fProvider.getChildren(fPack3);
-		assertTrue("Wrong children found for PackageFragment with folding",compareArrays(children, expectedChildren));//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{};
-		Object[] children= fProvider.getChildren(fPack1);
-		assertTrue("Wrong children found for PackageFragment with folding",compareArrays(children, expectedChildren));//$NON-NLS-1$
-		
-	}
-	
-	public void testGetChildrenBottomLevelFragmentWithCU() throws Exception{
-		Object[] expectedChildren= new Object[]{fCU1};
-		Object[] children= fProvider.getChildren(fPack2);
-		assertTrue("Wrong children found for PackageFragment with folding",compareArrays(children, expectedChildren));	//$NON-NLS-1$
-	}
-
-	public void testGetChildrenBottomLevelFragmentInArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{fCUIMoney, fCUMoney, fCUMoneyBag, fCUMoneyTest};
-		Object[] children= fProvider.getChildren(fPackJunitSamplesMoney);
-		assertTrue("wrong children found for a bottom PackageFragment in PackageFragmentRoot Archive with folding", compareArrays(children, expectedChildren));	//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenSource() throws Exception{
-		Object[] expectedChildren= new Object[]{fPack1,fPack2,fPack3, fRoot1.getPackageFragment("")};//$NON-NLS-1$
-		Object[] children= fProvider.getChildren(fRoot1);
-		assertTrue("Wrong children found for PackageFragmentRoot with folding", compareArrays(children, expectedChildren));	//$NON-NLS-1$
-	}
-	
-	public void testGetChildrenArchive(){
-		Object[] expectedChildren= new Object[]{fPackJunit, fArchiveFragmentRoot.getPackageFragment("")};//$NON-NLS-1$
-		Object[] children= fProvider.getChildren(fArchiveFragmentRoot);
-		assertTrue("Wrong child found for PackageFragmentRoot Archive with folding", compareArrays(children,expectedChildren));//$NON-NLS-1$
-		
-	}
-	
-	//---------------Get Parent Tests-----------------------------
-	
-	public void testGetParentArchive() throws Exception{
-		Object parent= fProvider.getParent(fArchiveFragmentRoot);
-		assertTrue("Wrong parent found for PackageFragmentRoot Archive with folding", parent==fJProject1);//$NON-NLS-1$
-	}	
-	
-	public void testGetParentTopLevelFragmentInArchive() throws Exception{
-		Object expectedParent= fPackJunit;
-		Object parent= fProvider.getParent(fPackJunitSamples);
-		assertTrue("Wrong parent found for a top level PackageFragment in an Archive with folding", expectedParent.equals(parent));	//$NON-NLS-1$
-	}
-	
-	public void testGetParentTopLevelFragment() throws Exception{
-		Object expectedParent= fRoot1;
-		Object parent= fProvider.getParent(fPack3);
-		assertTrue("Wrong parent found for a top level PackageFragment with folding", expectedParent.equals(parent)); //$NON-NLS-1$
-	}
-	
-	public void testGetParentFoldedBottomFragment() throws Exception{
-		Object expectedParent= fRoot1;
-		Object parent= fProvider.getParent(fPack3);
-		assertTrue("Wrong parent found for a top level PackageFragment with folding", expectedParent.equals(parent));//$NON-NLS-1$
-		
-	}
-	
-	public void testGetParentMidLevelFragment() throws Exception{
-		Object expectedParent= fPack3;
-		Object parent= fProvider.getParent(fPack4);
-		assertTrue("Wrong parent found for a NON top level PackageFragment with folding", expectedParent.equals(parent));//$NON-NLS-1$
-	}
-	
-	public void testDeleteBottomLevelFragmentFolding() throws Exception {
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createDelta(fPack4, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from dispaly
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-
-		assertTrue("Refresh happened", fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-		assertTrue("Correct Refresh", fMyPart.wasObjectRefreshed(fRoot1)); //$NON-NLS-1$
-		assertTrue("Single refresh", fMyPart.getRefreshedObject().size() == 1); //$NON-NLS-1$
-	}
-
-	public void testAddBottomLevelFragmentFolding() throws Exception {
-		IPackageFragment test= fRoot1.createPackageFragment("test", true, null); //$NON-NLS-1$
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createDelta(test, IJavaElementDelta.ADDED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from dispaly
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-
-		assertTrue("Refresh happened", fMyPart.hasRefreshHappened()); //$NON-NLS-1$
-		assertTrue("Correct Refresh", fMyPart.wasObjectRefreshed(fRoot1)); //$NON-NLS-1$
-		assertTrue("Single refreshe", fMyPart.getRefreshedObject().size() == 1); //$NON-NLS-1$
-	}
-
-	public void testChangedTopLevelPackageFragmentFolding() throws Exception {
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createDelta(fPack3, IJavaElementDelta.CHANGED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from dispaly
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-		
-		assertEquals("No refreshs", 0, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-
-	public void testChangeBottomLevelPackageFragmentFolding() throws Exception {
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createDelta(fPack6, IJavaElementDelta.CHANGED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from dispaly
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-		
-		assertEquals("No refreshs",0,  fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-	
-	public void testRemoveCUsFromPackageFragment() throws Exception{
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[] { fCU2, fCU3 }, fPack6, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-
-		assertTrue("Remove happened", fMyPart.hasRemoveHappened()); //$NON-NLS-1$
-		assertEquals("2 elements removed", 2, fMyPart.getRemovedObject().size()); //$NON-NLS-1$
-		assertTrue("Correct elements removed", fMyPart.getRemovedObject().contains(fCU2) && fMyPart.getRemovedObject().contains(fCU3)); //$NON-NLS-1$
-		assertEquals("No refreshes", 0, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-
-	public void testRemoveCUFromPackageFragment() throws Exception {
-
-		//send a delta indicating fragment deleted
-		IElementChangedListener listener= (IElementChangedListener) fProvider;
-		IJavaElementDelta delta= TestDelta.createCUDelta(new ICompilationUnit[]{fCU2}, fPack6, IJavaElementDelta.REMOVED);
-		listener.elementChanged(new ElementChangedEvent(delta, ElementChangedEvent.POST_CHANGE));
-
-		//force events from display
-		while(fMyPart.getTreeViewer().getControl().getDisplay().readAndDispatch());
-
-		assertTrue("Remove happened", fMyPart.hasRemoveHappened()); //$NON-NLS-1$
-		assertTrue("Correct refresh", fMyPart.getRemovedObject().contains(fCU2)); //$NON-NLS-1$
-		assertEquals("No refreshes", 0, fMyPart.getRefreshedObject().size()); //$NON-NLS-1$
-	}
-	
-
-	/*
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-		fWorkspace= ResourcesPlugin.getWorkspace();
-		assertNotNull(fWorkspace);
-		IWorkspaceDescription workspaceDesc= fWorkspace.getDescription();
-		fEnableAutoBuildAfterTesting= workspaceDesc.isAutoBuilding();
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(false);
-
-		fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		fJProject2= JavaProjectHelper.createJavaProject("TestProject2", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		
-		assertNotNull("project1 null", fJProject1);//$NON-NLS-1$
-		assertNotNull("project2 null", fJProject2);//$NON-NLS-1$
-		
-		Object[] resource= fJProject2.getNonJavaResources();
-		for (int i = 0; i < resource.length; i++) {
-			Object object = resource[i];
-			if(object instanceof IFile){
-				IFile file = (IFile) object;
-				if(".classpath".equals(file.getName()))//$NON-NLS-1$
-					fFile1= file;
-				else if (".project".equals(file.getName()))//$NON-NLS-1$
-					fFile2= file;
-			}
-		}
-		assertNotNull(fFile1);
-		assertNotNull(fFile2);
-		
-		//set up project #1 : External Jar and zip file
-		jdk= JavaProjectHelper.addVariableRTJar(fJProject1, "JRE_LIB_TEST", null, null);//$NON-NLS-1$
-		assertTrue("jdk not found", jdk != null);//$NON-NLS-1$
-
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		
-		assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());//$NON-NLS-1$
-
-		fArchiveFragmentRoot= JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive);//$NON-NLS-1$
-		
-		fPackJunit= fArchiveFragmentRoot.getPackageFragment("junit");//$NON-NLS-1$
-		fPackJunitSamples= fArchiveFragmentRoot.getPackageFragment("junit.samples");//$NON-NLS-1$
-		fPackJunitSamplesMoney= fArchiveFragmentRoot.getPackageFragment("junit.samples.money");//$NON-NLS-1$
-		fPackJunitExtentions= fArchiveFragmentRoot.getPackageFragment("junit.extensions");//$NON-NLS-1$
-		fPackJunitFramework= fArchiveFragmentRoot.getPackageFragment("junit.framework");//$NON-NLS-1$
-		fPackJunitRunner= fArchiveFragmentRoot.getPackageFragment("junit.runner");//$NON-NLS-1$
-		fPackJunitTests= fArchiveFragmentRoot.getPackageFragment("junit.tests");//$NON-NLS-1$
-		fPackJunitTextUi= fArchiveFragmentRoot.getPackageFragment("junit.textui");//$NON-NLS-1$
-		fPackJunitUi= fArchiveFragmentRoot.getPackageFragment("junit.ui");//$NON-NLS-1$
-		
-		assertNotNull("creating fPackJunit", fPackJunit);//$NON-NLS-1$
-		assertNotNull("creating fPackJunitSamples", fPackJunitSamples);//$NON-NLS-1$
-		assertNotNull("creating fPackJunitSamplesMoney",fPackJunitSamplesMoney);//$NON-NLS-1$
-		assertNotNull("", fPackJunitExtentions);//$NON-NLS-1$
-		assertNotNull("",fPackJunitFramework);//$NON-NLS-1$
-		assertNotNull("",fPackJunitRunner);//$NON-NLS-1$
-		assertNotNull("",fPackJunitTests);//$NON-NLS-1$
-		assertNotNull("",fPackJunitTextUi);//$NON-NLS-1$
-		assertNotNull("",fPackJunitUi);//$NON-NLS-1$
-		
-		fCUIMoney= fPackJunitSamplesMoney.getCompilationUnit("IMoney.java");//$NON-NLS-1$
-		fCUMoney= fPackJunitSamplesMoney.getCompilationUnit("Money.java");//$NON-NLS-1$
-		fCUMoneyBag= fPackJunitSamplesMoney.getCompilationUnit("MoneyBag.java");//$NON-NLS-1$
-		fCUMoneyTest= fPackJunitSamplesMoney.getCompilationUnit("MoneyTest.java");//$NON-NLS-1$
-		
-		File mylibJar= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-		assertTrue("lib not found", mylibJar != null && mylibJar.exists());//$NON-NLS-1$
-		JavaProjectHelper.addLibraryWithImport(fJProject1, new Path(mylibJar.getPath()), null, null);
-
-		//set up project #2: file system structure with in a source folder
-
-		JavaProjectHelper.addVariableEntry(fJProject2, new Path("JRE_LIB_TEST"), null, null);//$NON-NLS-1$
-
-		fRoot1= JavaProjectHelper.addSourceContainer(fJProject2, "src1");//$NON-NLS-1$
-		fPack1= fRoot1.createPackageFragment("pack1", true, null);//$NON-NLS-1$
-		fPack2= fRoot1.createPackageFragment("pack2", true, null);//$NON-NLS-1$
-		fPack3= fRoot1.createPackageFragment("pack3",true,null);//$NON-NLS-1$
-		fPack4= fRoot1.createPackageFragment("pack3.pack4", true,null);//$NON-NLS-1$
-		fPack5= fRoot1.createPackageFragment("pack3.pack5",true,null);//$NON-NLS-1$
-		fPack6= fRoot1.createPackageFragment("pack3.pack5.pack6", true, null);//$NON-NLS-1$
-		
-		fCU1= fPack2.createCompilationUnit("Object.java", "", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU2= fPack6.createCompilationUnit("Object.java","", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU3= fPack6.createCompilationUnit("Jen.java","", true,null);//$NON-NLS-1$//$NON-NLS-2$
-
-		//set up the mock view
-		setUpMockView();
-	}
-	
-	public void setUpMockView() throws Exception{
-		
-		
-//		fWorkspace= ResourcesPlugin.getWorkspace();
-//		assertNotNull(fWorkspace);	
-		
-		fWorkbench= PlatformUI.getWorkbench();
-		assertNotNull(fWorkbench);
-		
-		page= fWorkbench.getActiveWorkbenchWindow().getActivePage();
-		assertNotNull(page);
-		
-		//just testing to make sure my part can be created
-		IViewPart myPart= new MockPluginView();
-		assertNotNull(myPart);
-		
-		myPart= page.showView("org.eclipse.jdt.ui.tests.packageview.MockPluginView");//$NON-NLS-1$
-		if (myPart instanceof MockPluginView) {
-			fMyPart= (MockPluginView) myPart;
-			//turn on folding
-			fMyPart.setFolding(true);
-			// above call might cause a property change event being sent
-			fMyPart.fRefreshedObjects.clear();
-			fProvider= (ITreeContentProvider)fMyPart.getTreeViewer().getContentProvider();
-	
-		}else assertTrue("Unable to get view",false);//$NON-NLS-1$
-	
-		assertNotNull(fProvider);
-	}
-
-	/**
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		fArchiveFragmentRoot.close();
-		JavaProjectHelper.delete(fJProject1);
-		JavaProjectHelper.delete(fJProject2);
-		page.hideView(fMyPart);
-		fMyPart.dispose();
-		
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);
-		
-		super.tearDown();
-	}
-	
-	/**
-	 * Method compareArrays. Both arrays must be of IPackageFragments or compare will fail.
-	 * @param children
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean compareArrays(Object[] children, Object[] expectedChildren) {
-		if(children.length!=expectedChildren.length)
-			return false;
-		for (int i= 0; i < children.length; i++) {
-			Object child= children[i];
-			if (child instanceof IJavaElement) {
-				IJavaElement el= (IJavaElement) child;
-				if(!contains(el, expectedChildren))
-					return false;
-			} else if(child instanceof IResource){
-				IResource res = (IResource) child;	
-				if(!contains(res, expectedChildren)){
-					return false;	
-				}
-			}
-		}
-		return true;
-	}
-	/**
-	 * Method contains.
-	 * @param res
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean contains(IResource res, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IResource) {
-				IResource expres= (IResource) object;
-				if(expres.equals(res))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Method contains.
-	 * @param fragment
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean contains(IJavaElement fragment, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IJavaElement) {
-				IJavaElement expfrag= (IJavaElement) object;
-				if(expfrag.equals(fragment))
-					return true;
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests4.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests4.java
deleted file mode 100644
index 9e72dc6..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/ContentProviderTests4.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.ui.tests.packageview;
-
-import java.io.File;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-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.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-/**
- * Tests for the PackageExplorerContentProvider.
- * 
- * @since 2.1
- */
-public class ContentProviderTests4 extends TestCase{
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite("org.eclipse.jdt.ui.tests.ContentProviderTests4"); //$NON-NLS-1$
-		//$JUnit-BEGIN$
-	   suite.addTestSuite(ContentProviderTests4.class);
-		//$JUnit-END$
-		return suite;
-	}
-
-	
-	private IPackageFragmentRoot fRoot1;
-	private IPackageFragment fPack1;
-	private IPackageFragment fPack2;
-	private IPackageFragment fPack4;
-	private IPackageFragment fPack3;
-	private IWorkspace fWorkspace;
-	private IWorkbench fWorkbench;
-	private MockPluginView fMyPart;
-	
-	private ITreeContentProvider fProvider;
-	
-	private IPackageFragment fPack5;
-	private IJavaProject fJProject3;
-	private IPackageFragment fPack6;
-	private IPackageFragmentRoot fInternalRoot1;
-	private IPackageFragment fA;
-	private IPackageFragment fX;
-	private IPackageFragment fB;
-	private IPackageFragment fC;
-	private IPackageFragment fD;
-	private IPackageFragment fY;
-	private IPackageFragment fDefaultPackage;
-	private ICompilationUnit fCU1;
-	private ICompilationUnit fCU2;
-	private IClassFile fYClassFile;
-	
-	private IPackageFragmentRoot jdk;
-	private IFile fFile1;
-	private IFile fFile2;
-	private IClassFile fAClassFile;
-	
-	private IWorkbenchPage page;
-	private ICompilationUnit fCUinDefault;
-	private File myInternalLibJar;
-	private boolean fEnableAutoBuildAfterTesting;
-	
-	public ContentProviderTests4(String name) {
-		super(name);
-	}
-	
-	public void testGetChildrenProject() throws Exception{
-		Object[] expectedChildren= new Object[]{fPack1, fPack2, fPack3, fDefaultPackage, fFile1, fFile2,fInternalRoot1,jdk};
-		Object[] children= fProvider.getChildren(fJProject3);
-		assertTrue("Wrong children found for project with folding", compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrenDefaultProject(){
-		Object[] expectedChildren= new Object[]{fCUinDefault};
-		Object[] children= fProvider.getChildren(fDefaultPackage);
-		assertTrue("Wrong children found for default package with folding", compareArrays(children, expectedChildren));	 //$NON-NLS-1$
-	}
-	
-	public void testGetChildrentMidLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{fPack4, fPack6};
-		Object[] children= fProvider.getChildren(fPack3);
-		assertTrue("Wrong children found for PackageFragment with folding",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragment() throws Exception{
-		Object[] expectedChildren= new Object[]{};
-		Object[] children= fProvider.getChildren(fPack1);
-		assertTrue("Wrong children found for PackageFragment with folding",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragmentWithCU() throws Exception{
-		Object[] expectedChildren= new Object[]{fCU1};
-		Object[] children= fProvider.getChildren(fPack2);
-		assertTrue("Wrong children found for PackageFragment with folding",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-	
-	public void testGetChildrenBottomLevelFragmenWithCU2() throws Exception{
-		Object[] expectedChildren= new Object[]{fCU2};
-		Object[] children= fProvider.getChildren(fPack6);
-		assertTrue("Wrong children found for PackageFragment with folding",compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-
-	public void testGetChildrenMidLevelFragmentInInternalArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{fC, fD, fAClassFile};
-		Object[] children= fProvider.getChildren(fA);
-		assertTrue("wrong children found for a NON bottom PackageFragment in PackageFragmentRoot Internal Archive with folding", compareArrays(children, expectedChildren)); //$NON-NLS-1$
-	}
-
-	public void testGetChildrenBottomLevelFragmentInInternalArchive() throws Exception{
-		Object[] expectedChildren= new Object[]{fYClassFile};
-		Object[] children= fProvider.getChildren(fY);
-		assertTrue("wrong children found for a bottom PackageFragment in PackageFragmentRoot Internal Archive with folding", compareArrays(children, expectedChildren));	 //$NON-NLS-1$
-	}
-	
-	public void getChildrenInternalArchive() throws Exception{	
-		Object[] expectedChildren= new Object[]{fX,fA, fInternalRoot1.getPackageFragment("")}; //$NON-NLS-1$
-		Object[] children= fProvider.getChildren(fInternalRoot1);	
-		assertTrue("Wrong child found for PackageFragmentRoot Internal Archive with folding", compareArrays(children,expectedChildren)); //$NON-NLS-1$
-	}
-	
-	//---------------Get Parent Tests-----------------------------
-	
-	public void testGetParentArchive() throws Exception{
-		Object parent= fProvider.getParent(fInternalRoot1);
-		assertTrue("Wrong parent found for PackageFragmentRoot Archive with folding", parent==fJProject3);//$NON-NLS-1$
-	}
-
-	public void testGetParentMidLevelFragmentInArchive() throws Exception{
-		Object expectedParent= fA;
-		Object parent= fProvider.getParent(fC);
-		assertTrue("Wrong parent found for a NON top level PackageFragment in an Archive with folding", expectedParent.equals(parent));//$NON-NLS-1$
-	}	
-	
-	public void testGetParentTopLevelFragmentInArchive() throws Exception{
-		Object expectedParent= fInternalRoot1;
-		Object parent= fProvider.getParent(fA);
-		assertTrue("Wrong parent found for a top level PackageFragment in an Archive with folding", expectedParent.equals(parent));	//$NON-NLS-1$
-	}
-	
-	public void testGetParentTopLevelFragment() throws Exception{
-		Object expectedParent= fJProject3;
-		Object parent= fProvider.getParent(fPack3);
-		assertTrue("Wrong parent found for a top level PackageFragment with folding", expectedParent.equals(parent));//$NON-NLS-1$
-	}
-	
-	public void testGetParentMidLevelFragment() throws Exception{
-		Object expectedParent= fPack3;
-		Object parent= fProvider.getParent(fPack6);
-		assertTrue("Wrong parent found for a NON top level PackageFragment with folding", expectedParent.equals(parent));//$NON-NLS-1$
-	}
-	
-	public void testGetParentMidLevelFragment2() throws Exception{
-		Object expectedParent= fPack3;
-		Object parent= fProvider.getParent(fPack5);
-		assertTrue("Wrong parent found for a NON top level PackageFragment with folding", expectedParent.equals(parent));//$NON-NLS-1$
-	}
-	
-	
-	//-------------------Set up methods--------------------------------
-	/**
-	 * @see TestCase#setUp()
-	 */
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-		fWorkspace= ResourcesPlugin.getWorkspace();
-		assertNotNull(fWorkspace);
-		IWorkspaceDescription workspaceDesc= fWorkspace.getDescription();
-		fEnableAutoBuildAfterTesting= workspaceDesc.isAutoBuilding();
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(false);
-		
-		//create project
-		fJProject3 = JavaProjectHelper.createJavaProject("TestProject3", "bin");//$NON-NLS-1$//$NON-NLS-2$
-		assertNotNull("project3 null", fJProject3);//$NON-NLS-1$
-
-		Object[] resource = fJProject3.getNonJavaResources();
-		for (int i = 0; i < resource.length; i++) {
-			Object object = resource[i];
-			if (object instanceof IFile) {
-				IFile file = (IFile) object;
-				if (".classpath".equals(file.getName()))//$NON-NLS-1$
-					fFile1 = file;
-				else if (".project".equals(file.getName()))//$NON-NLS-1$
-					fFile2 = file;
-			}
-		}
-		assertNotNull(fFile1);
-		assertNotNull(fFile2);
-
-		//add rt.jar
-		jdk= JavaProjectHelper.addVariableRTJar(fJProject3, "JRE_LIB_TEST", null, null);//$NON-NLS-1$
-		assertTrue("jdk not found", jdk != null);//$NON-NLS-1$
-		
-		//create the PackageFragmentRoot that represents the project as source folder
-		fRoot1= JavaProjectHelper.addSourceContainer(fJProject3, "");//$NON-NLS-1$
-		assertNotNull("getting default package", fRoot1);//$NON-NLS-1$
-		
-		fDefaultPackage= fRoot1.createPackageFragment("",true,null);//$NON-NLS-1$
-		fCUinDefault= fDefaultPackage.createCompilationUnit("Object.java","",true, null);//$NON-NLS-1$//$NON-NLS-2$
-		
-		//set up project #3: file system structure with project as source folder
-		//add an internal jar
-		myInternalLibJar = JavaTestPlugin.getDefault().getFileInPlugin(new Path("testresources/myinternallib.jar"));//$NON-NLS-1$
-		assertTrue("lib not found", myInternalLibJar != null && myInternalLibJar.exists()); //$NON-NLS-1$
-		fInternalRoot1= JavaProjectHelper.addLibraryWithImport(fJProject3, new Path(myInternalLibJar.getPath()), null, null);
-	
-		//create internal PackageFragments
-		fA= fInternalRoot1.getPackageFragment("a");//$NON-NLS-1$
-		fX= fInternalRoot1.getPackageFragment("x");//$NON-NLS-1$
-		fB= fInternalRoot1.getPackageFragment("a.b");//$NON-NLS-1$
-		fC= fInternalRoot1.getPackageFragment("a.b.c");//$NON-NLS-1$
-		fD= fInternalRoot1.getPackageFragment("a.d");//$NON-NLS-1$
-		fY= fInternalRoot1.getPackageFragment("x.y");//$NON-NLS-1$
-		
-		fYClassFile= fY.getClassFile("Y.class");//$NON-NLS-1$
-		fAClassFile= fA.getClassFile("A.class");//$NON-NLS-1$
-		
-		//create PackageFragments
-		fPack1= fRoot1.createPackageFragment("pack1", true, null);//$NON-NLS-1$
-		fPack2= fRoot1.createPackageFragment("pack2", true, null);//$NON-NLS-1$
-		fPack3= fRoot1.createPackageFragment("pack3",true,null);//$NON-NLS-1$
-		fPack4= fRoot1.createPackageFragment("pack3.pack4", true,null);//$NON-NLS-1$
-		fPack5= fRoot1.createPackageFragment("pack3.pack5",true,null);//$NON-NLS-1$
-		fPack6= fRoot1.createPackageFragment("pack3.pack5.pack6", true, null);//$NON-NLS-1$
-		
-		fCU1= fPack2.createCompilationUnit("Object.java", "", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		fCU2= fPack6.createCompilationUnit("Object.java","", true, null);//$NON-NLS-1$//$NON-NLS-2$
-		
-		//set up the mock view
-		setUpMockView();
-	}
-	
-	public void setUpMockView() throws Exception {
-//		fWorkspace = ResourcesPlugin.getWorkspace();
-//		assertNotNull(fWorkspace);
-
-		fWorkbench = PlatformUI.getWorkbench();
-		assertNotNull(fWorkbench);
-
-		page = fWorkbench.getActiveWorkbenchWindow().getActivePage();
-		assertNotNull(page);
-
-		//just testing to make sure my part can be created
-		IViewPart myPart = new MockPluginView();
-		assertNotNull(myPart);
-
-		myPart = page.showView("org.eclipse.jdt.ui.tests.packageview.MockPluginView");//$NON-NLS-1$
-		if (myPart instanceof MockPluginView) {
-			fMyPart = (MockPluginView) myPart;
-			fMyPart.setFolding(true);
-			// above call might cause a property change event being sent
-			fMyPart.fRefreshedObjects.clear();
-			fProvider = (ITreeContentProvider) fMyPart.getTreeViewer().getContentProvider();
-		} else
-			assertTrue("Unable to get view", false);//$NON-NLS-1$
-
-		assertNotNull(fProvider);
-	}
-	
-	/**
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-	   
-		fInternalRoot1.close();
-		JavaProjectHelper.delete(fJProject3);
-		page.hideView(fMyPart);
-		fMyPart.dispose();
-		
-		if (fEnableAutoBuildAfterTesting)
-			JavaProjectHelper.setAutoBuilding(true);
-		
-		super.tearDown();
-	}
-	
-	/**
-	 * Method compareArrays. Both arrays must be of IPackageFragments or compare will fail.
-	 * @param children
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean compareArrays(Object[] children, Object[] expectedChildren) {
-		if(children.length!=expectedChildren.length)
-			return false;
-		for (int i= 0; i < children.length; i++) {
-			Object child= children[i];
-			if (child instanceof IJavaElement) {
-				IJavaElement el= (IJavaElement) child;
-				if(!contains(el, expectedChildren))
-					return false;
-			} else if(child instanceof IResource){
-				IResource res = (IResource) child;	
-				if(!contains(res, expectedChildren)){
-					return false;	
-				}
-			}
-		}
-		return true;
-	}
-	/**
-	 * Method contains.
-	 * @param res
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean contains(IResource res, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IResource) {
-				IResource expres= (IResource) object;
-				if(expres.equals(res))
-					return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Method contains.
-	 * @param fragment
-	 * @param expectedChildren
-	 * @return boolean
-	 */
-	private boolean contains(IJavaElement fragment, Object[] expectedChildren) {
-		for (int i= 0; i < expectedChildren.length; i++) {
-			Object object= expectedChildren[i];
-			if (object instanceof IJavaElement) {
-				IJavaElement expfrag= (IJavaElement) object;
-				if(expfrag.equals(fragment))
-					return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/MockPluginView.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/MockPluginView.java
deleted file mode 100644
index c2fa2a5..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/MockPluginView.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jdt.ui.tests.packageview;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-
-import org.eclipse.jdt.core.IJavaElement;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart;
-import org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer;
-
-/**
- * Helper to test the PackageExplorerContentProvider.
- * 
- * @since 2.1
- */
-public class MockPluginView extends PackageExplorerPart {
-
-	TreeViewer fViewer;
-	private ITreeContentProvider contentProvider;
-	private boolean fRefreshHappened;
-	public List fRefreshedObjects;
-	private boolean fRemoveHappened;
-	private boolean fAddHappened;
-	
-	private List fRemovedObject;
-	private Object fAddedObject;
-	private Object fAddedParentObject;
-
-	/**
-	 * Constructor for MockPluginView.
-	 */
-	public MockPluginView() {
-		super();
-		fRefreshedObjects= new ArrayList();
-		fRemovedObject= new ArrayList();
-	}
-	
-	/**
-	 * Creates only the viewer and the content provider.
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-	
-		//create viewer
-		fViewer= createViewer(parent);
-		
-		//create my contentProvider
-		contentProvider= createContentProvider();
-		contentProvider.inputChanged(fViewer, null, null);
-		
-		//set content provider
-		fViewer.setContentProvider(contentProvider);
-		
-	}
-	
-	private TreeViewer createViewer(Composite parent) {
-		return new TestProblemTreeViewer(parent, SWT.MULTI);
-	}
-
-	public void dispose() {
-		if (fViewer != null) {
-			IContentProvider p = fViewer.getContentProvider();
-			if(p!=null)	
-				p.dispose();
-		}
-		
-		super.dispose();
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-	}
-	
-	public TreeViewer getTreeViewer(){
-		return fViewer;
-	}
-	
-
-	/*
-	 * @see org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart#findElementToSelect(org.eclipse.jdt.core.IJavaElement)
-	 */
-	protected IJavaElement findElementToSelect(IJavaElement je) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart#isValidInput(java.lang.Object)
-	 */
-	protected boolean isValidInput(Object element) {
-		return false;
-	}
-	
-	private class TestProblemTreeViewer extends ProblemTreeViewer{
-		
-		public TestProblemTreeViewer(Composite parent, int flag){
-			super(parent,flag);
-		}
-		
-		public void refresh(Object object){
-			fRefreshHappened= true;
-			fRefreshedObjects.add(object);
-		}
-		
-		public void remove(Object object) {
-			fRemoveHappened= true;
-			fRemovedObject.add(object);
-		}
-		
-		public void add(Object parentObject, Object object){
-			fAddHappened= true;
-			fAddedObject= object;
-			fAddedParentObject= parentObject;
-		}
-	}
-
-	/**
-	 * Returns the refreshed object.
-	 * @return Object
-	 */
-	public boolean wasObjectRefreshed(Object c) {
-		return fRefreshedObjects.contains(c);
-	}
-	
-	public List getRefreshedObject(){
-		return fRefreshedObjects;	
-	}
-
-	/**
-	 * Returns the object added to the tree viewer
-	 * @return Object
-	 */
-	public Object getParentOfAddedObject() {
-		return fAddedParentObject;
-	}
-
-	/**
-	 * Returns true if something was added to the viewer
-	 * @return boolean
-	 */
-	public boolean hasAddHappened() {
-		return fAddHappened;
-	}
-
-	/**
-	 * Returns true if an object was removed from the viewer
-	 * @return boolean
-	 */
-	public boolean hasRemoveHappened() {
-		return fRemoveHappened;
-	}	
-	/**
-	 * Returns the object removed from the viewer
-	 * @return Object
-	 */
-	public List getRemovedObject() {
-		return fRemovedObject;
-	}
-
-	/**
-	 * Returns the object added to the viewer
-	 * @return Object
-	 */
-	public Object getAddedObject() {
-		return fAddedObject;
-	}
-	
-	/**
-	 * Returns true if a refresh happened
-	 * @return boolean
-	 */
-	public boolean hasRefreshHappened() {
-		return fRefreshHappened;
-	}
-	
-	/**
-	 * Sets the folding preference.
-	 * @param fold
-	 */
-	public void setFolding(boolean fold) {
-		JavaPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER, fold);
-	}		
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/TestDelta.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/TestDelta.java
deleted file mode 100644
index 4132830..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageview/TestDelta.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.packageview;
-
-import org.eclipse.core.resources.IResourceDelta;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-
-/**
- * @author Jen's account
- *
- */
-public class TestDelta implements IJavaElementDelta {
-
-	private int fKind;
-	private IJavaElement fElement;
-
-	private IJavaElementDelta[] fAffectedChildren;
-
-	public TestDelta(int kind, IJavaElement element) {
-		fKind= kind;
-		fElement= element;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getAddedChildren()
-		*/
-	public IJavaElementDelta[] getAddedChildren() {
-		return null;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getAffectedChildren()
-		*/
-	public IJavaElementDelta[] getAffectedChildren() {
-		if (fAffectedChildren == null)
-			return new IJavaElementDelta[0];
-		else
-			return fAffectedChildren;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getChangedChildren()
-		*/
-	public IJavaElementDelta[] getChangedChildren() {
-		return null;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getElement()
-		*/
-	public IJavaElement getElement() {
-		return fElement;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getFlags()
-		*/
-	public int getFlags() {
-		return 0;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getKind()
-		*/
-	public int getKind() {
-		return fKind;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getMovedFromElement()
-		*/
-	public IJavaElement getMovedFromElement() {
-		return null;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getMovedToElement()
-		*/
-	public IJavaElement getMovedToElement() {
-		return null;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getRemovedChildren()
-		*/
-	public IJavaElementDelta[] getRemovedChildren() {
-		return null;
-	}
-	/**
-		* @see org.eclipse.jdt.core.IJavaElementDelta#getResourceDeltas()
-		*/
-	public IResourceDelta[] getResourceDeltas() {
-		return null;
-	}
-
-	public void setAffectedChildren(IJavaElementDelta[] children) {
-		fAffectedChildren= children;
-	}
-	
-	public static TestDelta createParentDeltas(IPackageFragment frag, TestDelta delta) {
-		IJavaElement root= frag.getParent();
-		TestDelta rootDelta= new TestDelta(IJavaElementDelta.CHANGED, root);
-
-		IJavaProject proj= root.getJavaProject();
-		TestDelta projectDelta= new TestDelta(IJavaElementDelta.CHANGED, proj);
-
-		IJavaModel model= proj.getJavaModel();
-		TestDelta modelDelta= new TestDelta(IJavaElementDelta.CHANGED, model);
-
-		//set affected children
-		modelDelta.setAffectedChildren(new IJavaElementDelta[] { projectDelta });
-		projectDelta.setAffectedChildren(new IJavaElementDelta[] { rootDelta });
-		rootDelta.setAffectedChildren(new IJavaElementDelta[] { delta });
-		return modelDelta;
-	}
-
-	public static IJavaElementDelta createCUDelta(ICompilationUnit[] cu, IPackageFragment parent, int action) {
-		TestDelta fragmentDelta= new TestDelta(IJavaElementDelta.CHANGED, parent);
-
-		TestDelta[] deltas= new TestDelta[cu.length];
-		for (int i= 0; i < cu.length; i++) {
-			deltas[i]= new TestDelta(action, cu[i]);
-		}
-
-		fragmentDelta.setAffectedChildren(deltas);
-		return createParentDeltas(parent, fragmentDelta);
-	}
-
-	public static IJavaElementDelta createDelta(IPackageFragment frag, int action) {
-		TestDelta delta= new TestDelta(action, frag);
-		return createParentDeltas(frag, delta);
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest.java
deleted file mode 100644
index 7037891..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest.java
+++ /dev/null
@@ -1,2338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids <sdavids@gmx.de> - testInvertEquals1-23
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.core.runtime.Preferences;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.text.correction.AssignToVariableAssistProposal;
-import org.eclipse.jdt.internal.ui.text.correction.AssistContext;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.LinkedNamesAssistProposal;
-
-public class AssistQuickFixTest extends QuickFixTest {
-	
-	private static final Class THIS= AssistQuickFixTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-
-	public AssistQuickFixTest(String name) {
-		super(name);
-	}
-	
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new AssistQuickFixTest("testUnwrapMethodInvocation"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		store.setValue(PreferenceConstants.CODEGEN_KEYWORD_THIS, false);
-		
-		Preferences corePrefs= JavaCore.getPlugin().getPluginPreferences();
-		corePrefs.setValue(JavaCore.CODEASSIST_FIELD_PREFIXES, "");
-		corePrefs.setValue(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, "");
-		corePrefs.setValue(JavaCore.CODEASSIST_FIELD_SUFFIXES, "");
-		corePrefs.setValue(JavaCore.CODEASSIST_STATIC_FIELD_SUFFIXES, "");		
-		
-		fJProject1= ProjectTestSetup.getProject();
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	public void testAssignToLocal() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        getClass();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("getClass()");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private Class class1;\n");
-		buf.append("\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        class1 = getClass();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        Class class1 = getClass();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-		
-	}
-
-	public void testAssignToLocal2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public Vector goo() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        goo().iterator();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("goo().iterator()");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Iterator;\n");
-		buf.append("import java.util.Vector;\n");				
-		buf.append("public class E {\n");
-		buf.append("    private Iterator iterator;\n");
-		buf.append("    public Vector goo() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        iterator = goo().iterator();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Iterator;\n");
-		buf.append("import java.util.Vector;\n");				
-		buf.append("public class E {\n");
-		buf.append("    public Vector goo() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        Iterator iterator = goo().iterator();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-	
-	public void testAssignToLocal3() throws Exception {
-		// test prefixes and this qualification
-		
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_KEYWORD_THIS, true);
-		Preferences corePrefs= JavaCore.getPlugin().getPluginPreferences();
-		corePrefs.setValue(JavaCore.CODEASSIST_FIELD_PREFIXES, "f");
-		corePrefs.setValue(JavaCore.CODEASSIST_LOCAL_PREFIXES, "_");
-			
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int fCount;\n");
-		buf.append("\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        System.getSecurityManager();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("System");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int fCount;\n");
-		buf.append("    private SecurityManager fManager;\n");
-		buf.append("\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        this.fManager = System.getSecurityManager();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int fCount;\n");
-		buf.append("\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        SecurityManager _manager = System.getSecurityManager();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-	
-	public void testAssignToLocal4() throws Exception {
-		// test name conflict
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int f;\n");
-		buf.append("\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        Math.min(1.0f, 2.0f);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("Math");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int f;\n");
-		buf.append("    private float g;\n");
-		buf.append("\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        g = Math.min(1.0f, 2.0f);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int f;\n");
-		buf.append("\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        float g = Math.min(1.0f, 2.0f);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-
-	public void testAssignToLocal5() throws Exception {
-		// test prefixes and this qualification on static method
-		
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_KEYWORD_THIS, true);
-		Preferences corePrefs= JavaCore.getPlugin().getPluginPreferences();
-		corePrefs.setValue(JavaCore.CODEASSIST_FIELD_PREFIXES, "f");
-		corePrefs.setValue(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, "fg");
-		corePrefs.setValue(JavaCore.CODEASSIST_LOCAL_PREFIXES, "_");
-			
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int fCount;\n");
-		buf.append("\n");
-		buf.append("    public static void foo() {\n");
-		buf.append("        System.getSecurityManager();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("System");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int fCount;\n");
-		buf.append("    private static SecurityManager fgManager;\n");
-		buf.append("\n");				
-		buf.append("    public static void foo() {\n");
-		buf.append("        E.fgManager = System.getSecurityManager();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    private int fCount;\n");
-		buf.append("\n");
-		buf.append("    public static void foo() {\n");
-		buf.append("        SecurityManager _manager = System.getSecurityManager();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-
-	public void testAssignToLocal6() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    static {\n");
-		buf.append("        getClass(); // comment\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		int offset= buf.toString().indexOf("getClass()");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static Class class1;\n");
-		buf.append("\n");
-		buf.append("    static {\n");
-		buf.append("        class1 = getClass(); // comment\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    static {\n");
-		buf.append("        Class class1 = getClass(); // comment\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-
-	
-	public void testAssignParamToField() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public  E(int count) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("count");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int count;\n");
-		buf.append("\n");
-		buf.append("    public  E(int count) {\n");
-		buf.append("        this.count = count;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testAssignParamToField2() throws Exception {
-		Preferences corePrefs= JavaCore.getPlugin().getPluginPreferences();
-		corePrefs.setValue(JavaCore.CODEASSIST_FIELD_PREFIXES, "f");
-
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public  E(int count, Vector vec[]) {\n");
-		buf.append("        super();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("vec");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    private Vector[] fVec;\n");
-		buf.append("\n");
-		buf.append("    public  E(int count, Vector vec[]) {\n");
-		buf.append("        super();\n");
-		buf.append("        fVec = vec;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-
-	public void testAssignParamToField3() throws Exception {
-		Preferences corePrefs= JavaCore.getPlugin().getPluginPreferences();
-		corePrefs.setValue(JavaCore.CODEASSIST_STATIC_FIELD_PREFIXES, "fg");
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_KEYWORD_THIS, true);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fgVec;\n");
-		buf.append("\n");
-		buf.append("    public static void foo(int count, Vector vec[]) {\n");
-		buf.append("        count++;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("vec[]");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fgVec;\n");
-		buf.append("    private static Vector[] fgVec2;\n");
-		buf.append("\n");
-		buf.append("    public static void foo(int count, Vector vec[]) {\n");
-		buf.append("        E.fgVec2 = vec;\n");
-		buf.append("        count++;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testAssignParamToField4() throws Exception {
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_KEYWORD_THIS, true);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private long count;\n");
-		buf.append("\n");
-		buf.append("    public void foo(int count) {\n");
-		buf.append("        count++;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-				
-		int offset= buf.toString().indexOf("int count");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private long count;\n");
-		buf.append("    private int count2;\n");
-		buf.append("\n");
-		buf.append("    public void foo(int count) {\n");
-		buf.append("        this.count2 = count;\n");
-		buf.append("        count++;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testAssignParamToField5() throws Exception {
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_KEYWORD_THIS, true);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int p1;\n");
-		buf.append("\n");
-		buf.append("    public void foo(int p1, int p2) {\n");
-		buf.append("        this.p1 = p1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		int offset= buf.toString().indexOf("int p2");
-		AssistContext context= getCorrectionContext(cu, offset, 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int p1;\n");
-		buf.append("    private int p2;\n");
-		buf.append("\n");
-		buf.append("    public void foo(int p1, int p2) {\n");
-		buf.append("        this.p1 = p1;\n");
-		buf.append("        this.p2 = p2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}		
-	
-	
-	
-	public void testAssignToLocal2CursorAtEnd() throws Exception {	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public Vector goo() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        goo().toArray();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "goo().toArray();";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str) + str.length(), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");				
-		buf.append("public class E {\n");
-		buf.append("    private Object[] objects;\n");
-		buf.append("    public Vector goo() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        objects = goo().toArray();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");				
-		buf.append("public class E {\n");
-		buf.append("    public Vector goo() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        Object[] objects = goo().toArray();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-	
-	public void testReplaceCatchClauseWithThrowsWithFinally() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");	
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "(IOException e)";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void foo() throws IOException {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-				
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-
-	}
-	
-	public void testReplaceSingleCatchClauseWithThrows() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");	
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "(IOException e)";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str) + str.length(), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void foo() throws IOException {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");	
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-				
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });	
-
-	}
-	
-	public void testUnwrapForLoop() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for (int i= 0; i < 3; i++) {\n");		
-		buf.append("            goo();\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "for";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str) + str.length(), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testUnwrapDoStatement() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        do {\n");		
-		buf.append("            goo();\n");
-		buf.append("            goo();\n");
-		buf.append("            goo();\n");
-		buf.append("        } while (true);\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "do";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str) + str.length(), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo();\n");
-		buf.append("        goo();\n");
-		buf.append("        goo();\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}	
-	
-	public void testUnwrapWhileLoop2Statements() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        while (true) {\n");		
-		buf.append("            goo();\n");
-		buf.append("            System.out.println();\n");		
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "while";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str) + str.length(), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        goo();\n");
-		buf.append("        System.out.println();\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testUnwrapIfStatement() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (1+ 3 == 6) {\n");		
-		buf.append("            StringBuffer buf= new StringBuffer();\n");
-		buf.append("            buf.append(1);\n");
-		buf.append("            buf.append(2);\n");
-		buf.append("            buf.append(3);\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "if";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str) + str.length(), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        StringBuffer buf= new StringBuffer();\n");
-		buf.append("        buf.append(1);\n");
-		buf.append("        buf.append(2);\n");
-		buf.append("        buf.append(3);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        if (1+ 3 == 6) {\n");		
-		buf.append("            StringBuffer buf= new StringBuffer();\n");
-		buf.append("            buf.append(1);\n");
-		buf.append("            buf.append(2);\n");
-		buf.append("            buf.append(3);\n");
-		buf.append("        } else {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-				
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-	
-	public void testUnwrapTryStatement() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            StringBuffer buf= new StringBuffer();\n");
-		buf.append("            buf.append(1);\n");
-		buf.append("            buf.append(2);\n");
-		buf.append("            buf.append(3);\n");
-		buf.append("        } finally {\n");
-		buf.append("            return;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "try";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str) + str.length(), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        StringBuffer buf= new StringBuffer();\n");
-		buf.append("        buf.append(1);\n");
-		buf.append("        buf.append(2);\n");
-		buf.append("        buf.append(3);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testUnwrapAnonymous() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            public void run() { \n");
-		buf.append("                throw new NullPointerException();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "};";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        throw new NullPointerException();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testUnwrapBlock() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        {\n");
-		buf.append("            { \n");
-		buf.append("                throw new NullPointerException();\n");
-		buf.append("            }//comment\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "}//comment";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        {\n");
-		buf.append("            throw new NullPointerException();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testUnwrapParanthesis() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return (9+ 8);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "(9+ 8)";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return 9+ 8;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testUnwrapMethodInvocation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return Math.abs(9+ 8);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "Math.abs(9+ 8)";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str) + str.length(), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return 9+ 8;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testSplitDeclaration1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i = 9;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "9";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i;\n");
-		buf.append("        i = 9;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testSplitDeclaration2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for (int i = 0; i < 9; i++) {\n");
-		buf.append("       }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "0";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i;\n");
-		buf.append("        for (i = 0; i < 9; i++) {\n");
-		buf.append("       }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testSplitDeclaration3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        final int i[] = null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "i[]";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i[];\n");
-		buf.append("        i = null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}	
-	
-	public void testJoinDeclaration1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int var[];\n");
-		buf.append("        var = null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "var";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int var[] = null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-
-
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	
-	public void testJoinDeclaration2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int var;\n");
-		buf.append("        for (var = 0; var < 9; var++) {\n");
-		buf.append("       }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "var";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		List proposals= collectAssists(context, false);
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int var = 0;\n");
-		buf.append("        for (; var < 9; var++) {\n");
-		buf.append("       }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	private static final Class[] FILTER_EQ= { LinkedNamesAssistProposal.class, AssignToVariableAssistProposal.class };
-	
-    public void testInvertEquals() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(\"b\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"b\".equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(\"b\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-    
-    public void testInvertEquals2() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        String s= \"a\";\n");
-        buf.append("        s.equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        String s= \"a\";\n");
-        buf.append("        \"a\".equals(s);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        String s= \"a\";\n");
-        buf.append("        s.equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-    
-    public void testInvertEquals3() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    private String a= \"a\";\n");
-        buf.append("    private String b= \"b\";\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        a.equals(b);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    private String a= \"a\";\n");
-        buf.append("    private String b= \"b\";\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        b.equals(a);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    private String a= \"a\";\n");
-        buf.append("    private String b= \"b\";\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        a.equals(b);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-    
-    public void testInvertEquals4() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class S {\n");
-        buf.append("    protected String sup= \"a\";\n");
-        buf.append("}\n");
-        buf.append("public class E extends S {\n");
-        buf.append("    private String a= \"a\";\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        sup.equals(this.a);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class S {\n");
-        buf.append("    protected String sup= \"a\";\n");
-        buf.append("}\n");
-        buf.append("public class E extends S {\n");
-        buf.append("    private String a= \"a\";\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        this.a.equals(sup);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class S {\n");
-        buf.append("    protected String sup= \"a\";\n");
-        buf.append("}\n");
-        buf.append("public class E extends S {\n");
-        buf.append("    private String a= \"a\";\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        sup.equals(this.a);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-
-    public void testInvertEquals5() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class A {\n");
-        buf.append("    static String A= \"a\";\n");
-        buf.append("}\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(A.A);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class A {\n");
-        buf.append("    static String A= \"a\";\n");
-        buf.append("}\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        A.A.equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class A {\n");
-        buf.append("    static String A= \"a\";\n");
-        buf.append("}\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(A.A);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-
-    public void testInvertEquals6() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class A {\n");
-        buf.append("    static String get() {\n");
-        buf.append("        return \"a\";\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(A.get());\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class A {\n");
-        buf.append("    static String get() {\n");
-        buf.append("        return \"a\";\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        A.get().equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class A {\n");
-        buf.append("    static String get() {\n");
-        buf.append("        return \"a\";\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(A.get());\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-
-    public void testInvertEquals7() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".getClass().equals(String.class);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        String.class.equals(\"a\".getClass());\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".getClass().equals(String.class);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-
-    public void testInvertEquals8() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        boolean x = false && \"a\".equals(get());\n");
-        buf.append("    }\n");
-        buf.append("    String get() {\n");
-        buf.append("        return \"a\";\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        boolean x = false && get().equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("    String get() {\n");
-        buf.append("        return \"a\";\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        boolean x = false && \"a\".equals(get());\n");
-        buf.append("    }\n");
-        buf.append("    String get() {\n");
-        buf.append("        return \"a\";\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-
-    public void testInvertEquals9() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        equals(new E());\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        new E().equals(this);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        equals(new E());\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-    
-    public void testInvertEquals10() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(null);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals11() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    boolean equals(Object o, boolean a) {\n");
-        buf.append("        return false;\n");
-        buf.append("    }\n");  
-        buf.append("    public void foo() {\n");        
-        buf.append("        new E().equals(\"a\", false);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-        
-        context= getCorrectionContext(cu, buf.toString().lastIndexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals12() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    boolean equals(boolean b) {\n");
-        buf.append("        return false;\n");
-        buf.append("    }\n");  
-        buf.append("    public void foo() {\n");        
-        buf.append("        new E().equals(false);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-        
-        context= getCorrectionContext(cu, buf.toString().lastIndexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals13() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    boolean equals(boolean b) {\n");
-        buf.append("        return false;\n");
-        buf.append("    }\n");  
-        buf.append("    public void foo() {\n");        
-        buf.append("        new E().equals(true ? true : false);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-        
-        context= getCorrectionContext(cu, buf.toString().lastIndexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals14() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("class Super {\n");
-        buf.append("    protected boolean sBool= false;\n");
-        buf.append("}\n");
-        buf.append("public class E extends Super {\n");
-        buf.append("    boolean equals(boolean b) {\n");
-        buf.append("        return false;\n");
-        buf.append("    }\n");  
-        buf.append("    public void foo() {\n");        
-        buf.append("        new E().equals(sBool);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-        
-        context= getCorrectionContext(cu, buf.toString().lastIndexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals15() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    boolean equals(int i) {\n");
-        buf.append("        return false;\n");
-        buf.append("    }\n");  
-        buf.append("    public void foo() {\n");        
-        buf.append("        new E().equals(1 + 1);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-        
-        context= getCorrectionContext(cu, buf.toString().lastIndexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals16() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    boolean equals(int i) {\n");
-        buf.append("        return false;\n");
-        buf.append("    }\n");  
-        buf.append("    public void foo() {\n");
-        buf.append("        int i= 1;\n");
-        buf.append("        new E().equals(i + i);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-        
-        context= getCorrectionContext(cu, buf.toString().lastIndexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals17() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("       \"a\".equals(null);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals18() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public boolean equals(Object o) {\n");
-        buf.append("       return super.equals(o);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-        
-        context= getCorrectionContext(cu, buf.toString().lastIndexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 0);
-        assertCorrectLabels(proposals);
-    }
-    
-    public void testInvertEquals19() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    private String a= \"a\";\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        a.equals((Object) \"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    private String a= \"a\";\n");        
-        buf.append("    public void foo() {\n");
-        buf.append("        ((Object) \"a\").equals(a);\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    private String a= \"a\";\n");        
-        buf.append("    public void foo() {\n");
-        buf.append("        a.equals((Object) \"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-    
-    public void testInvertEquals20() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        String s= null;\n");
-        buf.append("        \"a\".equals(s = \"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        String s= null;\n");
-        buf.append("        (s = \"a\").equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        String s= null;\n");
-        buf.append("        \"a\".equals(s = \"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-    
-    public void testInvertEquals21() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"aaa\".equals(\"a\" + \"a\" + \"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        (\"a\" + \"a\" + \"a\").equals(\"aaa\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"aaa\".equals(\"a\" + \"a\" + \"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-    
-    public void testInvertEquals22() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(true ? \"a\" : \"b\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        (true ? \"a\" : \"b\").equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(true ? \"a\" : \"b\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-    
-    public void testInvertEquals23() throws Exception {
-        IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-        StringBuffer buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals((\"a\"));\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-        
-        String str= "equals";
-        AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        List proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-        String preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        (\"a\").equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-        
-        cu= pack1.createCompilationUnit("E.java", buf.toString(), true, null);
-        context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-        proposals= collectAssists(context, FILTER_EQ);
-        
-        assertNumberOf("proposals", proposals.size(), 1);
-        assertCorrectLabels(proposals);
-        
-        proposal= (CUCorrectionProposal) proposals.get(0);
-        preview= getPreviewContent(proposal);
-
-        buf= new StringBuffer();
-        buf.append("package test1;\n");
-        buf.append("public class E {\n");
-        buf.append("    public void foo() {\n");
-        buf.append("        \"a\".equals(\"a\");\n");
-        buf.append("    }\n");
-        buf.append("}\n");
-        assertEqualString(preview, buf.toString());
-    }
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/JavadocQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/JavadocQuickFixTest.java
deleted file mode 100644
index 9efd9de..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/JavadocQuickFixTest.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-
-public class JavadocQuickFixTest extends QuickFixTest {
-	
-	private static final Class THIS= JavadocQuickFixTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public JavadocQuickFixTest(String name) {
-		super(name);
-	}
-
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new JavadocQuickFixTest("testInsertAllMissing2"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		options.put(JavaCore.COMPILER_PB_INVALID_JAVADOC, JavaCore.ERROR);
-		options.put(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS, JavaCore.ERROR);
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	
-	public void testMissingParam1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param b\n");
-		buf.append("     *      comment on second line.\n");
-		buf.append("     * @param c\n");
-		buf.append("     */\n");
-		buf.append("    public void foo(int a, int b, int c) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		ArrayList proposals= collectCorrections2(cu, 1);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param b\n");
-		buf.append("     *      comment on second line.\n");
-		buf.append("     * @param c\n");
-		buf.append("     */\n");
-		buf.append("    public void foo(int a, int b, int c) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-		assertEqualString(preview1, expected);
-		assertEqualString(preview2, expected);
-	}
-
-	public void testMissingParam2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param a\n");
-		buf.append("     *      comment on second line.\n");
-		buf.append("     * @param c\n");
-		buf.append("     */\n");
-		buf.append("    public void foo(int a, int b, int c) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		ArrayList proposals= collectCorrections2(cu, 1);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param a\n");
-		buf.append("     *      comment on second line.\n");
-		buf.append("     * @param b\n");
-		buf.append("     * @param c\n");
-		buf.append("     */\n");
-		buf.append("    public void foo(int a, int b, int c) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-		assertEqualString(preview1, expected);
-		assertEqualString(preview2, expected);
-	}
-	public void testMissingParam3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param a\n");
-		buf.append("     *      comment on second line.\n");
-		buf.append("     * @param b\n");
-		buf.append("     */\n");
-		buf.append("    public void foo(int a, int b, int c) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		ArrayList proposals= collectCorrections2(cu, 1);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param a\n");
-		buf.append("     *      comment on second line.\n");
-		buf.append("     * @param b\n");
-		buf.append("     * @param c\n");
-		buf.append("     */\n");
-		buf.append("    public void foo(int a, int b, int c) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-		assertEqualString(preview1, expected);
-		assertEqualString(preview2, expected);
-	}
-	
-	public void testMissingReturn1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param b\n");
-		buf.append("     *      comment on second line.\n");
-		buf.append("     * @param c\n");
-		buf.append("     */\n");
-		buf.append("    public int foo(int b, int c) {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		ArrayList proposals= collectCorrections2(cu, 1);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param b\n");
-		buf.append("     *      comment on second line.\n");
-		buf.append("     * @param c\n");
-		buf.append("     * @return\n");
-		buf.append("     */\n");
-		buf.append("    public int foo(int b, int c) {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-		assertEqualString(preview1, expected);
-		assertEqualString(preview2, expected);
-	}
-	
-	public void testMissingReturn2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     */\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		ArrayList proposals= collectCorrections2(cu, 1);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @return\n");
-		buf.append("     */\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-		assertEqualString(preview1, expected);
-		assertEqualString(preview2, expected);
-	}
-	
-	public void testMissingReturn3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @throws Exception\n");
-		buf.append("     */\n");
-		buf.append("    public int foo() throws Exception {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		ArrayList proposals= collectCorrections2(cu, 1);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @return\n");
-		buf.append("     * @throws Exception\n");
-		buf.append("     */\n");
-		buf.append("    public int foo() throws Exception {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-		assertEqualString(preview1, expected);
-		assertEqualString(preview2, expected);
-	}
-	
-	public void testInsertAllMissing1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @throws Exception\n");
-		buf.append("     */\n");
-		buf.append("    public int foo(int a, int b) throws NullPointerException, Exception {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		ArrayList proposals= collectCorrections2(cu, 4);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param b\n");
-		buf.append("     * @return\n");
-		buf.append("     * @throws NullPointerException\n");
-		buf.append("     * @throws Exception\n");
-		buf.append("     */\n");
-		buf.append("    public int foo(int a, int b) throws NullPointerException, Exception {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @return\n");
-		buf.append("     * @throws Exception\n");
-		buf.append("     */\n");
-		buf.append("    public int foo(int a, int b) throws NullPointerException, Exception {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-		
-	}
-	
-	public void testInsertAllMissing2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param b\n");
-		buf.append("     * @return\n");
-		buf.append("     */\n");
-		buf.append("    public int foo(int a, int b, int c) throws NullPointerException, Exception {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		ArrayList proposals= collectCorrections2(cu, 4);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param b\n");
-		buf.append("     * @param c\n");
-		buf.append("     * @return\n");
-		buf.append("     * @throws NullPointerException\n");
-		buf.append("     * @throws Exception\n");
-		buf.append("     */\n");
-		buf.append("    public int foo(int a, int b, int c) throws NullPointerException, Exception {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("/**\n");
-		buf.append(" */\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param a\n");
-		buf.append("     * @param b\n");
-		buf.append("     * @return\n");
-		buf.append("     */\n");
-		buf.append("    public int foo(int a, int b, int c) throws NullPointerException, Exception {\n");
-		buf.append("        return 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-		
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/LocalCorrectionsQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/LocalCorrectionsQuickFixTest.java
deleted file mode 100644
index 56a62cf..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/LocalCorrectionsQuickFixTest.java
+++ /dev/null
@@ -1,3131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.template.java.CodeTemplateContextType;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.LinkedNamesAssistProposal;
-
-public class LocalCorrectionsQuickFixTest extends QuickFixTest {
-	
-	private static final Class THIS= LocalCorrectionsQuickFixTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-
-	public LocalCorrectionsQuickFixTest(String name) {
-		super(name);
-	}
-	
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new LocalCorrectionsQuickFixTest("testHidingVariable1"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		options.put(DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE, String.valueOf(99));
-		options.put(JavaCore.COMPILER_PB_STATIC_ACCESS_RECEIVER, JavaCore.ERROR);
-		
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.CATCHBLOCK).setPattern("");
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.CONSTRUCTORSTUB).setPattern("");
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.METHODSTUB).setPattern("");
-
-		fJProject1= ProjectTestSetup.getProject();
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	
-	public void testFieldAccessToStatic() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.File;\n");
-		buf.append("public class E {\n");
-		buf.append("    public char foo() {\n");
-		buf.append("        return (new File(\"x.txt\")).separatorChar;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.File;\n");
-		buf.append("public class E {\n");
-		buf.append("    public char foo() {\n");
-		buf.append("        return File.separatorChar;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testInheritedAccessOnStatic() throws Exception {
-		IPackageFragment pack0= fSourceFolder.createPackageFragment("pack", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class A {\n");
-		buf.append("    public static void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack0.createCompilationUnit("A.java", buf.toString(), false, null);		
-		
-		buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class B extends A {\n");
-		buf.append("}\n");
-		pack0.createCompilationUnit("B.java", buf.toString(), false, null);		
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import pack.B;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(B b) {\n");
-		buf.append("        b.foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import pack.B;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(B b) {\n");
-		buf.append("        B.foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import pack.A;\n");		
-		buf.append("import pack.B;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(B b) {\n");
-		buf.append("        A.foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class A {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();		
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });
-	}	
-	
-	
-	public void testQualifiedAccessToStatic() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Thread t) {\n");
-		buf.append("        t.sleep(10);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Thread t) {\n");
-		buf.append("        Thread.sleep(10);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}	
-	
-	public void testThisAccessToStatic() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void goo() {\n");
-		buf.append("    }\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        this.goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void goo() {\n");
-		buf.append("    }\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        E.goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void goo() {\n");
-		buf.append("    }\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        this.goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testThisAccessToStaticField() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static int fCount;\n");
-		buf.append("\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        this.fCount= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static int fCount;\n");
-		buf.append("\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        E.fCount= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int fCount;\n");
-		buf.append("\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        this.fCount= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-		
-	}	
-	
-	public void testCastMissingInVarDecl() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        Thread th= o;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        Thread th= (Thread) o;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        Object th= o;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testCastMissingInVarDecl2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.List;\n");		
-		buf.append("public class Container {\n");
-		buf.append("    public List[] getLists() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("Container.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.ArrayList;\n");				
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Container c) {\n");
-		buf.append("         ArrayList[] lists= c.getLists();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.ArrayList;\n");				
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Container c) {\n");
-		buf.append("         ArrayList[] lists= (ArrayList[]) c.getLists();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");					
-		buf.append("import java.util.ArrayList;\n");
-		buf.append("import java.util.List;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Container c) {\n");
-		buf.append("         List[] lists= c.getLists();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-
-	}
-	
-	public void testCastMissingInVarDecl3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        Thread th= foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 0);
-	}	
-	
-	
-	public void testCastMissingInFieldDecl() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    int time= System.currentTimeMillis();\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    int time= (int) System.currentTimeMillis();\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    long time= System.currentTimeMillis();\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}	
-	
-	public void testCastMissingInAssignment() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Iterator;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Iterator iter) {\n");
-		buf.append("        String str;\n");
-		buf.append("        str= iter.next();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Iterator;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Iterator iter) {\n");
-		buf.append("        String str;\n");
-		buf.append("        str= (String) iter.next();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testCastMissingInExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.List;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public String[] foo(List list) {\n");
-		buf.append("        return list.toArray(new List[list.size()]);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.List;\n");
-		buf.append("public class E {\n");
-		buf.append("    public String[] foo(List list) {\n");
-		buf.append("        return (String[]) list.toArray(new List[list.size()]);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.List;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Object[] foo(List list) {\n");
-		buf.append("        return list.toArray(new List[list.size()]);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}
-	
-	public void testCastOnCastExpression() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.ArrayList;\n");
-		buf.append("import java.util.List;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(List list) {\n");
-		buf.append("        ArrayList a= (Cloneable) list;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.ArrayList;\n");
-		buf.append("import java.util.List;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(List list) {\n");
-		buf.append("        ArrayList a= (ArrayList) list;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.ArrayList;\n");
-		buf.append("import java.util.List;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(List list) {\n");
-		buf.append("        Cloneable a= (Cloneable) list;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}
-	
-
-	public void testUncaughtException() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");			
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("    }\n");				
-		buf.append("    public void foo() throws IOException {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		 
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");			
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");						
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testUncaughtException2() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public String goo() throws IOException {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        goo().substring(2);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");			
-		buf.append("public class E {\n");
-		buf.append("    public String goo() throws IOException {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");				
-		buf.append("    public void foo() throws IOException {\n");
-		buf.append("        goo().substring(2);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		 
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");			
-		buf.append("public class E {\n");
-		buf.append("    public String goo() throws IOException {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo().substring(2);\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");						
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testUncaughtExceptionRemoveMoreSpecific() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.net.SocketException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() throws SocketException {\n");
-		buf.append("        this.goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.net.SocketException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() throws IOException {\n");
-		buf.append("        this.goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		 
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.net.SocketException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() throws SocketException {\n");
-		buf.append("        try {\n");		
-		buf.append("            this.goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");			
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testUncaughtExceptionToSurroundingTry() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void goo() throws IOException, ParseException {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");
-		buf.append("            E.goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void goo() throws IOException, ParseException {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() throws ParseException {\n");
-		buf.append("        try {\n");
-		buf.append("            E.goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		 
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void goo() throws IOException, ParseException {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");
-		buf.append("            try {\n");
-		buf.append("                E.goo();\n");
-		buf.append("            } catch (ParseException e1) {\n");
-		buf.append("            }\n");		
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-		 
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void goo() throws IOException, ParseException {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");		
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");
-		buf.append("            E.goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } catch (ParseException e) {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}	
-	
-	public void testUncaughtExceptionOnSuper1() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.FileInputStream;\n");		
-		buf.append("public class E extends FileInputStream {\n");
-		buf.append("    public E() {\n");
-		buf.append("        super(\"x\");\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.FileInputStream;\n");		
-		buf.append("import java.io.FileNotFoundException;\n");	
-		buf.append("public class E extends FileInputStream {\n");
-		buf.append("    public E() throws FileNotFoundException {\n");
-		buf.append("        super(\"x\");\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUncaughtExceptionOnSuper2() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public A() throws Exception {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		pack1.createCompilationUnit("A.java", buf.toString(), false, null);		
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends A {\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends A {\n");
-		buf.append("    public E() throws Exception {\n");
-		buf.append("        super();\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		
-		assertEqualString(preview, buf.toString());
-	}	
-	
-	public void testUncaughtExceptionOnThis() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("        this(null);\n");		
-		buf.append("    }\n");
-		buf.append("    public E(Object x) throws IOException {\n");
-		buf.append("    }\n");				
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public E() throws IOException {\n");
-		buf.append("        this(null);\n");		
-		buf.append("    }\n");
-		buf.append("    public E(Object x) throws IOException {\n");
-		buf.append("    }\n");				
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}	
-	
-	
-	boolean BUG_25417= true;
-	
-	public void testUncaughtExceptionDuplicate() throws Exception {
-		if (BUG_25417) {
-			return;
-		}
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class MyException extends Exception {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("MyException.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void m1() throws IOException {\n");
-		buf.append("        m2();\n");
-		buf.append("    }\n");		
-		buf.append("    public void m2() throws IOException, ParseException, MyException {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 2); // 2 uncaught exceptions
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void m1() throws IOException, ParseException, MyException {\n");
-		buf.append("        m2();\n");
-		buf.append("    }\n");		
-		buf.append("    public void m2() throws IOException, ParseException, MyException {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		 
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void m1() throws IOException {\n");
-		buf.append("        try {\n");
-		buf.append("            m2();\n");
-		buf.append("        } catch (ParseException e) {\n");
-		buf.append("        } catch (MyException e) {\n");		
-		buf.append("        }\n");
-		buf.append("    }\n");		
-		buf.append("    public void m2() throws IOException, ParseException, MyException {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}	
-	
-	public void testMultipleUncaughtExceptions() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");						
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException, ParseException {\n");
-		buf.append("    }\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 2); // 2 uncaught exceptions
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");						
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException, ParseException {\n");
-		buf.append("    }\n");				
-		buf.append("    public void foo() throws IOException, ParseException {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		 
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException, ParseException {\n");
-		buf.append("    }\n");				
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } catch (ParseException e) {\n");		
-		buf.append("        }\n");						
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}	
-	
-	public void testUnneededCatchBlock() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");				
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } catch (ParseException e) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");				
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");				
-		buf.append("public class E {\n");
-		buf.append("    public void goo() throws IOException {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() throws ParseException {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-	
-	public void testUnneededCatchBlockSingle() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void goo() {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void goo() {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void goo() {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() throws IOException {\n");
-		buf.append("        goo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-
-	public void testUnneededCatchBlockBug47221() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Object foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            Object o= null;\n");
-		buf.append("            return o;\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        }\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Object foo() {\n");
-		buf.append("        Object o= null;\n");
-		buf.append("        return o;\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Object foo() throws IOException {\n");
-		buf.append("        Object o= null;\n");
-		buf.append("        return o;\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-
-	
-	public void testUnneededCatchBlockWithFinally() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void goo() {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } catch (IOException e) {\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-	
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void goo() {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void goo() {\n");
-		buf.append("    }\n");			
-		buf.append("    public void foo() throws IOException {\n");
-		buf.append("        try {\n");		
-		buf.append("            goo();\n");
-		buf.append("        } finally {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-
-	}
-	
-	public void testUnimplementedMethods() throws Exception {
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public interface Inter {\n");
-		buf.append("    int getCount(Object[] o) throws IOException;\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("Inter.java", buf.toString(), false, null);
-
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test2.Inter;\n");		
-		buf.append("public class E implements Inter{\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test2.Inter;\n");		
-		buf.append("public abstract class E implements Inter{\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("\n");		
-		buf.append("import test2.Inter;\n");
-		buf.append("public class E implements Inter{\n");
-		buf.append("\n");
-		buf.append("    public int getCount(Object[] o) throws IOException {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-		
-	}
-	
-	public void testUnimplementedMethods2() throws Exception {
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public interface Inter {\n");
-		buf.append("    int getCount(Object[] o) throws IOException;\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("Inter.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public abstract class InterImpl implements Inter {\n");
-		buf.append("    protected abstract int[] getMusic() throws IOException;\n");		
-		buf.append("}\n");
-		pack2.createCompilationUnit("InterImpl.java", buf.toString(), false, null);		
-
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test2.InterImpl;\n");		
-		buf.append("public class E extends InterImpl {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 2);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test2.InterImpl;\n");		
-		buf.append("public abstract class E extends InterImpl {\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("\n");		
-		buf.append("import test2.InterImpl;\n");
-		buf.append("public class E extends InterImpl {\n");
-		buf.append("\n");
-		buf.append("    protected int[] getMusic() throws IOException {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public int getCount(Object[] o) throws IOException {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}		
-	
-	public void testUnitializedVariable() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int s;\n");
-		buf.append("        try {\n");
-		buf.append("            s= 1;\n");
-		buf.append("        } catch (Exception e) {\n");
-		buf.append("            System.out.println(s);\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int s = 0;\n");
-		buf.append("        try {\n");
-		buf.append("            s= 1;\n");
-		buf.append("        } catch (Exception e) {\n");
-		buf.append("            System.out.println(s);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testUndefinedConstructorInDefaultConstructor1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public F(Runnable runnable) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("\n");
-		buf.append("    public E(Runnable runnable) {\n");
-		buf.append("        super(runnable);\n");		
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUndefinedConstructorInDefaultConstructor2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class F {\n");
-		buf.append("    public F(Runnable runnable) throws IOException {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public F(int i, Runnable runnable) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("\n");
-		buf.append("    public E(int i, Runnable runnable) {\n");
-		buf.append("        super(i, runnable);\n");		
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("\n");
-		buf.append("public class E extends F {\n");
-		buf.append("\n");
-		buf.append("    public E(Runnable runnable) throws IOException {\n");
-		buf.append("        super(runnable);\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}
-
-	public void testUndefinedConstructorWithEnclosing1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public class SubF {\n");
-		buf.append("        public SubF(int i) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public class SubE extends F.SubF {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public class SubE extends F.SubF {\n");
-		buf.append("\n");
-		buf.append("        public SubE(F f, int i) {\n");
-		buf.append("            f.super(i);\n");		
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUndefinedConstructorWithEnclosing2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public static class SubF {\n");
-		buf.append("        public SubF(int i) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public class SubE extends F.SubF {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public class SubE extends F.SubF {\n");
-		buf.append("\n");
-		buf.append("        public SubE(int i) {\n");
-		buf.append("            super(i);\n");		
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	
-	public void testUndefinedConstructorWithEnclosing3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public static class SubF {\n");
-		buf.append("        public SubF(int i) {\n");
-		buf.append("        }\n");
-		buf.append("        public class SubF2 extends SubF {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public static class SubF {\n");
-		buf.append("        public SubF(int i) {\n");
-		buf.append("        }\n");
-		buf.append("        public class SubF2 extends SubF {\n");
-		buf.append("\n");
-		buf.append("            public SubF2(int i) {\n");
-		buf.append("                super(i);\n");		
-		buf.append("            }\n");	
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testNotVisibleConstructorInDefaultConstructor() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    private F() {\n");
-		buf.append("    }\n");
-		buf.append("    public F(Runnable runnable) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("\n");
-		buf.append("    public E(Runnable runnable) {\n");
-		buf.append("        super(runnable);\n");		
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnhandledExceptionInDefaultConstructor() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class F {\n");
-		buf.append("    public F() throws IOException{\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("\n");
-		buf.append("public class E extends F {\n");
-		buf.append("\n");
-		buf.append("    public E() throws IOException {\n");
-		buf.append("        super();\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedPrivateField() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fCount;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}	
-
-	public void testUnusedPrivateField1() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fCount, fColor= fCount;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fCount;\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedPrivateField2() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fCount= 0;\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        fCount= 1 + 2;\n");		
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedVariable() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_LOCAL, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PARAMETER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        boolean res= process();\n");
-		buf.append("        res= (super.hashCode() == 1);\n");
-		buf.append("    }\n");
-		buf.append("    public boolean process() {\n");
-		buf.append("        return true;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        res= (super.hashCode() == 1);\n");
-		buf.append("    }\n");
-		buf.append("    public boolean process() {\n");
-		buf.append("        return true;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedVariable1() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_LOCAL, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PARAMETER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private Object[] foo() {\n");
-		buf.append("        Object[] i, j= new Object[0];\n");
-		buf.append("        i= j = null;\n");
-		buf.append("        i= (new Object[] { null, null });\n");
-		buf.append("        return j;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private Object[] foo() {\n");
-		buf.append("        Object[] j= new Object[0];\n");
-		buf.append("        j = null;\n");
-		buf.append("        return j;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}	
-
-	public void testUnusedVariable2() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_LOCAL, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PARAMETER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private void foo() {\n");
-		buf.append("        for (int j= 0, i= 0; i < 3; i++) {\n");
-		buf.append("             j= i;\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private void foo() {\n");
-		buf.append("        for (int i= 0; i < 3; i++) {\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedVariable4() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_LOCAL, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PARAMETER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param i\n");
-		buf.append("     */\n");
-		buf.append("    private void foo(int i) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     */\n");
-		buf.append("    private void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedParam() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_LOCAL, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PARAMETER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private void foo(Object str) {\n");
-		buf.append("        {\n");
-		buf.append("            str= toString();\n");
-		buf.append("            str= new String[] { toString(), toString() };\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private void foo() {\n");
-		buf.append("        {\n");
-		buf.append("            str= toString();\n");
-		buf.append("            str= new String[] { toString(), toString() };\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	
-	public void testUnusedPrivateMethod() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int fCount;\n");
-		buf.append(" \n");
-		buf.append("    private void foo() {\n");
-		buf.append("        fCount= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int fCount;\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedPrivateConstructor() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append(" \n");
-		buf.append("    private E(int i) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedPrivateType() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private class F {\n");
-		buf.append("    }\n");
-		buf.append(" \n");
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}		
-	
-	public void testUnnecessaryCast1() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        int s = (int) i;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        int s = i;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnnecessaryCast2() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s) {\n");
-		buf.append("        String r = ((String) s);\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s) {\n");
-		buf.append("        String r = s;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnnecessaryCast3() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        int s = ((int) 1 + 2) * 3;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        int s = (1 + 2) * 3;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testSuperfluousSemicolon() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_SUPERFLUOUS_SEMICOLON, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        int s= 1;;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        int s= 1;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testIndirectStaticAccess1() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment other= fSourceFolder.createPackageFragment("other", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package other;\n");
-		buf.append("public class A {\n");
-		buf.append("    public static final int CONST=1;\n");
-		buf.append("}\n");
-		other.createCompilationUnit("A.java", buf.toString(), false, null);		
-
-		IPackageFragment pack0= fSourceFolder.createPackageFragment("pack", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class B extends other.A {\n");
-		buf.append("}\n");
-		pack0.createCompilationUnit("B.java", buf.toString(), false, null);		
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import pack.B;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo(B b) {\n");
-		buf.append("        return B.CONST;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import other.A;\n");
-		buf.append("import pack.B;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo(B b) {\n");
-		buf.append("        return A.CONST;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testIndirectStaticAccess2() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment other= fSourceFolder.createPackageFragment("other", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package other;\n");
-		buf.append("public class A {\n");
-		buf.append("    public static int foo() {\n");
-		buf.append("        return 1;\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		other.createCompilationUnit("A.java", buf.toString(), false, null);		
-
-		IPackageFragment pack0= fSourceFolder.createPackageFragment("pack", false, null);
-		buf= new StringBuffer();
-		buf.append("package pack;\n");
-		buf.append("public class B extends other.A {\n");
-		buf.append("}\n");
-		pack0.createCompilationUnit("B.java", buf.toString(), false, null);		
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return pack.B.foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import other.A;\n");
-		buf.append("\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return A.foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testIndirectStaticAccess_bug40880() throws Exception {
-		
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("class FileType {\n");
-		buf.append("    public String extension;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("FileType.java", buf.toString(), false, null);		
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("interface ToolConfigurationSettingsConstants {\n");
-		buf.append("     FileType FILE_TYPE = null;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("ToolConfigurationSettingsConstants.java", buf.toString(), false, null);		
-
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("interface ToolUserSettingsConstants extends ToolConfigurationSettingsConstants {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("ToolUserSettingsConstants.java", buf.toString(), false, null);		
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        ToolUserSettingsConstants.FILE_TYPE.extension.toLowerCase();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-			
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        ToolConfigurationSettingsConstants.FILE_TYPE.extension.toLowerCase();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testIndirectStaticAccess_bug32022() throws Exception {
-		
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class StaticField {\n");
-		buf.append("    public boolean flag;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("StaticField.java", buf.toString(), false, null);		
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class ConstClass {\n");
-		buf.append("     public static StaticField staticField = new StaticField();\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("ConstClass.java", buf.toString(), false, null);		
-
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(ConstClass constclass) {\n");
-		buf.append("        constclass.staticField.flag= true;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(ConstClass constclass) {\n");
-		buf.append("        ConstClass.staticField.flag= true;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class ConstClass {\n");
-		buf.append("     public StaticField staticField = new StaticField();\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}
-	
-	
-	public void testUnnecessaryInstanceof1() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public boolean foo(String b) {\n");
-		buf.append("        return (b instanceof String);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public boolean foo(String b) {\n");
-		buf.append("        return (b != null);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnnecessaryInstanceof2() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String b) {\n");
-		buf.append("        if  (b instanceof String && b.getClass() != null) {\n");
-		buf.append("            System.out.println();\n");		
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String b) {\n");
-		buf.append("        if  (b != null && b.getClass() != null) {\n");
-		buf.append("            System.out.println();\n");		
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testUnnecessaryThrownException1() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String b) throws IOException {\n");
-		buf.append("        if  (b != null) {\n");
-		buf.append("            System.out.println();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String b) {\n");
-		buf.append("        if  (b != null) {\n");
-		buf.append("            System.out.println();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnnecessaryThrownException2() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(int i) throws IOException, ParseException {\n");
-		buf.append("        if  (i == 0) {\n");
-		buf.append("            throw new IOException();\n");	
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(int i) throws IOException {\n");
-		buf.append("        if  (i == 0) {\n");
-		buf.append("            throw new IOException();\n");	
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnnecessaryThrownException3() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param i\n");
-		buf.append("     * @throws IOException\n");
-		buf.append("     * @throws ParseException\n");
-		buf.append("     */\n");
-		buf.append("    public void foo(int i) throws IOException, ParseException {\n");
-		buf.append("        if  (i == 0) {\n");
-		buf.append("            throw new IOException();\n");	
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.IOException;\n");
-		buf.append("import java.text.ParseException;\n");
-		buf.append("public class E {\n");
-		buf.append("    /**\n");
-		buf.append("     * @param i\n");
-		buf.append("     * @throws IOException\n");
-		buf.append("     */\n");
-		buf.append("    public void foo(int i) throws IOException {\n");
-		buf.append("        if  (i == 0) {\n");
-		buf.append("            throw new IOException();\n");	
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	
-	public void testUnqualifiedFieldAccess1() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNQUALIFIED_FIELD_ACCESS, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        count= i;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        this.count= i;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnqualifiedFieldAccess2() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNQUALIFIED_FIELD_ACCESS, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public int count;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private F f= new F();\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        f.count= i;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private F f= new F();\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        this.f.count= i;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnqualifiedFieldAccess3() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNQUALIFIED_FIELD_ACCESS, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public void setCount(int i) {}\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private F f= new F();\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        f.setCount(i);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private F f= new F();\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        this.f.setCount(i);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnqualifiedFieldAccess4() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNQUALIFIED_FIELD_ACCESS, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        class Inner {\n");
-		buf.append("            public void foo() {\n");
-		buf.append("               count= 1;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        class Inner {\n");
-		buf.append("            public void foo() {\n");
-		buf.append("               E.this.count= 1;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnqualifiedFieldAccess_bug50960() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_UNQUALIFIED_FIELD_ACCESS, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    private int count;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("F.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        count= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends F {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        this.count= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	
-	
-	public void testHidingVariable1() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public void foo() {\n");
-		buf.append("       int count= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		assertTrue(proposals.get(0) instanceof LinkedNamesAssistProposal);
-	}
-	
-	public void testHidingVariable2() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public void foo(int count) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		assertTrue(proposals.get(0) instanceof LinkedNamesAssistProposal);
-	}	
-	
-	public void testHidingVariable3() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int count) {\n");
-		buf.append("        class Inner {\n");
-		buf.append("            private int count;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		assertTrue(proposals.get(0) instanceof LinkedNamesAssistProposal);
-	}
-	
-	public void testHidingVariable4() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int count;\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        class Inner {\n");
-		buf.append("            private int count;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		assertTrue(proposals.get(0) instanceof LinkedNamesAssistProposal);
-	}
-	
-	public void testHidingVariable5() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int count) {\n");
-		buf.append("        class Inner {\n");
-		buf.append("            public void foo() {\n");
-		buf.append("                 int count;\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		assertTrue(proposals.get(0) instanceof LinkedNamesAssistProposal);
-	}
-	
-	public void testHidingVariable6() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING, JavaCore.ERROR);
-		hashtable.put(JavaCore.COMPILER_PB_FIELD_HIDING, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int count) {\n");
-		buf.append("        class Inner {\n");
-		buf.append("            public void foo(int count) {\n");
-		buf.append("            }\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		assertTrue(proposals.get(0) instanceof LinkedNamesAssistProposal);
-	}
-
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/MarkerResolutionGenerator.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/MarkerResolutionGenerator.java
deleted file mode 100644
index efea7dd..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/MarkerResolutionGenerator.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/MarkerResolutionTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/MarkerResolutionTest.java
deleted file mode 100644
index e17df32..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/MarkerResolutionTest.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.util.Arrays;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-
-import org.eclipse.ui.IEditorPart;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
-import org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionAssistant;
-import org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor;
-
-public class MarkerResolutionTest extends QuickFixTest {
-	
-	private static final Class THIS= MarkerResolutionTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	private boolean BUG_46227= true;
-
-	public MarkerResolutionTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new MarkerResolutionTest("testQuickFixAfterModification"));
-			return suite;
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-
-	private IMarker createMarker(ICompilationUnit cu, int line, int offset, int len) throws CoreException {
-		IFile file= (IFile) cu.getResource();
-		IMarker marker= file.createMarker("org.eclipse.jdt.ui.tests.testmarker");
-		marker.setAttribute(IMarker.LOCATION, cu.getElementName());
-		marker.setAttribute(IMarker.MESSAGE, "Test marker");
-		marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
-		marker.setAttribute(IMarker.LINE_NUMBER, line);
-		marker.setAttribute(IMarker.CHAR_START, offset);
-		marker.setAttribute(IMarker.CHAR_END, offset + len);
-		return marker;
-	}
-
-	
-	public void testQuickFix() throws Exception {
-		if (BUG_46227)
-			return;
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        goo(true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		createMarker(cu, 0, 0, 7);
-		
-		IEditorPart part= EditorUtility.openInEditor(cu);
-		ITextViewer viewer= ((JavaEditor) part).getViewer();
-		
-		try {
-			JavaCorrectionAssistant assistant= new JavaCorrectionAssistant(part);
-			JavaCorrectionProcessor processor= new JavaCorrectionProcessor(assistant);
-			ICompletionProposal[] proposals= processor.computeCompletionProposals(viewer, 0);
-			
-			assertNumberOf("proposals", proposals.length, 1);
-			assertCorrectLabels(Arrays.asList(proposals));
-			
-			IDocument doc= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			
-			proposals[0].apply(doc);
-			
-			buf= new StringBuffer();
-			buf.append("PACKAGE test1;\n");
-			buf.append("import java.util.Vector;\n");
-			buf.append("public class E {\n");
-			buf.append("    void foo(Vector vec) {\n");
-			buf.append("        goo(true);\n");
-			buf.append("    }\n");
-			buf.append("}\n");
-			assertEqualString(doc.get(), buf.toString());
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-	}
-	
-	public void testQuickFixAfterModification() throws Exception {
-		if (BUG_46227)
-			return;
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        goo(true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		int markerPos= 8;
-		createMarker(cu, 0, markerPos, 5);
-		
-		IEditorPart part= EditorUtility.openInEditor(cu);
-		try {
-			IDocument doc= JavaUI.getDocumentProvider().getDocument(part.getEditorInput());
-			doc.replace(0, 0, "\n"); // insert new line
-			
-			JavaCorrectionAssistant assistant= new JavaCorrectionAssistant(part);
-			JavaCorrectionProcessor processor= new JavaCorrectionProcessor(assistant);
-			ICompletionProposal[] proposals= processor.computeCompletionProposals(null, markerPos + 1);
-			
-			assertNumberOf("proposals", proposals.length, 1);
-			assertCorrectLabels(Arrays.asList(proposals));	
-			
-			proposals[0].apply(doc);
-			
-			buf= new StringBuffer();
-			buf.append("\n");		
-			buf.append("package TEST1;\n");
-			buf.append("import java.util.Vector;\n");
-			buf.append("public class E {\n");
-			buf.append("    void foo(Vector vec) {\n");
-			buf.append("        goo(true);\n");
-			buf.append("    }\n");
-			buf.append("}\n");
-			assertEqualString(doc.get(), buf.toString());
-		} finally {
-			JavaPlugin.getActivePage().closeAllEditors(false);
-		}
-	}	
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ModifierCorrectionsQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ModifierCorrectionsQuickFixTest.java
deleted file mode 100644
index c136f79..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ModifierCorrectionsQuickFixTest.java
+++ /dev/null
@@ -1,1393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-
-public class ModifierCorrectionsQuickFixTest extends QuickFixTest {
-	
-	private static final Class THIS= ModifierCorrectionsQuickFixTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ModifierCorrectionsQuickFixTest(String name) {
-		super(name);
-	}
-
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ModifierCorrectionsQuickFixTest("testInheritedMethodReducesVisibleMethod"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		options.put(JavaCore.COMPILER_PB_STATIC_ACCESS_RECEIVER, JavaCore.ERROR);
-		
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	public void testStaticMethodRequestedInSameType1() throws Exception {
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void xoo() {\n");
-		buf.append("    }\n");		
-		buf.append("    public static void foo() {\n");
-		buf.append("        xoo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void xoo() {\n");
-		buf.append("    }\n");		
-		buf.append("    public static void foo() {\n");
-		buf.append("        xoo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}	
-
-	public void testStaticMethodRequestedInSameType2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void xoo() {\n");
-		buf.append("    }\n");		
-		buf.append("    public static void foo() {\n");
-		buf.append("        E.xoo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void xoo() {\n");
-		buf.append("    }\n");		
-		buf.append("    public static void foo() {\n");
-		buf.append("        E.xoo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testStaticMethodRequestedInOtherType() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public void xoo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         X.xoo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public static void xoo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testInvisibleMethodRequestedInSuperType() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class C {\n");
-		buf.append("    private void xoo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         xoo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    protected void xoo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testInvisibleSuperMethodRequestedInSuperType() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    private void xoo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         super.xoo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    protected void xoo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-		
-	public void testInvisibleMethodRequestedInOtherPackage() throws Exception {
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("import java.util.List;\n");		
-		buf.append("public class C {\n");
-		buf.append("    private void xoo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test2.C;\n");				
-		buf.append("public class E {\n");
-		buf.append("    public void foo(C c) {\n");
-		buf.append("         c.xoo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("import java.util.List;\n");		
-		buf.append("public class C {\n");
-		buf.append("    public void xoo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testInvisibleConstructorRequestedInOtherType() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class C {\n");
-		buf.append("    private C() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         C c= new C();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class C {\n");
-		buf.append("    C() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testInvisibleConstructorRequestedInSuperType() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class C {\n");
-		buf.append("    private C() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends C {\n");
-		buf.append("    public E() {\n");
-		buf.append("         super();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class C {\n");
-		buf.append("    protected C() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}	
-	
-	public void testInvisibleFieldRequestedInSamePackage1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    private int fXoo;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class E {\n");
-		buf.append("    public void foo(C c) {\n");
-		buf.append("         c.fXoo= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    int fXoo;\n");
-		buf.append("}\n");
-		
-		assertEqualString(preview, buf.toString());
-	}
-	
-	
-	public void testInvisibleFieldRequestedInSamePackage2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    private int fXoo;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         fXoo= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 5);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    protected int fXoo;\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class E extends C {\n");
-		buf.append("    private int fXoo;\n");
-		buf.append("\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         fXoo= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo(int fXoo) {\n");
-		buf.append("         fXoo= 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(3);
-		String preview4= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         int fXoo = 1;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected4= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(4);
-		String preview5= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");	
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected5= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3, preview4, preview5 }, new String[] { expected1, expected2, expected3, expected4, expected5 });		
-
-	}	
-	
-	
-	public void testNonStaticMethodRequestedInConstructor() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int xoo() { return 1; };\n");
-		buf.append("    public E(int val) {\n");		
-		buf.append("    }\n");			
-		buf.append("    public E() {\n");
-		buf.append("         this(xoo());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static int xoo() { return 1; };\n");
-		buf.append("    public E(int val) {\n");		
-		buf.append("    }\n");			
-		buf.append("    public E() {\n");
-		buf.append("         this(xoo());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}		
-	
-	public void testNonStaticFieldRequestedInConstructor() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int fXoo= 1;\n");
-		buf.append("    public E(int val) {\n");		
-		buf.append("    }\n");			
-		buf.append("    public E() {\n");
-		buf.append("         this(fXoo);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static int fXoo= 1;\n");
-		buf.append("    public E(int val) {\n");		
-		buf.append("    }\n");			
-		buf.append("    public E() {\n");
-		buf.append("         this(fXoo);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testInvisibleTypeRequestedInDifferentPackage() throws Exception {
-		if (false) {
-			System.out.println("testInvisibleTypeRequestedInDifferentPackage: Waiting for release fo bug fix 24406");	
-			return;
-		}
-		
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("class C {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         test2.C c= null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testInvisibleTypeRequestedFromSuperClass() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    private class CInner {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         CInner c= null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    class CInner {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	
-	public void testInvisibleImport() throws Exception {
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("class C {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("C.java", buf.toString(), false, null);
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("         test2.C c= null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("public class C {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testAbstractMethodWithBody() throws Exception {	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public abstract void foo() {\n");
-		buf.append("    }\n");				
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");				
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public abstract class E {\n");
-		buf.append("    public abstract void foo();\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-
-	}
-	
-	public void testAbstractMethodInNonAbstractClass() throws Exception {	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public abstract int foo();\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return 0;\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");		
-		buf.append("public abstract class E {\n");
-		buf.append("    public abstract int foo();\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testNativeMethodWithBody() throws Exception {	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public native void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");		
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public native void foo();\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testOuterLocalMustBeFinal() throws Exception {
-	
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        int i= 9;\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                int x= i;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        final int i= 9;\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                int x= i;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testOuterParameterMustBeFinal() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                int x= i;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(final int i) {\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                int x= i;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testOuterForParamMustBeFinal() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for (int i= 1; true;) {\n");		
-		buf.append("            Runnable run= new Runnable() {\n");
-		buf.append("                public void run() {\n");
-		buf.append("                    int x= i;\n");
-		buf.append("                }\n");
-		buf.append("            };\n");			
-		buf.append("        }\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        for (final int i= 1; true;) {\n");		
-		buf.append("            Runnable run= new Runnable() {\n");
-		buf.append("                public void run() {\n");
-		buf.append("                    int x= i;\n");
-		buf.append("                }\n");
-		buf.append("            };\n");			
-		buf.append("        }\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testMethodRequiresBody() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo();\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public abstract void foo();\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-
-	}
-	
-	public void testMethodRequiresBody2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo();\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public abstract int foo();\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}	
-	
-	public void testNeedToEmulateMethodAccess() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void x() {\n");
-		buf.append("        Runnable r= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                foo();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("    private void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void x() {\n");
-		buf.append("        Runnable r= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                foo();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("    void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testNeedToEmulateConstructorAccess() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void x() {\n");
-		buf.append("        Runnable r= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("               E e= new E();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("    private E() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void x() {\n");
-		buf.append("        Runnable r= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("               E e= new E();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("    E() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}		
-	
-	public void testNeedToEmulateFieldRead() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void x() {\n");
-		buf.append("        Runnable r= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("               int x= fCount;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("    private int fCount; {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void x() {\n");
-		buf.append("        Runnable r= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("               int x= fCount;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("    int fCount; {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testNeedToEmulateFieldWrite() throws Exception {
-		Hashtable hashtable= JavaCore.getOptions();
-		hashtable.put(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION, JavaCore.ERROR);
-		JavaCore.setOptions(hashtable);
-				
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void x() {\n");
-		buf.append("        Runnable r= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("               fCount= 2;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("    private int fCount; {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void x() {\n");
-		buf.append("        Runnable r= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("               fCount= 2;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("    int fCount; {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}		
-
-	public void testSetFinalVariable1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private final int x= 9;\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        x= 8;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int x= 9;\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        x= 8;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testSetFinalVariable2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private final int x;\n");
-		buf.append("    public E() {\n");
-		buf.append("        x= 8;\n");
-		buf.append("        x= 9;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int x;\n");
-		buf.append("    public E() {\n");
-		buf.append("        x= 8;\n");
-		buf.append("        x= 9;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testSetFinalVariable3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("        final int x= 8;\n");
-		buf.append("        x= 9;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("        int x= 8;\n");
-		buf.append("        x= 9;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testOverrideFinalMethod() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    protected final void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		pack1.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends C {\n");
-		buf.append("    protected void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class C {\n");
-		buf.append("    protected void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	
-	public void testOverridesNonVisibleMethod() throws Exception {
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("public class C {\n");
-		buf.append("    void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		pack2.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test2.C;\n");
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("public class C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testOverridesMoreVisibleMethod() throws Exception {
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("public class C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		pack2.createCompilationUnit("C.java", buf.toString(), false, null);
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test2.C;\n");
-		buf.append("public class E extends C {\n");
-		buf.append("    protected void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("public class C {\n");
-		buf.append("    protected void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test2.C;\n");
-		buf.append("public class E extends C {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest.java
deleted file mode 100644
index 6935c8e..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.StringAsserts;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IProblemRequestor;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.WorkingCopyOwner;
-import org.eclipse.jdt.core.compiler.IProblem;
-
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-
-import org.eclipse.jdt.internal.ui.text.correction.AssistContext;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor;
-import org.eclipse.jdt.internal.ui.text.correction.LinkedNamesAssistProposal;
-import org.eclipse.jdt.internal.ui.text.correction.ProblemLocation;
-
-/**
-  */
-public class QuickFixTest extends TestCase {
-
-	public static Test suite() {
-		TestSuite suite= new TestSuite();
-		suite.addTest(UnresolvedTypesQuickFixTest.allTests());
-		suite.addTest(UnresolvedVariablesQuickFixTest.allTests());
-		suite.addTest(UnresolvedMethodsQuickFixTest.allTests());
-		suite.addTest(ReturnTypeQuickFixTest.allTests());
-		suite.addTest(LocalCorrectionsQuickFixTest.allTests());
-		suite.addTest(ReorgQuickFixTest.allTests());
-		suite.addTest(ModifierCorrectionsQuickFixTest.allTests());
-		suite.addTest(AssistQuickFixTest.allTests());
-		suite.addTest(MarkerResolutionTest.allTests());
-		suite.addTest(JavadocQuickFixTest.allTests());
-		return new ProjectTestSetup(suite);
-	}
-
-	
-	public QuickFixTest(String name) {
-		super(name);
-	}
-	
-	public static void assertCorrectLabels(List proposals) {
-		for (int i= 0; i < proposals.size(); i++) {
-			ICompletionProposal proposal= (ICompletionProposal) proposals.get(i);
-			String name= proposal.getDisplayString();
-			if (name == null || name.length() == 0 || name.charAt(0) == '!' || name.indexOf("{0}") != -1 || name.indexOf("{1}") != -1) {
-				assertTrue("wrong proposal label: " + name, false);
-			}
-			if (proposal.getImage() == null) {
-				assertTrue("wrong proposal image", false);
-			}			
-		}
-	}
-	
-	public static void assertCorrectContext(IInvocationContext context, ProblemLocation problem) {
-		if (problem.getProblemId() != 0) {
-			if (!JavaCorrectionProcessor.hasCorrections(context.getCompilationUnit(), problem.getProblemId())) {
-				assertTrue("Problem type not marked with lightbulb: " + problem, false);
-			}
-		}
-	}	
-	
-	
-	public static void assertNumberOf(String name, int nProblems, int nProblemsExpected) {
-		assertTrue("Wrong number of " + name + ", is: " + nProblems + ", expected: " + nProblemsExpected, nProblems == nProblemsExpected);
-	}
-	
-	
-	public static void assertEqualString(String actual, String expected) {	
-		StringAsserts.assertEqualString(actual, expected);
-	}
-	
-	public static void assertEqualStringIgnoreDelim(String actual, String expected) throws IOException {
-		StringAsserts.assertEqualStringIgnoreDelim(actual, expected);
-	}	
-	
-	public static void assertEqualStringsIgnoreOrder(String[] actuals, String[] expecteds) {
-		StringAsserts.assertEqualStringsIgnoreOrder(actuals, expecteds);			
-	}
-	
-	public static TypeDeclaration findTypeDeclaration(CompilationUnit astRoot, String simpleTypeName) {
-		List types= astRoot.types();
-		for (int i= 0; i < types.size(); i++) {
-			TypeDeclaration elem= (TypeDeclaration) types.get(i);
-			if (simpleTypeName.equals(elem.getName().getIdentifier())) {
-				return elem;
-			}
-		}
-		return null;
-	}
-	
-	public static MethodDeclaration findMethodDeclaration(TypeDeclaration typeDecl, String methodName) {
-		MethodDeclaration[] methods= typeDecl.getMethods();
-		for (int i= 0; i < methods.length; i++) {
-			if (methodName.equals(methods[i].getName().getIdentifier())) {
-				return methods[i];
-			}
-		}
-		return null;
-	}
-	
-	public static VariableDeclarationFragment findFieldDeclaration(TypeDeclaration typeDecl, String fieldName) {
-		FieldDeclaration[] fields= typeDecl.getFields();
-		for (int i= 0; i < fields.length; i++) {
-			List list= fields[i].fragments();
-			for (int k= 0; k < list.size(); k++) {
-				VariableDeclarationFragment fragment= (VariableDeclarationFragment) list.get(k);
-				if (fieldName.equals(fragment.getName().getIdentifier())) {
-					return fragment;
-				}				
-			}
-		}
-		return null;
-	}	
-		
-	public static AssistContext getCorrectionContext(ICompilationUnit cu, int offset, int length) {
-		AssistContext context= new AssistContext(cu, offset, length);
-		return context;
-	}
-
-
-	protected final ArrayList collectCorrections(ICompilationUnit cu, CompilationUnit astRoot) {
-		return collectCorrections(cu, astRoot, 1);
-	}
-
-
-	protected final ArrayList collectCorrections(ICompilationUnit cu, CompilationUnit astRoot, int nProblems) {
-		IProblem[] problems= astRoot.getProblems();
-		if (problems.length != nProblems) {
-			StringBuffer buf= new StringBuffer("Wrong number of problems, is: ");
-			buf.append(problems.length).append(", expected: ").append(nProblems).append('\n');
-			for (int i= 0; i < problems.length; i++) {
-				buf.append(problems[i]);
-				buf.append('[').append(problems[i].getSourceStart()).append(" ,").append(problems[i].getSourceEnd()).append(']');
-				buf.append('\n');
-			}
-			assertTrue(buf.toString(), false);
-
-		}
-		return collectCorrections(cu, problems[0]);
-	}
-	
-	protected final ArrayList collectCorrections2(ICompilationUnit cu, int nProblems) throws JavaModelException {
-		
-		final ArrayList problemsList= new ArrayList();
-		IProblemRequestor requestor= new IProblemRequestor() {
-			public void acceptProblem(IProblem problem) {
-				problemsList.add(problem);
-			}
-			public void beginReporting() {
-				problemsList.clear();
-			}
-			public void endReporting() {}
-			public boolean isActive() {	return true;}
-		};
-		
-		ICompilationUnit wc= cu.getWorkingCopy(new WorkingCopyOwner() {}, requestor, null);
-		try {
-			wc.reconcile(false, true, wc.getOwner(), null);
-		} finally {
-			wc.discardWorkingCopy();
-		}
-		
-		IProblem[] problems= (IProblem[]) problemsList.toArray(new IProblem[problemsList.size()]);
-		if (problems.length != nProblems) {
-			StringBuffer buf= new StringBuffer("Wrong number of problems, is: ");
-			buf.append(problems.length).append(", expected: ").append(nProblems).append('\n');
-			for (int i= 0; i < problems.length; i++) {
-				buf.append(problems[i]);
-				buf.append('[').append(problems[i].getSourceStart()).append(" ,").append(problems[i].getSourceEnd()).append(']');
-				buf.append('\n');
-			}
-			assertTrue(buf.toString(), false);
-
-		}
-		return collectCorrections(cu, problems[0]);
-	}
-		
-	protected final ArrayList collectCorrections(ICompilationUnit cu, IProblem curr) {
-			
-		int offset= curr.getSourceStart();
-		int length= curr.getSourceEnd() + 1 - offset;
-		
-		ProblemLocation problem= new ProblemLocation(offset, length, curr.getID(), curr.getArguments(), true);
-		AssistContext context= new AssistContext(cu, offset, length);
-		assertCorrectContext(context, problem);
-		ArrayList proposals= new ArrayList();
-		
-		JavaCorrectionProcessor.collectCorrections(context,  new ProblemLocation[] { problem }, proposals);
-		return proposals;
-	}
-
-
-	protected final ArrayList collectAssists(IInvocationContext context, Class[] filteredTypes) {
-		ArrayList proposals= new ArrayList();
-		JavaCorrectionProcessor.collectAssists(context, null, proposals);
-		
-		if (filteredTypes != null && filteredTypes.length > 0) {
-			for (Iterator iter= proposals.iterator(); iter.hasNext(); ) {
-				if (isFiltered(iter.next(), filteredTypes)) {
-					iter.remove();
-				}
-			}
-		}
-		return proposals;
-	}
-	
-	private boolean isFiltered(Object curr, Class[] filteredTypes) {
-		for (int k = 0; k < filteredTypes.length; k++) {
-			if (filteredTypes[k].isInstance(curr)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	protected final ArrayList collectAssists(IInvocationContext context, boolean includeLinkedRename) {
-		Class[] filteredTypes= includeLinkedRename ? null : new Class[] { LinkedNamesAssistProposal.class };
-		return collectAssists(context, filteredTypes);
-	}
-	
-	protected CompilationUnit getASTRoot(ICompilationUnit cu) {
-		ASTParser parser= ASTParser.newParser(AST.LEVEL_2_0);
-		parser.setSource(cu);
-		parser.setResolveBindings(true);
-		return (CompilationUnit) parser.createAST(null);
-	}
-	
-	protected String getPreviewContent(CUCorrectionProposal proposal) throws CoreException {
-		return proposal.getPreviewContent();
-	}
-	
-	protected void assertNumberOfProposals(List proposals, int expectedProposals) {
-		if (proposals.size() != expectedProposals) {
-			StringBuffer buf= new StringBuffer();
-			buf.append("Wrong number of proposals, is: ").append(proposals.size()). append(", expected: ").append(expectedProposals).append('\n');
-			for (int i= 0; i < proposals.size(); i++) {
-				ICompletionProposal curr= (ICompletionProposal) proposals.get(i);
-				buf.append(" - ").append(curr.getDisplayString()).append('\n');
-				if (curr instanceof CUCorrectionProposal) {
-					appendSource(((CUCorrectionProposal) curr), buf);
-				}
-			}
-			assertTrue(buf.toString(), false);
-		}
-	}
-	
-	private void appendSource(CUCorrectionProposal proposal, StringBuffer buf) {
-		
-	}
-	
-	
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ReorgQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ReorgQuickFixTest.java
deleted file mode 100644
index 1606d32..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ReorgQuickFixTest.java
+++ /dev/null
@@ -1,911 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-import org.eclipse.jdt.ui.text.java.IProblemLocation;
-
-import org.eclipse.jdt.internal.corext.refactoring.changes.AddToClasspathChange;
-import org.eclipse.jdt.internal.corext.userlibrary.UserLibrary;
-import org.eclipse.jdt.internal.corext.userlibrary.UserLibraryClasspathContainer;
-import org.eclipse.jdt.internal.corext.userlibrary.UserLibraryManager;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.text.correction.AssistContext;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.ChangeCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.CorrectMainTypeNameProposal;
-import org.eclipse.jdt.internal.ui.text.correction.CorrectPackageDeclarationProposal;
-import org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor;
-import org.eclipse.jdt.internal.ui.text.correction.ProblemLocation;
-
-public class ReorgQuickFixTest extends QuickFixTest {
-	
-	private static final Class THIS= ReorgQuickFixTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ReorgQuickFixTest(String name) {
-		super(name);
-	}
-
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ReorgQuickFixTest("testAddToClasspath2"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		options.put(JavaCore.COMPILER_PB_UNUSED_IMPORT, JavaCore.ERROR);
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	
-	public void testUnusedImports() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		Object p1= proposals.get(0);
-		if (!(p1 instanceof CUCorrectionProposal)) {
-			p1= proposals.get(1);
-		}
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) p1;
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testUnusedImportsInDefaultPackage() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		Object p1= proposals.get(0);
-		if (!(p1 instanceof CUCorrectionProposal)) {
-			p1= proposals.get(1);
-		}
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) p1;
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testUnusedImportOnDemand() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");				
-		buf.append("import java.util.Vector;\n");
-		buf.append("import java.net.*;\n");
-		buf.append("\n");				
-		buf.append("public class E {\n");
-		buf.append("    Vector v;\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		Object p1= proposals.get(0);
-		if (!(p1 instanceof CUCorrectionProposal)) {
-			p1= proposals.get(1);
-		}
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) p1;
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");				
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class E {\n");
-		buf.append("    Vector v;\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testCollidingImports() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");				
-		buf.append("import java.security.Permission;\n");
-		buf.append("import java.security.acl.Permission;\n");
-		buf.append("import java.util.Vector;\n");		
-		buf.append("\n");				
-		buf.append("public class E {\n");
-		buf.append("    Permission p;\n");
-		buf.append("    Vector v;\n");		
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		Object p1= proposals.get(0);
-		if (!(p1 instanceof CUCorrectionProposal)) {
-			p1= proposals.get(1);
-		}
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) p1;
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");				
-		buf.append("import java.security.Permission;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");				
-		buf.append("public class E {\n");
-		buf.append("    Permission p;\n");
-		buf.append("    Vector v;\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testWrongPackageStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("\n");				
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean hasRename= true, hasMove= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			ChangeCorrectionProposal curr= (ChangeCorrectionProposal) proposals.get(i);
-			if (curr instanceof CorrectPackageDeclarationProposal) {
-				assertTrue("Duplicated proposal", hasRename);
-				hasRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) curr;
-				String preview= getPreviewContent(proposal);				
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("\n");				
-				buf.append("public class E {\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());			
-			} else {
-				assertTrue("Duplicated proposal", hasMove);
-				hasMove= false;				
-				curr.apply(null);
-				
-				IPackageFragment pack2= fSourceFolder.getPackageFragment("test2");
-				ICompilationUnit cu2= pack2.getCompilationUnit("E.java");
-				assertTrue("CU does not exist", cu2.exists());
-				buf= new StringBuffer();
-				buf.append("package test2;\n");
-				buf.append("\n");				
-				buf.append("public class E {\n");
-				buf.append("}\n");
-				assertEqualStringIgnoreDelim(cu2.getSource(), buf.toString());					
-			}
-		}
-	}
-	
-	public void testWrongPackageStatementFromDefault() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("\n");				
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean hasRename= true, hasMove= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			ChangeCorrectionProposal curr= (ChangeCorrectionProposal) proposals.get(i);
-			if (curr instanceof CorrectPackageDeclarationProposal) {
-				assertTrue("Duplicated proposal", hasRename);
-				hasRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) curr;
-				String preview= getPreviewContent(proposal);				
-				buf= new StringBuffer();
-				buf.append("\n");
-				buf.append("\n");
-				buf.append("public class E {\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());			
-			} else {
-				assertTrue("Duplicated proposal", hasMove);
-				hasMove= false;				
-				curr.apply(null);
-				
-				IPackageFragment pack2= fSourceFolder.getPackageFragment("test2");
-				ICompilationUnit cu2= pack2.getCompilationUnit("E.java");
-				assertTrue("CU does not exist", cu2.exists());
-				buf= new StringBuffer();
-				buf.append("package test2;\n");
-				buf.append("\n");				
-				buf.append("public class E {\n");
-				buf.append("}\n");
-				assertEqualStringIgnoreDelim(cu2.getSource(), buf.toString());					
-			}
-		}
-	}		
-	
-	public void testWrongDefaultPackageStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test2", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean hasRename= true, hasMove= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			ChangeCorrectionProposal curr= (ChangeCorrectionProposal) proposals.get(i);
-			if (curr instanceof CorrectPackageDeclarationProposal) {
-				assertTrue("Duplicated proposal", hasRename);
-				hasRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) curr;
-				String preview= getPreviewContent(proposal);				
-				buf= new StringBuffer();
-				buf.append("package test2;\n");
-				buf.append("\n");
-				buf.append("public class E {\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());			
-			} else {
-				assertTrue("Duplicated proposal", hasMove);
-				hasMove= false;				
-				curr.apply(null);
-				
-				IPackageFragment pack2= fSourceFolder.getPackageFragment("");
-				ICompilationUnit cu2= pack2.getCompilationUnit("E.java");
-				assertTrue("CU does not exist", cu2.exists());
-				buf= new StringBuffer();			
-				buf.append("public class E {\n");
-				buf.append("}\n");
-				assertEqualStringIgnoreDelim(cu2.getSource(), buf.toString());					
-			}
-		}
-	}
-	
-	public void testWrongPackageStatementButColliding() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("\n");		
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-		buf.append("package test2;\n");
-		buf.append("\n");		
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-			
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());			
-	}
-	
-	public void testWrongTypeName() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");				
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("X.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean hasRename= true, hasMove= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			ChangeCorrectionProposal curr= (ChangeCorrectionProposal) proposals.get(i);
-			if (curr instanceof CorrectMainTypeNameProposal) {
-				assertTrue("Duplicated proposal", hasRename);
-				hasRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) curr;
-				String preview= getPreviewContent(proposal);				
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("\n");				
-				buf.append("public class X {\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());					
-			} else {						
-				assertTrue("Duplicated proposal", hasMove);
-				hasMove= false;				
-				curr.apply(null);
-				
-				ICompilationUnit cu2= pack1.getCompilationUnit("E.java");
-				assertTrue("CU does not exist", cu2.exists());
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("\n");				
-				buf.append("public class E {\n");
-				buf.append("}\n");
-				assertEqualStringIgnoreDelim(cu2.getSource(), buf.toString());
-			}
-		}
-	}
-	
-	public void testWrongTypeNameButColliding() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");		
-		buf.append("public class X {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		buf.append("package test1;\n");
-		buf.append("\n");		
-		buf.append("public class X {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		
-		String preview= getPreviewContent(proposal);				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());			
-	}
-	
-	public void testWrongTypeNameWithConstructor() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");		
-		buf.append("public class X {\n");
-		buf.append("    public X() {\n");
-		buf.append("        X other;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		buf.append("package test1;\n");
-		buf.append("\n");		
-		buf.append("public class X {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		
-		String preview= getPreviewContent(proposal);				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");		
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("        E other;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());			
-	}		
-	
-	public void testTodoTasks1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        // TODO: XXX\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "TODO: XXX";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		ProblemLocation problem= new ProblemLocation(buf.toString().indexOf(str), str.length(), IProblem.Task, new String[0], true);
-		ArrayList proposals= new ArrayList();
-		
-		JavaCorrectionProcessor.collectCorrections(context, new IProblemLocation[] { problem } , proposals);
-		
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testTodoTasks2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        // Some other text TODO: XXX\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "TODO: XXX";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		ProblemLocation problem= new ProblemLocation(buf.toString().indexOf(str), str.length(), IProblem.Task, new String[0], true);
-		ArrayList proposals= new ArrayList();
-		
-		JavaCorrectionProcessor.collectCorrections(context, new IProblemLocation[] { problem } , proposals);
-		
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        // Some other text \n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testTodoTasks3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        /* TODO: XXX */\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "TODO: XXX";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		ProblemLocation problem= new ProblemLocation(buf.toString().indexOf(str), str.length(), IProblem.Task, new String[0], true);
-		ArrayList proposals= new ArrayList();
-		
-		JavaCorrectionProcessor.collectCorrections(context, new IProblemLocation[] { problem } , proposals);
-		
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testTodoTasks4() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        /**\n");
-		buf.append("        TODO: XXX\n");
-		buf.append("        */\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "TODO: XXX";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		ProblemLocation problem= new ProblemLocation(buf.toString().indexOf(str), str.length(), IProblem.Task, new String[0], true);
-		ArrayList proposals= new ArrayList();
-		
-		JavaCorrectionProcessor.collectCorrections(context, new IProblemLocation[] { problem } , proposals);
-		
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}		
-	
-	public void testTodoTasks5() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        /**\n");
-		buf.append("        Some other text: TODO: XXX\n");
-		buf.append("        */\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "TODO: XXX";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		ProblemLocation problem= new ProblemLocation(buf.toString().indexOf(str), str.length(), IProblem.Task, new String[0], true);
-		ArrayList proposals= new ArrayList();
-		
-		JavaCorrectionProcessor.collectCorrections(context, new IProblemLocation[] { problem } , proposals);
-		
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        /**\n");
-		buf.append("        Some other text: \n");
-		buf.append("        */\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testTodoTasks6() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        ;// TODO: XXX\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "TODO: XXX";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		ProblemLocation problem= new ProblemLocation(buf.toString().indexOf(str), str.length(), IProblem.Task, new String[0], true);
-		ArrayList proposals= new ArrayList();
-		
-		JavaCorrectionProcessor.collectCorrections(context, new IProblemLocation[] { problem } , proposals);
-		
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        ;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	public void testTodoTasks7() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        /* TODO: XXX*/;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		String str= "TODO: XXX";
-		AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0);
-		ProblemLocation problem= new ProblemLocation(buf.toString().indexOf(str), str.length(), IProblem.Task, new String[0], true);
-		ArrayList proposals= new ArrayList();
-		
-		JavaCorrectionProcessor.collectCorrections(context, new IProblemLocation[] { problem } , proposals);
-		
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        ;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());	
-	}
-	
-	
-	public void testAddToClasspathSourceFolder() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import mylib.Foo;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		IClasspathEntry[] prevClasspath= cu.getJavaProject().getRawClasspath();
-		
-		IJavaProject otherProject= JavaProjectHelper.createJavaProject("other", "bin");
-		try {
-			IPackageFragmentRoot otherRoot= JavaProjectHelper.addSourceContainer(otherProject, "src");
-			IPackageFragment otherPack= otherRoot.createPackageFragment("mylib", false, null);
-			buf= new StringBuffer();
-			buf.append("package mylib;\n");
-			buf.append("public class Foo {\n");
-			buf.append("}\n");
-			otherPack.createCompilationUnit("Foo.java", buf.toString(), false, null);
-			
-			CompilationUnit astRoot= getASTRoot(cu);
-			ArrayList proposals= collectCorrections(cu, astRoot);
-			assertNumberOfProposals(proposals, 3);
-			assertCorrectLabels(proposals);
-			
-			for (int i= 0; i < proposals.size(); i++) {
-				ChangeCorrectionProposal curr=  (ChangeCorrectionProposal) proposals.get(i);
-				if (curr.getChange() instanceof AddToClasspathChange) {
-					curr.apply(null);
-					
-					IClasspathEntry[] newClasspath= cu.getJavaProject().getRawClasspath();
-					assertEquals(prevClasspath.length + 1, newClasspath.length);
-					assertEquals(otherProject.getPath(), newClasspath[prevClasspath.length].getPath());
-				}
-			}
-		} finally {
-			JavaProjectHelper.delete(otherProject);
-		}
-	}
-	
-	public void testAddToClasspathIntJAR() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import mylib.Foo;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		IClasspathEntry[] prevClasspath= cu.getJavaProject().getRawClasspath();
-		
-		IJavaProject otherProject= JavaProjectHelper.createJavaProject("other", "bin");
-		try {
-			File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-			assertTrue("lib does not exist",  lib != null && lib.exists());
-			IPackageFragmentRoot otherRoot= JavaProjectHelper.addLibraryWithImport(otherProject, new Path(lib.getPath()), null, null);
-			
-			CompilationUnit astRoot= getASTRoot(cu);
-			ArrayList proposals= collectCorrections(cu, astRoot);
-			assertNumberOfProposals(proposals, 3);
-			assertCorrectLabels(proposals);
-			
-			for (int i= 0; i < proposals.size(); i++) {
-				ChangeCorrectionProposal curr=  (ChangeCorrectionProposal) proposals.get(i);
-				if (curr.getChange() instanceof AddToClasspathChange) {
-					curr.apply(null);
-					IClasspathEntry[] newClasspath= cu.getJavaProject().getRawClasspath();
-					assertEquals(prevClasspath.length + 1, newClasspath.length);
-					assertEquals(otherRoot.getPath(), newClasspath[prevClasspath.length].getPath());
-				}
-			}
-		} finally {
-			JavaProjectHelper.delete(otherProject);
-		}
-	}
-	
-	public void testAddToClasspathExportedExtJAR() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import mylib.Foo;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		IJavaProject otherProject= JavaProjectHelper.createJavaProject("other", "bin");
-		try {
-			File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-			IPath path= new Path(lib.getPath());
-			assertTrue("lib does not exist",  lib != null && lib.exists());
-			// exported external JAR
-			IClasspathEntry entry= JavaCore.newLibraryEntry(path, null, null, true);
-			JavaProjectHelper.addToClasspath(otherProject, entry);
-			
-			CompilationUnit astRoot= getASTRoot(cu);
-			ArrayList proposals= collectCorrections(cu, astRoot);
-			assertNumberOfProposals(proposals, 4);
-			assertCorrectLabels(proposals);
-		} finally {
-			JavaProjectHelper.delete(otherProject);
-		}
-	}
-	
-	public void testAddToClasspathContainer() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import mylib.Foo;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		IClasspathEntry[] prevClasspath= cu.getJavaProject().getRawClasspath();
-		
-		IJavaProject otherProject= JavaProjectHelper.createJavaProject("other", "bin");
-		try {
-			File lib= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.MYLIB);
-			assertTrue("lib does not exist",  lib != null && lib.exists());
-			IPath path= new Path(lib.getPath());
-			IClasspathEntry[] entries= { JavaCore.newLibraryEntry(path, null, null) };
-			UserLibraryManager.setUserLibrary("MyUserLibrary", new UserLibrary(entries, false), null);
-			
-			// user library
-			IPath containerPath= new Path(UserLibraryClasspathContainer.CONTAINER_ID).append("MyUserLibrary");
-			IClasspathEntry entry= JavaCore.newContainerEntry(containerPath);
-			JavaProjectHelper.addToClasspath(otherProject, entry);
-			
-			CompilationUnit astRoot= getASTRoot(cu);
-			ArrayList proposals= collectCorrections(cu, astRoot);
-			assertNumberOfProposals(proposals, 3);
-			assertCorrectLabels(proposals);
-			
-			for (int i= 0; i < proposals.size(); i++) {
-				ChangeCorrectionProposal curr=  (ChangeCorrectionProposal) proposals.get(i);
-				if (curr.getChange() instanceof AddToClasspathChange) {
-					curr.apply(null);
-					IClasspathEntry[] newClasspath= cu.getJavaProject().getRawClasspath();
-					assertEquals(prevClasspath.length + 1, newClasspath.length);
-					assertEquals(containerPath, newClasspath[prevClasspath.length].getPath());
-				}
-			}
-		} finally {
-			JavaProjectHelper.delete(otherProject);
-		}
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ReturnTypeQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ReturnTypeQuickFixTest.java
deleted file mode 100644
index b0a8c23..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/ReturnTypeQuickFixTest.java
+++ /dev/null
@@ -1,874 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.text.correction.ASTRewriteCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-
-public class ReturnTypeQuickFixTest extends QuickFixTest {
-	
-	private static final Class THIS= ReturnTypeQuickFixTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public ReturnTypeQuickFixTest(String name) {
-		super(name);
-	}
-
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new ReturnTypeQuickFixTest("testMethodWithConstructorName"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	
-	public void testSimpleTypeReturnDeclMissing() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public foo() {\n");
-		buf.append("        return (new Vector()).elements();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean addReturnType= true, doRename= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			Object elem= proposals.get(i);
-			if (elem instanceof ASTRewriteCorrectionProposal) {
-				ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) elem;
-				assertTrue("duplicated entries", addReturnType);
-				addReturnType= false;		
-		
-				String preview= getPreviewContent(proposal);
-		
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("import java.util.Enumeration;\n");		
-				buf.append("import java.util.Vector;\n");
-				buf.append("public class E {\n");
-				buf.append("    public Enumeration foo() {\n");
-				buf.append("        return (new Vector()).elements();\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			} else {
-				assertTrue("duplicated entries", doRename);
-				doRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) elem;
-				String preview= getPreviewContent(proposal);
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("import java.util.Vector;\n");				
-				buf.append("public class E {\n");
-				buf.append("    public E() {\n");
-				buf.append("        return (new Vector()).elements();\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			}
-		}
-	}
-
-
-	public void testVoidTypeReturnDeclMissing() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public foo() {\n");
-		buf.append("        //do nothing\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean addReturnType= true, doRename= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			Object elem= proposals.get(i);
-			if (elem instanceof ASTRewriteCorrectionProposal) {
-				ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) elem;
-				assertTrue("duplicated entries", addReturnType);
-				addReturnType= false;		
-		
-				String preview= getPreviewContent(proposal);
-		
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    public void foo() {\n");
-				buf.append("        //do nothing\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			} else {
-				assertTrue("duplicated entries", doRename);
-				doRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) elem;
-				String preview= getPreviewContent(proposal);
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    public E() {\n");
-				buf.append("        //do nothing\n");	
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			}
-		}	
-		
-	}
-	
-	public void testVoidTypeReturnDeclMissing2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public foo() {\n");
-		buf.append("        if (true) {\n");
-		buf.append("           return;\n");
-		buf.append("        }\n");
-		buf.append("        return;\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean addReturnType= true, doRename= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			Object elem= proposals.get(i);
-			if (elem instanceof ASTRewriteCorrectionProposal) {
-				ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) elem;
-				assertTrue("duplicated entries", addReturnType);
-				addReturnType= false;		
-		
-				String preview= getPreviewContent(proposal);
-		
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    public void foo() {\n");
-				buf.append("        if (true) {\n");
-				buf.append("           return;\n");
-				buf.append("        }\n");
-				buf.append("        return;\n");				
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			} else {
-				assertTrue("duplicated entries", doRename);
-				doRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) elem;
-				String preview= getPreviewContent(proposal);
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    public E() {\n");
-				buf.append("        if (true) {\n");
-				buf.append("           return;\n");
-				buf.append("        }\n");
-				buf.append("        return;\n");				
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			}
-		}	
-	}
-	
-	public void testVoidMissingInAnonymousType() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("            }\n");
-		buf.append("            public foo() {\n");
-		buf.append("            }\n");		
-		buf.append("        };\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        Runnable run= new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("            }\n");
-		buf.append("            public void foo() {\n");
-		buf.append("            }\n");		
-		buf.append("        };\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	
-	public void testNullTypeReturnDeclMissing() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public foo() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean addReturnType= true, doRename= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			Object elem= proposals.get(i);
-			if (elem instanceof ASTRewriteCorrectionProposal) {
-				ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) elem;
-				assertTrue("duplicated entries", addReturnType);
-				addReturnType= false;		
-		
-				String preview= getPreviewContent(proposal);
-		
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    public Object foo() {\n");
-				buf.append("        return null;\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			} else {
-				assertTrue("duplicated entries", doRename);
-				doRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) elem;
-				String preview= getPreviewContent(proposal);
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    public E() {\n");
-				buf.append("        return null;\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			}	
-		}		
-	}
-	
-	public void testArrayTypeReturnDeclMissing() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public foo() {\n");
-		buf.append("        return new int[][] { { 1, 2 }, { 2, 3 } };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		boolean addReturnType= true, doRename= true;
-		
-		for (int i= 0; i < proposals.size(); i++) {
-			Object elem= proposals.get(i);
-			if (elem instanceof ASTRewriteCorrectionProposal) {
-				ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) elem;
-				assertTrue("duplicated entries", addReturnType);
-				addReturnType= false;
-
-				String preview= getPreviewContent(proposal);
-		
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    public int[][] foo() {\n");
-				buf.append("        return new int[][] { { 1, 2 }, { 2, 3 } };\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			} else {
-				assertTrue("duplicated entries", doRename);
-				doRename= false;
-				
-				CUCorrectionProposal proposal= (CUCorrectionProposal) elem;
-				String preview= getPreviewContent(proposal);
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    public E() {\n");
-				buf.append("        return new int[][] { { 1, 2 }, { 2, 3 } };\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			}
-		}	
-	}
-	
-	public void testVoidMethodReturnsStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    Vector fList= new Vector();\n");
-		buf.append("    public void elements() {\n");
-		buf.append("        return fList.toArray();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-			
-		{	
-			ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-			String preview= getPreviewContent(proposal);
-		
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("import java.util.Vector;\n");
-			buf.append("public class E {\n");
-			buf.append("    Vector fList= new Vector();\n");
-			buf.append("    public Object[] elements() {\n");
-			buf.append("        return fList.toArray();\n");
-			buf.append("    }\n");
-			buf.append("}\n");
-			assertEqualString(preview, buf.toString());
-		}
-		{	
-			ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(1);
-			String preview= getPreviewContent(proposal);
-		
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("import java.util.Vector;\n");
-			buf.append("public class E {\n");
-			buf.append("    Vector fList= new Vector();\n");
-			buf.append("    public void elements() {\n");
-			buf.append("    }\n");
-			buf.append("}\n");
-			assertEqualString(preview, buf.toString());
-		}		
-	}
-	
-	public void testVoidMethodReturnsAnonymClass() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void getOperation() {\n");
-		buf.append("        return new Runnable() {\n");
-		buf.append("            public void run() {}\n");
-		buf.append("        };\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-			
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Runnable getOperation() {\n");
-		buf.append("        return new Runnable() {\n");
-		buf.append("            public void run() {}\n");
-		buf.append("        };\n");				
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (ASTRewriteCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-			
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void getOperation() {\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-	
-	public void testConstructorReturnsValue() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Arrays;\n");		
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("        return Arrays.asList(null);\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		{
-			ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-			String preview= getPreviewContent(proposal);
-	
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("import java.util.Arrays;\n");
-			buf.append("import java.util.List;\n");					
-			buf.append("public class E {\n");
-			buf.append("    public List E() {\n");
-			buf.append("        return Arrays.asList(null);\n");		
-			buf.append("    }\n");
-			buf.append("}\n");
-			assertEqualString(preview, buf.toString());
-		}
-		{
-			ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(1);
-			String preview= getPreviewContent(proposal);
-	
-			buf= new StringBuffer();
-			buf.append("package test1;\n");
-			buf.append("import java.util.Arrays;\n");		
-			buf.append("public class E {\n");
-			buf.append("    public E() {\n");
-			buf.append("    }\n");
-			buf.append("}\n");
-			assertEqualString(preview, buf.toString());
-		}		
-	}
-	
-	
-	public void testCorrectReturnStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Runnable getOperation() {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public Runnable getOperation() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (ASTRewriteCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void getOperation() {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-	
-	public void testCorrectReturnStatementForArray() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int[][] getArray() {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int[][] getArray() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (ASTRewriteCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void getArray() {\n");
-		buf.append("        return;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}	
-	
-	public void testMethodWithConstructorName() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int[][] E() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}	
-	
-	public void testMissingReturnStatement() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int[][] getArray() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public int[][] getArray() {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (ASTRewriteCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void getArray() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}
-
-	public void testMissingReturnStatementWithCode() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int[] fArray;\n");		
-		buf.append("    public int getArray()[] {\n");
-		buf.append("        if (true) {\n");		
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int[] fArray;\n");	
-		buf.append("    public int getArray()[] {\n");
-		buf.append("        if (true) {\n");		
-		buf.append("        }\n");
-		buf.append("        return fArray;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (ASTRewriteCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int[] fArray;\n");		
-		buf.append("    public void getArray()[] {\n");
-		buf.append("        if (true) {\n");		
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}
-
-	public void testMissingReturnStatementWithCode2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public boolean isVisible() {\n");
-		buf.append("        boolean res= false;\n");			
-		buf.append("        if (true) {\n");
-		buf.append("            res= false;\n");			
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public boolean isVisible() {\n");
-		buf.append("        boolean res= false;\n");			
-		buf.append("        if (true) {\n");
-		buf.append("            res= false;\n");			
-		buf.append("        }\n");
-		buf.append("        return res;\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (ASTRewriteCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void isVisible() {\n");
-		buf.append("        boolean res= false;\n");			
-		buf.append("        if (true) {\n");
-		buf.append("            res= false;\n");			
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });
-	}
-	
-	public void testMissingReturnStatementWithCode3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public String getDebugInfo() {\n");
-		buf.append("        getClass().getName();\n");			
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public String getDebugInfo() {\n");
-		buf.append("        return getClass().getName();\n");			
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1 }, new String[] { expected1 });
-	}
-	
-	public void testMissingReturnStatementWithCode4() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public String getDebugInfo() {\n");
-		buf.append("        getClass().notify();\n");			
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-		
-		ASTRewriteCorrectionProposal proposal= (ASTRewriteCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public String getDebugInfo() {\n");
-		buf.append("        getClass().notify();\n");			
-		buf.append("        return null;\n");			
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1 }, new String[] { expected1 });
-	}
-	
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedMethodsQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedMethodsQuickFixTest.java
deleted file mode 100644
index 82afc7a..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedMethodsQuickFixTest.java
+++ /dev/null
@@ -1,2547 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.template.java.CodeTemplateContextType;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.NewMethodCompletionProposal;
-
-public class UnresolvedMethodsQuickFixTest extends QuickFixTest {
-	private static final Class THIS= UnresolvedMethodsQuickFixTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public UnresolvedMethodsQuickFixTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (false) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new UnresolvedMethodsQuickFixTest("testClassInstanceCreation2"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		options.put(JavaCore.COMPILER_PB_NO_EFFECT_ASSIGNMENT, JavaCore.IGNORE);
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.CATCHBLOCK).setPattern("");
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.CONSTRUCTORSTUB).setPattern("");
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.METHODSTUB).setPattern("");		
-
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-
-	
-	public void testMethodInSameType() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private int goo(Vector vec, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testMethodInForInit() throws Exception {		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (int i= 0, j= goo(3); i < 0; i++) {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (int i= 0, j= goo(3); i < 0; i++) {\n");
-		buf.append("        }\n");	
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private int goo(int i) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testMethodInInfixExpression1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private boolean foo() {\n");
-		buf.append("        return f(1) || f(2);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 2);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private boolean foo() {\n");
-		buf.append("        return f(1) || f(2);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private boolean f(int i) {\n");
-		buf.append("        return false;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testMethodInInfixExpression2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private boolean foo() {\n");
-		buf.append("        return f(1) == f(2);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 2);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private boolean foo() {\n");
-		buf.append("        return f(1) == f(2);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private Object f(int i) {\n");
-		buf.append("        return null;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}		
-
-	public void testMethodSpacing0EmptyLines() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("    private int goo(Vector vec, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testMethodSpacing1EmptyLine() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private int goo(Vector vec, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testMethodSpacing2EmptyLines() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("    \n");
-		buf.append("    \n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("    \n");
-		buf.append("    \n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("\n");
-		buf.append("    private int goo(Vector vec, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testMethodSpacingComment() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("//comment\n");
-		buf.append("\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("//comment\n");
-		buf.append("\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private int goo(Vector vec, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testMethodSpacingJavadoc() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    /**\n");
-		buf.append("     * javadoc\n");
-		buf.append("     */\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    /**\n");
-		buf.append("     * javadoc\n");
-		buf.append("     */\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private int goo(Vector vec, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-
-	public void testMethodSpacingNonJavadoc() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    /*\n");
-		buf.append("     * non javadoc\n");
-		buf.append("     */\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("\n");
-		buf.append("    void fred() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    /*\n");
-		buf.append("     * non javadoc\n");
-		buf.append("     */\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private int goo(Vector vec, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testMethodInSameTypeUsingThis() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= this.goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        int i= this.goo(vec, true);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private int goo(Vector vec, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testMethodInDifferentClass() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(X x) {\n");
-		buf.append("        boolean i= x.goo(1, 2.1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("\n");
-		buf.append("    public boolean goo(int i, double d) {\n");
-		buf.append("        return false;\n");
-		buf.append("    }\n");				
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testMethodInAnonymous1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                xoo();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                xoo();\n");
-		buf.append("            }\n");
-		buf.append("\n");
-		buf.append("            private void xoo() {\n");
-		buf.append("            }\n");		
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                xoo();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    protected void xoo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                foo();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-				
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testMethodInAnonymous2() throws Exception {
-		IPackageFragment pack0= fSourceFolder.createPackageFragment("other", false, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf= new StringBuffer();
-		buf.append("package other;\n");
-		buf.append("public class A {\n");
-		buf.append("}\n");
-		pack0.createCompilationUnit("A.java", buf.toString(), false, null);
-
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import other.A;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                A.xoo();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package other;\n");
-		buf.append("public class A {\n");
-		buf.append("\n");
-		buf.append("    public static void xoo() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		assertEqualString(preview1, expected1);			
-	}
-	
-	public void testMethodInAnonymousCovering1() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                run(1);\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 4);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                E.this.run(1);\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                run();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run(int i) {\n");
-		buf.append("                run(1);\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(3);
-		String preview4= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                run(1);\n");
-		buf.append("            }\n");
-		buf.append("\n");
-		buf.append("            private void run(int i) {\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected4= buf.toString();		
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3, preview4 }, new String[] { expected1, expected2, expected3, expected4 });
-	}
-	
-	public void testMethodInAnonymousCovering2() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                run(1);\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 4);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                E.run(1);\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                run();\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run(int i) {\n");
-		buf.append("                run(1);\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(3);
-		String preview4= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public static void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                run(1);\n");
-		buf.append("            }\n");
-		buf.append("\n");
-		buf.append("            private void run(int i) {\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected4= buf.toString();		
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3, preview4 }, new String[] { expected1, expected2, expected3, expected4 });
-	}
-	
-	public void testMethodInAnonymousCovering3() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public class Inner {\n");
-		buf.append("        public void run() {\n");
-		buf.append("            run(1);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 4);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public class Inner {\n");
-		buf.append("        public void run() {\n");
-		buf.append("            E.this.run(1);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public class Inner {\n");
-		buf.append("        public void run() {\n");
-		buf.append("            run();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public class Inner {\n");
-		buf.append("        public void run(int i) {\n");
-		buf.append("            run(1);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(3);
-		String preview4= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public class Inner {\n");
-		buf.append("        public void run() {\n");
-		buf.append("            run(1);\n");
-		buf.append("        }\n");
-		buf.append("\n");
-		buf.append("        private void run(int i) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected4= buf.toString();		
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3, preview4 }, new String[] { expected1, expected2, expected3, expected4 });
-	}
-	
-	public void testMethodInAnonymousCovering4() throws Exception {
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public static class Inner {\n");
-		buf.append("        public void run() {\n");
-		buf.append("            run(1);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public static class Inner {\n");
-		buf.append("        public void run() {\n");
-		buf.append("            run(1);\n");
-		buf.append("        }\n");
-		buf.append("\n");
-		buf.append("        private void run(int i) {\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public static class Inner {\n");
-		buf.append("        public void run() {\n");
-		buf.append("            run();\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void run(int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public static class Inner {\n");
-		buf.append("        public void run(int i) {\n");
-		buf.append("            run(1);\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });
-	}	
-	
-		
-	
-	
-	public void testMethodInDifferentInterface() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(X x) {\n");
-		buf.append("        boolean i= x.goo(getClass());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public interface X {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public interface X {\n");
-		buf.append("\n");
-		buf.append("    boolean goo(Class class1);\n");				
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-	}
-	
-	public void testParameterMismatchCast() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        long x= 0;\n");
-		buf.append("        foo(x + 1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        long x= 0;\n");
-		buf.append("        foo((int) (x + 1));\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        long x= 0;\n");
-		buf.append("        foo(x + 1);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo(long l) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(long l) {\n");
-		buf.append("        long x= 0;\n");
-		buf.append("        foo(x + 1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testParameterMismatchCast2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        double x= 0.0;\n");
-		buf.append("        X.xoo((float) x, this);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public static void xoo(int i, Object o) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);				
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        double x= 0.0;\n");
-		buf.append("        X.xoo((int) x, this);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public static void xoo(int i, Object o) {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public static void xoo(float f, E e) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");		
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public static void xoo(float f, Object o) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	
-	public void testParameterMismatchLessArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s, int i, Object o) {\n");
-		buf.append("        int x= 0;\n");
-		buf.append("        foo(x);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s, int i, Object o) {\n");
-		buf.append("        int x= 0;\n");
-		buf.append("        foo(s, x, o);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s, int i, Object o) {\n");
-		buf.append("        int x= 0;\n");
-		buf.append("        foo(x);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo(int x) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        int x= 0;\n");
-		buf.append("        foo(x);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testParameterMismatchLessArguments2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        X.xoo(null);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public static void xoo(int i, Object o) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);		
-		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        X.xoo(0, null);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public static void xoo(int i, Object o) {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public static void xoo(Object object) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public static void xoo(Object o) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testSuperConstructorLessArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public X(Object o, int i) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);		
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E extends X {\n");
-		buf.append("    public E() {\n");
-		buf.append("        super(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E extends X {\n");
-		buf.append("    public E() {\n");
-		buf.append("        super(new Vector(), 0);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class X {\n");
-		buf.append("    public X(Object o, int i) {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public X(Vector vector) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public X(Object o) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testConstructorInvocationLessArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(Object o, int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public E() {\n");
-		buf.append("        this(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(Object o, int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public E() {\n");
-		buf.append("        this(new Vector(), 0);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(Object o) {\n");
-		buf.append("    }\n");
-		buf.append("    public E() {\n");
-		buf.append("        this(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(Object o, int i) {\n");
-		buf.append("    }\n");
-		buf.append("    public E() {\n");
-		buf.append("        this(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("    public E(Vector vector) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}	
-	
-	
-	public void testParameterMismatchMoreArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(X x) {\n");
-		buf.append("        x.xoo(1, 1, x);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public void xoo(int i, Object o) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(X x) {\n");
-		buf.append("        x.xoo(1, x);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public void xoo(int i, int j, Object o) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public void xoo(int i, Object o) {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public void xoo(int i, int j, X x) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testParameterMismatchMoreArguments2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s) {\n");
-		buf.append("        int x= 0;\n");
-		buf.append("        foo(s, x);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s) {\n");
-		buf.append("        int x= 0;\n");
-		buf.append("        foo(s);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s) {\n");
-		buf.append("        int x= 0;\n");
-		buf.append("        foo(s, x);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo(String s, int x) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(String s, int x2) {\n");
-		buf.append("        int x= 0;\n");
-		buf.append("        foo(s, x);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testParameterMismatchMoreArguments3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Collections;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(X x) {\n");
-		buf.append("        x.xoo(Collections.EMPTY_SET, 1, 2);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public void xoo(int i) {\n");
-		buf.append("       int j= 0;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Collections;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(X x) {\n");
-		buf.append("        x.xoo(1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");	
-		buf.append("import java.util.Set;\n");
-		buf.append("\n");	
-		buf.append("public class X {\n");
-		buf.append("    public void xoo(Set set, int i, int k) {\n");
-		buf.append("       int j= 0;\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");	
-		buf.append("import java.util.Set;\n");
-		buf.append("\n");	
-		buf.append("public class X {\n");
-		buf.append("    public void xoo(int i) {\n");
-		buf.append("       int j= 0;\n");		
-		buf.append("    }\n");
-		buf.append("\n");		
-		buf.append("    public void xoo(Set set, int i, int j) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testSuperConstructorMoreArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public X() {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);		
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E extends X {\n");
-		buf.append("    public E() {\n");
-		buf.append("        super(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E extends X {\n");
-		buf.append("    public E() {\n");
-		buf.append("        super();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class X {\n");
-		buf.append("    public X() {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public X(Vector vector) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class X {\n");
-		buf.append("    public X(Vector vector) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testConstructorInvocationMoreArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    public E(Object o, int i) {\n");
-		buf.append("        this(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    public E(Object o, int i) {\n");
-		buf.append("        this();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(Vector vector) {\n");
-		buf.append("    }\n");
-		buf.append("    public E(Object o, int i) {\n");
-		buf.append("        this(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E() {\n");
-		buf.append("    }\n");
-		buf.append("    public E(Object o, int i) {\n");
-		buf.append("        this(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("    public E(Vector vector) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}	
-		
-	
-	
-	
-	public void testParameterMismatchSwap() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i, Object o) {\n");
-		buf.append("        foo(new Object[] { o }, i - 1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i, Object o) {\n");
-		buf.append("        foo(i - 1, new Object[] { o });\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i, Object o) {\n");
-		buf.append("        foo(new Object[] { o }, i - 1);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    private void foo(Object[] objects, int i) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o, int i) {\n");
-		buf.append("        foo(new Object[] { o }, i - 1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}		
-	
-	
-	
-	public void testSuperConstructor() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends A {\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        super(i);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1=pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("A.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("\n");
-		buf.append("    public A(int i) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected1= buf.toString();	
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends A {\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        super();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-
-	}
-	
-	
-	public void testClassInstanceCreation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A(i);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1=pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("A.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("\n");
-		buf.append("    public A(int i) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected1= buf.toString();	
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();		
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-
-	public void testClassInstanceCreation2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A(\"test\");\n");
-		buf.append("    }\n");
-		buf.append("    class A {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1=pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A(\"test\");\n");
-		buf.append("    }\n");
-		buf.append("    class A {\n");
-		buf.append("\n");
-		buf.append("        public A(String string) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();	
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A();\n");
-		buf.append("    }\n");
-		buf.append("    class A {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-
-	
-	public void testClassInstanceCreationMoreArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A(i, String.valueOf(i), true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1=pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public A(int i) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		pack1.createCompilationUnit("A.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public A(int i, String string, boolean b) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected1= buf.toString();	
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A(i);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public A(int i) {\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public A(int i, String string, boolean b) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();			
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}	
-
-	public void testClassInstanceCreationLessArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1=pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public A(int i, String s) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		pack1.createCompilationUnit("A.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public A() {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected1= buf.toString();	
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        A a= new A(i, null);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("    public A(int i, String s) {\n");
-		buf.append("    }\n");	
-		buf.append("\n");
-		buf.append("    public A() {\n");
-		buf.append("    }\n");	
-		buf.append("}\n");
-		String expected3= buf.toString();			
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}		
-	
-	
-	public void testConstructorInvocation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        this(i, true);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1=pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public E(int i) {\n");
-		buf.append("        this(i, true);\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public E(int i, boolean b) {\n");
-		buf.append("    }\n");		
-		buf.append("}\n");
-		String expected1= buf.toString();
-				
-		assertEqualString(preview1, expected1);
-	}
-		
-	public void testSuperMethodInvocation() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E extends A {\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("        super.foo(i);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1=pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("A.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-
-		NewMethodCompletionProposal proposal= (NewMethodCompletionProposal) proposals.get(0);
-		String preview= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class A {\n");
-		buf.append("\n");
-		buf.append("    public void foo(int i) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		assertEqualString(preview, buf.toString());
-
-	}
-	
-	public void testSuperMethodMoreArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);		
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E extends X {\n");
-		buf.append("    public void xoo() {\n");
-		buf.append("        super.foo(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E extends X {\n");
-		buf.append("    public void xoo() {\n");
-		buf.append("        super.foo();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class X {\n");
-		buf.append("    public int foo(Vector vector) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class X {\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public void foo(Vector vector) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	public void testSuperMethodLessArguments() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public int foo(Object o, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("X.java", buf.toString(), false, null);		
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E extends X {\n");
-		buf.append("    public void xoo() {\n");
-		buf.append("        super.foo(new Vector());\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOfProposals(proposals, 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E extends X {\n");
-		buf.append("    public void xoo() {\n");
-		buf.append("        super.foo(new Vector(), false);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class X {\n");
-		buf.append("    public int foo(Object o) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("\n");
-		buf.append("public class X {\n");
-		buf.append("    public int foo(Object o, boolean b) {\n");
-		buf.append("        return 0;\n");
-		buf.append("    }\n");
-		buf.append("\n");
-		buf.append("    public void foo(Vector vector) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });		
-	}
-	
-	
-	public void testMissingCastParents1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        String x= (String) o.substring(1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        String x= ((String) o).substring(1);\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();		
-
-		assertEqualString(preview1, expected1);
-	}
-	
-	public void testMissingCastParents2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        String x= (String) o.substring(1).toLowerCase();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(Object o) {\n");
-		buf.append("        String x= ((String) o).substring(1).toLowerCase();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();		
-
-		assertEqualString(preview1, expected1);
-	}
-	
-	public void testMissingCastParents3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static Object obj;\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        String x= (String) E.obj.substring(1).toLowerCase();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOfProposals(proposals, 1);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static Object obj;\n");
-		buf.append("    public void foo() {\n");
-		buf.append("        String x= ((String) E.obj).substring(1).toLowerCase();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();		
-
-		assertEqualString(preview1, expected1);
-	}
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedTypesQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedTypesQuickFixTest.java
deleted file mode 100644
index 4a5202c..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedTypesQuickFixTest.java
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedVariablesQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedVariablesQuickFixTest.java
deleted file mode 100644
index aedf2bd..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/UnresolvedVariablesQuickFixTest.java
+++ /dev/null
@@ -1,1081 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.quickfix;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.tests.core.ProjectTestSetup;
-
-import org.eclipse.jdt.internal.corext.template.java.CodeTemplateContextType;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.text.correction.CUCorrectionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.NewCUCompletionUsingWizardProposal;
-import org.eclipse.jdt.internal.ui.text.correction.NewVariableCompletionProposal;
-import org.eclipse.jdt.internal.ui.text.correction.RenameNodeCompletionProposal;
-
-public class UnresolvedVariablesQuickFixTest extends QuickFixTest {
-	
-	private static final Class THIS= UnresolvedVariablesQuickFixTest.class;
-	
-	private IJavaProject fJProject1;
-	private IPackageFragmentRoot fSourceFolder;
-
-	public UnresolvedVariablesQuickFixTest(String name) {
-		super(name);
-	}
-
-	public static Test allTests() {
-		return new ProjectTestSetup(new TestSuite(THIS));
-	}
-	
-	public static Test suite() {
-		if (true) {
-			return allTests();
-		} else {
-			TestSuite suite= new TestSuite();
-			suite.addTest(new UnresolvedVariablesQuickFixTest("testVarInAnonymous"));
-			return new ProjectTestSetup(suite);
-		}
-	}
-
-
-	protected void setUp() throws Exception {
-		Hashtable options= JavaCore.getDefaultOptions();
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR, JavaCore.SPACE);
-		options.put(DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE, "1");
-		options.put(DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE, "4");
-		options.put(JavaCore.COMPILER_PB_UNUSED_IMPORT, JavaCore.IGNORE);		
-		JavaCore.setOptions(options);			
-
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		store.setValue(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
-		
-		fJProject1= ProjectTestSetup.getProject();
-		
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.NEWTYPE).setPattern("");
-		JavaPlugin.getDefault().getCodeTemplateStore().findTemplate(CodeTemplateContextType.TYPECOMMENT).setPattern("");
-		
-		fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
-	}
-
-	protected void tearDown() throws Exception {
-		JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());
-	}
-	
-	public void testVarInAssignment() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        iter= vec.iterator();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOf("proposals", proposals.size(), 4);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Iterator;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    private Iterator iter;\n");
-		buf.append("\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        iter= vec.iterator();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Iterator;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("        Iterator iter = vec.iterator();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Iterator;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec, Iterator iter) {\n");
-		buf.append("        iter= vec.iterator();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(3);
-		String preview4= getPreviewContent(proposal);
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.util.Vector;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(Vector vec) {\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected4= buf.toString();
-	
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3, preview4 }, new String[] { expected1, expected2, expected3, expected4 });	
-	}
-
-	public void testVarInForInitializer() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (i= 0;;) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOf("proposals", proposals.size(), 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int i;\n");
-		buf.append("\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (i= 0;;) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();	
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (int i = 0;;) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo(int i) {\n");
-		buf.append("        for (i= 0;;) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3 }, new String[] { expected1, expected2, expected3 });	
-	}	
-	
-	
-	public void testVarInInitializer() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int i= k;\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int k;\n");
-		buf.append("    private int i= k;\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static final int k = 0;\n");
-		buf.append("    private int i= k;\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });	
-	}
-	
-	public void testVarInOtherType() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    void foo(E e) {\n");
-		buf.append("         e.var2= 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("F.java", buf.toString(), false, null);		
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    protected int var1;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-
-		boolean doNew= true, doChange= true;
-		for (int i= 0; i < proposals.size(); i++) {
-			Object curr= proposals.get(i);
-			if (curr instanceof NewVariableCompletionProposal) {
-				assertTrue("2 new proposals", doNew);
-				doNew= false;
-				NewVariableCompletionProposal proposal= (NewVariableCompletionProposal) curr;
-				String preview= getPreviewContent(proposal);
-	
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class E {\n");
-				buf.append("    protected int var1;\n");
-				buf.append("    public int var2;\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			} else if (curr instanceof CUCorrectionProposal) {
-				assertTrue("2 replace proposals", doChange);
-				doChange= false;
-				CUCorrectionProposal proposal= (CUCorrectionProposal) curr;
-				String preview= getPreviewContent(proposal);
-	
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("public class F {\n");
-				buf.append("    void foo(E e) {\n");
-				buf.append("         e.var1= 2;\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			}
-		}
-	}
-	
-	public void testVarInSuperFieldAccess() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F extends E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("         super.var2= 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("F.java", buf.toString(), false, null);		
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    protected int var1;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-	
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F extends E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("         super.var1= 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-	
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    protected int var1;\n");
-		buf.append("    public int var2;\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testVarInSuper() throws Exception {
-		StringBuffer buf= new StringBuffer();
-
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test3.E;\n");
-		buf.append("public class F extends E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("         this.color= baz();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("F.java", buf.toString(), false, null);		
-
-		IPackageFragment pack2= fSourceFolder.createPackageFragment("test2", false, null);
-		buf= new StringBuffer();
-		buf.append("package test2;\n");
-		buf.append("public class E {\n");
-		buf.append("}\n");
-		pack2.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		IPackageFragment pack3= fSourceFolder.createPackageFragment("test3", false, null);
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    protected Object olor;\n");
-		buf.append("    public test2.E baz() {\n");
-		buf.append("        return null;\n");		
-		buf.append("    }\n");				
-		buf.append("}\n");
-		pack3.createCompilationUnit("E.java", buf.toString(), false, null);		
-		
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-	
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test3.E;\n");
-		buf.append("public class F extends E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("         this.olor= baz();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-	
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import test3.E;\n");
-		buf.append("public class F extends E {\n");
-		buf.append("    private test2.E color;\n");
-		buf.append("\n");
-		buf.append("    void foo() {\n");
-		buf.append("         this.color= baz();\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}	
-	
-	
-	public void testVarInAnonymous() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-				
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int fcount) {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                fCount= 7;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOf("proposals", proposals.size(), 6);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int fcount) {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            private int fCount;\n");
-		buf.append("\n");
-		buf.append("            public void run() {\n");
-		buf.append("                fCount= 7;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    protected int fCount;\n");
-		buf.append("\n");
-		buf.append("    public void foo(int fcount) {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                fCount= 7;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(2);
-		String preview3= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int fcount) {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                int fCount = 7;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected3= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(3);
-		String preview4= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int fcount) {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run(int fCount) {\n");
-		buf.append("                fCount= 7;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected4= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(4);
-		String preview5= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int fcount) {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("                fcount= 7;\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected5= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(5);
-		String preview6= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public void foo(int fcount) {\n");
-		buf.append("        new Runnable() {\n");
-		buf.append("            public void run() {\n");
-		buf.append("            }\n");
-		buf.append("        };\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected6= buf.toString();			
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2, preview3, preview4, preview5, preview6 }, new String[] { expected1, expected2, expected3, expected4, expected5, expected6 });		
-	}
-	
-	public void testLongVarRef() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public int mash;\n");
-		buf.append("    void foo(E e) {\n");
-		buf.append("         e.var.hash= 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("F.java", buf.toString(), false, null);		
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    public F var;\n");
-		buf.append("}\n");
-		pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public int mash;\n");
-		buf.append("    private int hash;\n");
-		buf.append("    void foo(E e) {\n");
-		buf.append("         e.var.hash= 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected1= buf.toString();
-		
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class F {\n");
-		buf.append("    public int mash;\n");
-		buf.append("    void foo(E e) {\n");
-		buf.append("         e.var.mash= 2;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected2= buf.toString();			
-		
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2}, new String[] { expected1, expected2});		
-	}	
-
-	public void testVarAndTypeRef() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		
-		buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("import java.io.File;\n");
-		buf.append("public class F {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        char ch= Fixe.pathSeparatorChar;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu1= pack1.createCompilationUnit("F.java", buf.toString(), false, null);		
-
-		CompilationUnit astRoot= getASTRoot(cu1);
-		ArrayList proposals= collectCorrections(cu1, astRoot);
-		assertNumberOf("proposals", proposals.size(), 7);
-		assertCorrectLabels(proposals);
-
-		boolean doField= true, doParam= true, doLocal= true, doConst= true, doInterface= true, doClass= true, doChange= true;
-		for (int i= 0; i < proposals.size(); i++) {
-			Object curr= proposals.get(i);
-			if (curr instanceof NewVariableCompletionProposal) {
-				NewVariableCompletionProposal proposal= (NewVariableCompletionProposal) proposals.get(i);
-				String preview= getPreviewContent(proposal);
-	
-				if (proposal.getVariableKind() == NewVariableCompletionProposal.FIELD) {
-					assertTrue("2 field proposals", doField);
-					doField= false;
-					
-					buf= new StringBuffer();
-					buf.append("package test1;\n");
-					buf.append("import java.io.File;\n");
-					buf.append("public class F {\n");
-					buf.append("    private Object Fixe;\n");
-					buf.append("\n");
-					buf.append("    void foo() {\n");
-					buf.append("        char ch= Fixe.pathSeparatorChar;\n");
-					buf.append("    }\n");
-					buf.append("}\n");
-					assertEqualString(preview, buf.toString());
-				} else if (proposal.getVariableKind() == NewVariableCompletionProposal.LOCAL) {
-					assertTrue("2 local proposals", doLocal);
-					doLocal= false;
-					
-					buf= new StringBuffer();
-					buf.append("package test1;\n");
-					buf.append("import java.io.File;\n");
-					buf.append("public class F {\n");
-					buf.append("    void foo() {\n");
-					buf.append("        Object Fixe;\n");					
-					buf.append("        char ch= Fixe.pathSeparatorChar;\n");
-					buf.append("    }\n");
-					buf.append("}\n");
-					assertEqualString(preview, buf.toString());
-				} else if (proposal.getVariableKind() == NewVariableCompletionProposal.PARAM) {
-					assertTrue("2 param proposals", doParam);
-					doParam= false;
-					
-					buf= new StringBuffer();
-					buf.append("package test1;\n");
-					buf.append("import java.io.File;\n");
-					buf.append("public class F {\n");
-					buf.append("    void foo(Object Fixe) {\n");
-					buf.append("        char ch= Fixe.pathSeparatorChar;\n");
-					buf.append("    }\n");
-					buf.append("}\n");
-					assertEqualString(preview, buf.toString());
-				} else if (proposal.getVariableKind() == NewVariableCompletionProposal.CONST_FIELD) {
-					assertTrue("2 const proposals", doConst);
-					doConst= false;
-					
-					buf= new StringBuffer();
-					buf.append("package test1;\n");
-					buf.append("import java.io.File;\n");
-					buf.append("public class F {\n");
-					buf.append("    private static final String Fixe = null;\n");
-					buf.append("\n");
-					buf.append("    void foo() {\n");
-					buf.append("        char ch= Fixe.pathSeparatorChar;\n");
-					buf.append("    }\n");
-					buf.append("}\n");
-					assertEqualString(preview, buf.toString());
-					
-				} else {
-					assertTrue("unknown type", false);
-				}
-			} else if (curr instanceof NewCUCompletionUsingWizardProposal) {
-				NewCUCompletionUsingWizardProposal proposal= (NewCUCompletionUsingWizardProposal) curr;
-				proposal.setShowDialog(false);
-				proposal.apply(null);
-				
-				ICompilationUnit newCU= pack1.getCompilationUnit("Fixe.java");
-				assertTrue("Nothing created", newCU.exists());
-
-				if (proposal.isClass()) {
-					assertTrue("2 class proposals", doClass);
-					doClass= false;
-
-					buf= new StringBuffer();
-					buf.append("package test1;\n");
-					buf.append("\n");
-					buf.append("public class Fixe {\n");
-					buf.append("\n");
-					buf.append("}\n");
-					assertEqualStringIgnoreDelim(newCU.getSource(), buf.toString());
-					JavaProjectHelper.performDummySearch();
-					newCU.delete(true, null);
-				} else {
-					assertTrue("2 interface proposals", doInterface);
-					doInterface= false;					
-					
-					buf= new StringBuffer();
-					buf.append("package test1;\n");
-					buf.append("\n");
-					buf.append("public interface Fixe {\n");
-					buf.append("\n");
-					buf.append("}\n");
-					assertEqualStringIgnoreDelim(newCU.getSource(), buf.toString());
-					JavaProjectHelper.performDummySearch();
-					newCU.delete(true, null);
-				}
-			} else {
-				assertTrue("2 replace proposals", doChange);
-				doChange= false;
-				CUCorrectionProposal proposal= (CUCorrectionProposal) curr;
-				String preview= getPreviewContent(proposal);
-	
-				buf= new StringBuffer();
-				buf.append("package test1;\n");
-				buf.append("import java.io.File;\n");
-				buf.append("public class F {\n");
-				buf.append("    void foo() {\n");
-				buf.append("        char ch= File.pathSeparatorChar;\n");
-				buf.append("    }\n");
-				buf.append("}\n");
-				assertEqualString(preview, buf.toString());
-			}
-		}		
-	
-	}
-
-	public void testSimilarVariableNames1() throws Exception {
-		StringBuffer buf= new StringBuffer();
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test3", false, null);
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static final short CON1= 1;\n");
-		buf.append("    private static final float CON2= 1.0f;\n");
-		buf.append("    private String bla;\n");
-		buf.append("    private String cout;\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return count;\n");		
-		buf.append("    }\n");				
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		for (int i= proposals.size() - 1; i >= 0; i--) {
-			Object curr= proposals.get(i);
-			if (!(curr instanceof RenameNodeCompletionProposal)) {
-				proposals.remove(i);
-			}
-		}
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static final short CON1= 1;\n");
-		buf.append("    private static final float CON2= 1.0f;\n");
-		buf.append("    private String bla;\n");
-		buf.append("    private String cout;\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return CON1;\n");		
-		buf.append("    }\n");				
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static final short CON1= 1;\n");
-		buf.append("    private static final float CON2= 1.0f;\n");
-		buf.append("    private String bla;\n");
-		buf.append("    private String cout;\n");
-		buf.append("    public int foo() {\n");
-		buf.append("        return cout;\n");		
-		buf.append("    }\n");				
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testSimilarVariableNames2() throws Exception {
-		StringBuffer buf= new StringBuffer();
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test3", false, null);
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static final short CON1= 1;\n");
-		buf.append("    private static final float CON2= 1.0f;\n");
-		buf.append("    private static short var1= 1;\n");
-		buf.append("    private static float var2= 1.0f;\n");
-		buf.append("    private String bla;\n");
-		buf.append("    private String cout;\n");
-		buf.append("    public void foo(int x) {\n");
-		buf.append("        count= x;\n");		
-		buf.append("    }\n");				
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot);
-		for (int i= proposals.size() - 1; i >= 0; i--) {
-			Object curr= proposals.get(i);
-			if (!(curr instanceof RenameNodeCompletionProposal)) {
-				proposals.remove(i);
-			}
-		}
-		
-		assertNumberOf("proposals", proposals.size(), 2);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static final short CON1= 1;\n");
-		buf.append("    private static final float CON2= 1.0f;\n");
-		buf.append("    private static short var1= 1;\n");
-		buf.append("    private static float var2= 1.0f;\n");
-		buf.append("    private String bla;\n");
-		buf.append("    private String cout;\n");
-		buf.append("    public void foo(int x) {\n");
-		buf.append("        var2= x;\n");		
-		buf.append("    }\n");				
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		proposal= (CUCorrectionProposal) proposals.get(1);
-		String preview2= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    private static final short CON1= 1;\n");
-		buf.append("    private static final float CON2= 1.0f;\n");
-		buf.append("    private static short var1= 1;\n");
-		buf.append("    private static float var2= 1.0f;\n");
-		buf.append("    private String bla;\n");
-		buf.append("    private String cout;\n");
-		buf.append("    public void foo(int x) {\n");
-		buf.append("        cout= x;\n");		
-		buf.append("    }\n");				
-		buf.append("}\n");
-		String expected2= buf.toString();
-
-		assertEqualStringsIgnoreOrder(new String[] { preview1, preview2 }, new String[] { expected1, expected2 });		
-	}
-	
-	public void testSimilarVariableNamesMultipleOcc() throws Exception {
-		StringBuffer buf= new StringBuffer();
-		
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test3", false, null);
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int cout;\n");
-		buf.append("    public void setCount(int x) {\n");
-		buf.append("        count= x;\n");
-		buf.append("        count++;\n");	
-		buf.append("    }\n");
-		buf.append("    public int getCount() {\n");
-		buf.append("        return count;\n");	
-		buf.append("    }\n");			
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 3);
-		for (int i= proposals.size() - 1; i >= 0; i--) {
-			Object curr= proposals.get(i);
-			if (!(curr instanceof RenameNodeCompletionProposal)) {
-				proposals.remove(i);
-			}
-		}
-		
-		assertNumberOf("proposals", proposals.size(), 1);
-		assertCorrectLabels(proposals);
-
-		CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
-		String preview1= getPreviewContent(proposal);
-		
-		buf= new StringBuffer();
-		buf.append("package test3;\n");
-		buf.append("public class E {\n");
-		buf.append("    private int cout;\n");
-		buf.append("    public void setCount(int x) {\n");
-		buf.append("        cout= x;\n");
-		buf.append("        cout++;\n");	
-		buf.append("    }\n");
-		buf.append("    public int getCount() {\n");
-		buf.append("        return cout;\n");	
-		buf.append("    }\n");			
-		buf.append("}\n");
-		String expected1= buf.toString();
-
-		assertEqualString( preview1, expected1);
-	}
-	
-	public void testVarMultipleOccurances1() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (i= 0; i > 9; i++) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 3);
-		assertNumberOf("proposals", proposals.size(), 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal localProposal= null;
-		for (int i = 0; i < proposals.size(); i++) {
-			Object curr= proposals.get(i);
-			if (curr instanceof NewVariableCompletionProposal && ((NewVariableCompletionProposal) curr).getVariableKind() == NewVariableCompletionProposal.LOCAL) {
-				localProposal= (CUCorrectionProposal) curr;
-			}
-		}
-		assertNotNull(localProposal);
-		
-		String preview= getPreviewContent(localProposal);
-		buf= new StringBuffer();	
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (int i = 0; i > 9; i++) {\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-
-		assertEqualString(preview, expected);	
-	}	
-	
-	public void testVarMultipleOccurances2() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (i= 0; i > 9;) {\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");		
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 3);
-		assertNumberOf("proposals", proposals.size(), 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal localProposal= null;
-		for (int i = 0; i < proposals.size(); i++) {
-			Object curr= proposals.get(i);
-			if (curr instanceof NewVariableCompletionProposal && ((NewVariableCompletionProposal) curr).getVariableKind() == NewVariableCompletionProposal.LOCAL) {
-				localProposal= (CUCorrectionProposal) curr;
-			}
-		}
-		assertNotNull(localProposal);
-		
-		String preview= getPreviewContent(localProposal);
-		buf= new StringBuffer();	
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (int i = 0; i > 9;) {\n");
-		buf.append("            i++;\n");
-		buf.append("        }\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-
-		assertEqualString(preview, expected);	
-	}
-	
-	public void testVarMultipleOccurances3() throws Exception {
-		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);
-		StringBuffer buf= new StringBuffer();
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        for (i = 0; i > 9;) {\n");
-		buf.append("        }\n");
-		buf.append("        i= 9;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);
-		
-		CompilationUnit astRoot= getASTRoot(cu);
-		ArrayList proposals= collectCorrections(cu, astRoot, 3);
-		assertNumberOf("proposals", proposals.size(), 3);
-		assertCorrectLabels(proposals);
-		
-		CUCorrectionProposal localProposal= null;
-		for (int i = 0; i < proposals.size(); i++) {
-			Object curr= proposals.get(i);
-			if (curr instanceof NewVariableCompletionProposal && ((NewVariableCompletionProposal) curr).getVariableKind() == NewVariableCompletionProposal.LOCAL) {
-				localProposal= (CUCorrectionProposal) curr;
-			}
-		}
-		assertNotNull(localProposal);
-		
-		String preview= getPreviewContent(localProposal);
-		buf= new StringBuffer();	
-		buf.append("package test1;\n");
-		buf.append("public class E {\n");
-		buf.append("    void foo() {\n");
-		buf.append("        int i;\n");
-		buf.append("        for (i = 0; i > 9;) {\n");
-		buf.append("        }\n");
-		buf.append("        i= 9;\n");
-		buf.append("    }\n");
-		buf.append("}\n");
-		String expected= buf.toString();
-
-		assertEqualString(preview, expected);	
-	}	
-
-	
-
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/JUnitSourceSetup.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/JUnitSourceSetup.java
deleted file mode 100644
index 2c4a54a..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/JUnitSourceSetup.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.search;
-
-import java.io.File;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.testplugin.JavaProjectHelper;
-import org.eclipse.jdt.testplugin.JavaTestPlugin;
-
-/**
- */
-public class JUnitSourceSetup extends TestSetup {
-	public static final String PROJECT_NAME= "JUnitSource";
-	public static final String SRC_CONTAINER= "src";
-	
-	private IJavaProject fProject;
-	
-	public static IJavaProject getProject() {
-		IProject project= ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
-		return JavaCore.create(project);
-	}
-
-	public JUnitSourceSetup(Test test) {
-		super(test);
-	}
-	
-	protected void setUp() throws Exception {
-		fProject= JavaProjectHelper.createJavaProject(PROJECT_NAME, "bin"); //$NON-NLS-2$
-		IClasspathEntry jreLib= JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER"));  //$NON-NLS-1$
-		JavaProjectHelper.addToClasspath(fProject, jreLib);
-		File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(JavaProjectHelper.JUNIT_SRC);
-		JavaProjectHelper.addSourceContainerWithImport(fProject, SRC_CONTAINER, junitSrcArchive);
-	}
-	
-	/* (non-Javadoc)
-	 * @see junit.extensions.TestSetup#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		fProject.getProject().delete(true, true, null);
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchLeakTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchLeakTest.java
deleted file mode 100644
index 6005b69..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchLeakTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.search;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.search2.internal.ui.InternalSearchUI;
-
-import org.eclipse.jdt.ui.leaktest.LeakTestCase;
-import org.eclipse.jdt.ui.leaktest.LeakTestSetup;
-
-import org.eclipse.jdt.internal.ui.search.JavaSearchQuery;
-import org.eclipse.jdt.internal.ui.search.JavaSearchResult;
-
-/**
- */
-public class SearchLeakTest extends LeakTestCase {
-	public SearchLeakTest(String name) {
-		super(name);
-	}
-	
-	public static Test allTests() {
-		return new LeakTestSetup(new JUnitSourceSetup(new TestSuite(SearchLeakTest.class)));
-	}
-	
-	public static Test suite() {
-		return allTests();
-	}
-	
-	public void testRemoveSearchQueries() throws Exception {
-		JavaSearchQuery query1= SearchTest.runMethodRefQuery("junit.framework.Test", "countTestCases", new String[0]);
-		JavaSearchQuery query2= SearchTest.runMethodRefQuery("junit.framework.TestCase", "countTestCases", new String[0]);
-		InternalSearchUI.getInstance().removeQuery(query1);
-		InternalSearchUI.getInstance().removeQuery(query2);	
-		query1= null;
-		query2= null;
-		assertEquals(0, getInstanceCount(JavaSearchResult.class));
-	}
-	public void testRemoveAllQueries() throws Exception {
-		JavaSearchQuery query1= SearchTest.runMethodRefQuery("junit.framework.Test", "countTestCases", new String[0]);
-		JavaSearchQuery query2= SearchTest.runMethodRefQuery("junit.framework.TestCase", "countTestCases", new String[0]);
-		InternalSearchUI.getInstance().removeAllQueries();
-		query1= null;
-		query2= null;
-		assertEquals(0, getInstanceCount(JavaSearchResult.class));
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchTest.java
deleted file mode 100644
index 60efa61..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/SearchTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.search;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.search.ui.NewSearchUI;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-
-
-import org.eclipse.jdt.internal.ui.search.ElementQuerySpecification;
-import org.eclipse.jdt.internal.ui.search.JavaSearchQuery;
-import org.eclipse.jdt.internal.ui.search.JavaSearchResult;
-import org.eclipse.jdt.internal.ui.search.ReferenceScopeFactory;
-
-public class SearchTest {
-	public static Test suite() {
-		TestSuite suite= new TestSuite("Java Search Tests"); //$NON-NLS-1$
-		//suite.addTestSuite(WorkspaceScopeTest.class);
-		suite.addTest(WorkspaceReferenceTest.allTests());
-		suite.addTest(TreeContentProviderTest.allTests());
-		return suite;
-	}
-
-	static int countMethodRefs(String TypeName, String methodName, String[] parameterTypes) throws JavaModelException {
-		JavaSearchQuery query= runMethodRefQuery(TypeName, methodName, parameterTypes);
-		JavaSearchResult result= (JavaSearchResult) query.getSearchResult();
-		return result.getMatchCount();
-	}
-
-	static JavaSearchQuery runMethodRefQuery(String TypeName, String methodName, String[] parameterTypes) throws JavaModelException {
-		IMethod method= getMethod(TypeName, methodName, parameterTypes);
-		NewSearchUI.activateSearchResultView();
-		JavaSearchQuery query= new JavaSearchQuery(new ElementQuerySpecification(method, IJavaSearchConstants.REFERENCES, ReferenceScopeFactory.create(method), "workspace scope"));
-		NewSearchUI.runQueryInForeground(null, query);
-		return query;
-	}
-
-	static IMethod getMethod(String TypeName, String methodName, String[] parameterTypes) throws JavaModelException {
-		IType type= getType(TypeName);
-		IMethod method= type.getMethod(methodName, parameterTypes);
-		return method;
-	}
-
-	static IType getType(String TypeName) throws JavaModelException {
-		IJavaProject p= JUnitSourceSetup.getProject();
-		IType type= p.findType(TypeName);
-		return type;
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/TreeContentProviderTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/TreeContentProviderTest.java
deleted file mode 100644
index 9a87bb0..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/TreeContentProviderTest.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Common Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jdt.ui.tests.search;
-
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.swt.events.TreeListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-
-import org.eclipse.search.ui.text.Match;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-
-import org.eclipse.jdt.internal.ui.search.JavaSearchResult;
-import org.eclipse.jdt.internal.ui.search.LevelTreeContentProvider;
-
-/**
- */
-public class TreeContentProviderTest extends TestCase {
-	private LevelTreeContentProvider fProvider;
-	private JavaSearchResult fResult;
-	
-	public static Test allTests() {
-		return new JUnitSourceSetup(new TestSuite(TreeContentProviderTest.class));
-	}
-	
-	public static Test suite() {
-		return allTests();
-	}
-
-	static class MockTreeViewer extends AbstractTreeViewer {
-		protected void addTreeListener(Control control, TreeListener listener) {
-			// ignore
-		}
-
-		protected void doUpdateItem(Item item, Object element) {
-			// ignore
-		}
-
-		protected Item[] getChildren(Widget widget) {
-			return new Item[0];
-		}
-
-		protected boolean getExpanded(Item item) {
-			return false;
-		}
-
-		protected int getItemCount(Control control) {
-			return 0;
-		}
-
-		protected int getItemCount(Item item) {
-			return 0;
-		}
-
-		protected Item[] getItems(Item item) {
-			return new Item[0];
-		}
-
-		protected Item getParentItem(Item item) {
-			return null;
-		}
-
-		protected Item[] getSelection(Control control) {
-			return new Item[0];
-		}
-
-		protected Item newItem(Widget parent, int style, int index) {
-			return null;
-		}
-
-		protected void removeAll(Control control) {
-			// ignore
-		}
-
-		protected void setExpanded(Item item, boolean expand) {
-			// ignore
-		}
-
-		protected void setSelection(List items) {
-			// ignore
-		}
-
-		protected void showItem(Item item) {
-			// ignore
-		}
-
-		public Control getControl() {
-			return null;
-		}
-	}
-		
-
-	public TreeContentProviderTest(String name) {
-		super(name);
-		// TODO Auto-generated constructor stub
-	}
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		fProvider= new LevelTreeContentProvider(new MockTreeViewer(), LevelTreeContentProvider.LEVEL_PACKAGE);
-		fResult= new JavaSearchResult(null);
-		fProvider.inputChanged(null, null, fResult);
-	}
-	
-	public void testSimpleAdd() throws Exception {
-		IMethod method= SearchTest.getMethod("junit.framework.TestCase", "getName", new String[0]);
-		addMatch(new Match(method, 0, 1));
-		IType type= SearchTest.getType("junit.framework.TestCase");
-		IPackageFragment pkg= type.getPackageFragment();
-		IJavaProject project= pkg.getJavaProject();
-		IPackageFragmentRoot root= (IPackageFragmentRoot) pkg.getParent();
-		
-		fProvider.setLevel(LevelTreeContentProvider.LEVEL_TYPE);
-		assertEquals(type, fProvider.getParent(method));
-		assertEquals(fProvider.getParent(type), null);
-		
-		fProvider.setLevel(LevelTreeContentProvider.LEVEL_PACKAGE);
-		assertEquals(type, fProvider.getParent(method));
-		assertEquals(fProvider.getParent(type), pkg);
-		assertEquals(fProvider.getParent(pkg), null);
-
-		fProvider.setLevel(LevelTreeContentProvider.LEVEL_PROJECT);
-		assertEquals(type, fProvider.getParent(method));
-		assertEquals(fProvider.getParent(type), pkg);
-		assertEquals(fProvider.getParent(pkg), root);
-		assertEquals(fProvider.getParent(root), project);
-		assertEquals(fProvider.getParent(project), null);
-	}
-	
-	public void testRemove() throws Exception {
-		IMethod method= SearchTest.getMethod("junit.framework.TestCase", "getName", new String[0]);
-		IType type= method.getDeclaringType();
-		IPackageFragment pkg= type.getPackageFragment();
-		Match match= new Match(method, 0, 1);
-		addMatch(match);
-		Match match2= new Match(method, 0, 1);
-		addMatch(match2);
-		removeMatch(match);
-		assertEquals(1, fProvider.getChildren(type).length);
-		assertEquals(1, fProvider.getChildren(pkg).length);
-		assertEquals(1, fProvider.getElements(fResult).length);
-
-		removeMatch(match2);
-		
-		assertEquals(0, fProvider.getChildren(type).length);
-		assertEquals(0, fProvider.getChildren(pkg).length);
-		assertEquals(0, fProvider.getElements(fResult).length);
-	}
-	
-	public void testRemoveParentFirst() throws Exception {
-		IMethod method= SearchTest.getMethod("junit.framework.TestCase", "getName", new String[0]);
-		IType type= method.getDeclaringType();
-		IPackageFragment pkg= type.getPackageFragment();
-		
-		Match match1= new Match(method, 0, 1);
-		addMatch(match1);
-		
-		Match match2= new Match(type, 0, 1);
-		addMatch(match2);
-		
-		removeMatch(match2);
-		
-		assertEquals(1, fProvider.getChildren(type).length);
-		assertEquals(1, fProvider.getChildren(pkg).length);
-		assertEquals(1, fProvider.getElements(fResult).length);
-		
-		removeMatch(match1);
-		assertEquals(0, fProvider.getChildren(type).length);
-		assertEquals(0, fProvider.getChildren(pkg).length);
-		assertEquals(0, fProvider.getElements(fResult).length);
-	}
-
-	public void testRemoveParentLast() throws Exception {
-		IMethod method= SearchTest.getMethod("junit.framework.TestCase", "getName", new String[0]);
-		IType type= method.getDeclaringType();
-		IPackageFragment pkg= type.getPackageFragment();
-		
-		Match match1= new Match(method, 0, 1);
-		addMatch(match1);
-		
-		Match match2= new Match(type, 0, 1);
-		addMatch(match2);
-		
-		removeMatch(match1);
-		
-		assertEquals(0, fProvider.getChildren(type).length);
-		assertEquals(1, fProvider.getChildren(pkg).length);
-		assertEquals(1, fProvider.getElements(fResult).length);
-		
-		removeMatch(match2);
-		
-		assertEquals(0, fProvider.getChildren(type).length);
-		assertEquals(0, fProvider.getChildren(pkg).length);
-		assertEquals(0, fProvider.getElements(fResult).length);
-	}
-
-	private void removeMatch(Match match) {
-		fResult.removeMatch(match);
-		fProvider.elementsChanged(new Object[] { match.getElement() });
-	}
-
-	private void addMatch(Match match) {
-		fResult.addMatch(match);
-		fProvider.elementsChanged(new Object[] { match.getElement() });
-	}
-
-
-}
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/WorkspaceReferenceTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/WorkspaceReferenceTest.java
deleted file mode 100644
index 0d3f9d4..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/WorkspaceReferenceTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.search;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- */
-public class WorkspaceReferenceTest extends TestCase {
-
-	public static Test allTests() {
-		return new JUnitSourceSetup(new TestSuite(WorkspaceReferenceTest.class));
-	}
-	
-	public static Test suite() {
-		return allTests();
-	}
-	
-	public WorkspaceReferenceTest(String name) {
-		super(name);
-	}
-	
-	public void testSimpleMethodRef() throws Exception {
-		assertEquals(9, SearchTest.countMethodRefs("junit.framework.Test", "countTestCases", new String[0]));
-	}
-
-	public void testFindOverridden() throws Exception {
-		assertEquals(6, SearchTest.countMethodRefs("junit.framework.TestCase", "countTestCases", new String[0]));
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/WorkspaceScopeTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/WorkspaceScopeTest.java
deleted file mode 100644
index 6068948..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/search/WorkspaceScopeTest.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.search;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-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.testplugin.JavaProjectHelper;
-
-import org.eclipse.jdt.internal.ui.search.ReferenceScopeFactory;
-
-/**
- * @author Thomas Mäder
- *
- */
-public class WorkspaceScopeTest extends TestCase {
-	private IJavaProject fProject1;
-	private IJavaProject fProject2;
-	private IJavaProject fProject3;
-	private IJavaProject fProject4;
-	private ICompilationUnit fCompilationUnit;
-	
-	public WorkspaceScopeTest(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-		fProject1= createStandardProject("Test", "test"); //$NON-NLS-1$ //$NON-NLS-2$
-		IPackageFragment pkg= fProject1.findPackageFragment(new Path("/Test/src/test")); //$NON-NLS-1$
-		fCompilationUnit= pkg.createCompilationUnit("Test.java", getSource(), true, null); //$NON-NLS-1$
-		
-		fProject2= createStandardProject("Test2", "test2");  //$NON-NLS-1$//$NON-NLS-2$
-		JavaProjectHelper.addRequiredProject(fProject2, fProject1);
-		
-		fProject3= createStandardProject("Test3", "test3"); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		fProject4= createStandardProject("Test4", "test4", false);  //$NON-NLS-1$//$NON-NLS-2$
-	}
-	
-	private IJavaProject createStandardProject(String name, String pkgName) throws CoreException, JavaModelException {
-		return createStandardProject(name, pkgName, true);
-	}
-	private IJavaProject createStandardProject(String name, String pkgName, boolean includeJRE) throws CoreException, JavaModelException {
-		IJavaProject project= JavaProjectHelper.createJavaProject(name, "bin"); //$NON-NLS-1$ //$NON-NLS-2$
-		IPackageFragmentRoot root= JavaProjectHelper.addSourceContainer(project, "src"); //$NON-NLS-1$
-		root.createPackageFragment(pkgName, true, null); //$NON-NLS-1$
-		if (includeJRE) {
-			IClasspathEntry jreLib= JavaCore.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER"));  //$NON-NLS-1$
-			JavaProjectHelper.addToClasspath(project, jreLib);
-		}
-		return project;
-	}
-
-	/**
-	 * @return
-	 */
-	private String getSource() {
-		return "package test;\n" + 
-				"\n" + 
-				"public class Test {\n" + 
-				"	public void publicMethod() {\n" + 
-				"	}\n" + 
-				"	\n" + 
-				"	private void privateMethod() {\n" + 
-				"	}\n" + 
-				"	\n" + 
-				"	protected void protectedMethod() {\n" + 
-				"	}\n" + 
-				"	\n" + 
-				"	void defaultMethod() {\n" + 
-				"	}\n" + 
-				"}\n";
-
-	}
-
-	public void testPrivateScope() throws JavaModelException {
-		IType type= fCompilationUnit.findPrimaryType();
-		IMethod privateMethod= type.getMethod("privateMethod", new String[0]); //$NON-NLS-1$
-		IJavaSearchScope scope= ReferenceScopeFactory.create(privateMethod);
-		
-		assertTrue(scope.encloses(fCompilationUnit));
-		
-		IPackageFragmentRoot[] roots= fProject1.getAllPackageFragmentRoots();
-		for (int i= 0; i < roots.length; i++) {
-			IJavaElement[] fragments= roots[i].getChildren();
-			for (int j= 0; j < fragments.length; j++) {
-				assertFalse(scope.encloses(fragments[j]));
-			}
-		}
-		
-		checkNoRoots(scope, fProject2);
-		checkNoRoots(scope, fProject3);
-	}
-	
-	public void testDefaultScope() throws JavaModelException {
-		IType type= fCompilationUnit.findPrimaryType();
-		IMethod privateMethod= type.getMethod("defaultMethod", new String[0]); //$NON-NLS-1$
-		IJavaSearchScope scope= ReferenceScopeFactory.create(privateMethod);
-		
-		assertTrue(scope.encloses(fCompilationUnit.getParent()));
-		
-		IPackageFragmentRoot[] roots= fProject1.getAllPackageFragmentRoots();
-		for (int i= 0; i < roots.length; i++) {
-			IJavaElement[] fragments= roots[i].getChildren();
-			for (int j= 0; j < fragments.length; j++) {
-				if (!fragments[j].equals(fCompilationUnit.getParent()))
-					assertFalse(scope.encloses(fragments[j]));
-			}
-		}
-		
-		checkNoRoots(scope, fProject2);
-		checkNoRoots(scope, fProject3);
-	}
-
-	
-	public void testPublicMethod() throws JavaModelException {
-		IType type= fCompilationUnit.findPrimaryType();
-		IMethod publicMethod= type.getMethod("publicMethod", new String[0]); //$NON-NLS-1$
-		IJavaSearchScope scope= ReferenceScopeFactory.create(publicMethod);
-		checkNoJreRoots(scope, fProject1);
-		checkNoJreRoots(scope, fProject2);
-		checkNoRoots(scope, fProject3);
-	}
-
-	public void testProtectedMethod() throws JavaModelException {
-		IType type= fCompilationUnit.findPrimaryType();
-		IMethod protectedMethod= type.getMethod("protectedMethod", new String[0]); //$NON-NLS-1$
-		IJavaSearchScope scope= ReferenceScopeFactory.create(protectedMethod);
-		checkNoJreRoots(scope, fProject1);
-		checkNoJreRoots(scope, fProject2);
-		checkNoRoots(scope, fProject3);
-	}
-
-	private void checkNoJreRoots(IJavaSearchScope scope, IJavaProject project) throws JavaModelException {
-		IPackageFragmentRoot[] roots= project.getAllPackageFragmentRoots();
-		for (int i= 0; i < roots.length; i++) {
-			if(scope.encloses(roots[i])) {
-				assertFalse(roots[i].isExternal());
-			} else {
-				assertTrue(roots[i].isExternal());
-			}
-		}
-	}
-	
-	private void checkJreRoots(IJavaSearchScope scope, IJavaProject project) throws JavaModelException {
-		IPackageFragmentRoot[] roots= project.getAllPackageFragmentRoots();
-		for (int i= 0; i < roots.length; i++) {
-			if(scope.encloses(roots[i])) {
-				assertTrue(roots[i].isExternal());
-			} else {
-				assertFalse(roots[i].isExternal());
-			}
-		}
-	}
-
-	private void checkNoRoots(IJavaSearchScope scope, IJavaProject project) throws JavaModelException {
-		IPackageFragmentRoot[] roots= project.getAllPackageFragmentRoots();
-		for (int i= 0; i < roots.length; i++) {
-			assertFalse(scope.encloses(roots[i]));
-		}
-	}
-	
-	private void checkAllRoots(IJavaSearchScope scope, IJavaProject project) throws JavaModelException {
-		IPackageFragmentRoot[] roots= project.getAllPackageFragmentRoots();
-		for (int i= 0; i < roots.length; i++) {
-			assertTrue(scope.encloses(roots[i]));
-		}
-	}
-	
-	public void testJREProtected() throws JavaModelException {
-		IType object= fProject1.findType("java.lang.Object"); //$NON-NLS-1$
-		IMethod protectedMethod= object.getMethod("clone", new String [0]); //$NON-NLS-1$
-		IJavaSearchScope scope= ReferenceScopeFactory.create(protectedMethod);
-		
-		checkAllRoots(scope, fProject1);
-		checkAllRoots(scope, fProject2);
-		checkJreRoots(scope, fProject3);
-		checkNoRoots(scope, fProject4);
-	}
-}
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/wizardapi/NewJavaProjectWizardTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/wizardapi/NewJavaProjectWizardTest.java
deleted file mode 100644
index 5892e9d..0000000
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/wizardapi/NewJavaProjectWizardTest.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jdt.ui.tests.wizardapi;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-import org.eclipse.jdt.launching.JavaRuntime;
-
-import org.eclipse.jdt.ui.PreferenceConstants;
-import org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPage;
-
-public class NewJavaProjectWizardTest extends TestCase {
-	
-	
-	public static Test suite() {
-		return new TestSuite(NewJavaProjectWizardTest.class);
-	}		
-	
-	private class TestNewJavaProjectWizardPage extends NewJavaProjectWizardPage {
-	
-		private IProject fNewProject;
-	
-		public TestNewJavaProjectWizardPage(IWorkspaceRoot root) {
-			super(root, null);
-		}
-		
-		public void setProjectHandle(IProject newProject) {
-			fNewProject= newProject;
-		}	
-	
-		/**
-		 * @see NewJavaProjectWizardPage#getLocationPath()
-		 */
-		protected IPath getLocationPath() { 
-			return null;
-		}
-
-		/**
-		 * @see NewJavaProjectWizardPage#getProjectHandle()
-		 */
-		protected IProject getProjectHandle() {
-			return fNewProject;
-		}
-		
-		public void initBuildPath() {
-			super.initBuildPaths();
-		}
-		
-	}
-	
-	
-	private static final String PROJECT_NAME = "DummyProject";
-	private static final String OTHER_PROJECT_NAME = "OtherProject";
-	
-	
-	private TestNewJavaProjectWizardPage fWizardPage;
-
-	public NewJavaProjectWizardTest(String name) {
-		super(name);
-	}	
-
-	/**
-	 * @see TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		
-		IProject project= root.getProject(PROJECT_NAME);
-		
-		fWizardPage= new TestNewJavaProjectWizardPage(root);
-		fWizardPage.setProjectHandle(project);
-	}
-
-	/**
-	 * @see TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		IProject project= root.getProject(PROJECT_NAME);
-		if (project.exists()) {
-			project.delete(true, null);
-		}
-		
-		project= root.getProject(OTHER_PROJECT_NAME);
-		if (project.exists()) {
-			project.delete(true, null);
-		}		
-	
-		super.tearDown();
-	}
-	
-	private IPath getJREEntryPath() {
-		return JavaRuntime.getDefaultJREContainerEntry().getPath();
-	}
-	
-	
-	private void assertBasicBuildPath(IProject project, IPath outputLocation, IClasspathEntry[] classpath) {
-		assertNotNull("a", outputLocation);
-		assertNotNull("b", classpath);
-		assertTrue("c", classpath.length == 2);
-		
-		if (PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.SRCBIN_FOLDERS_IN_NEWPROJ)) {
-			assertEquals("d", outputLocation, project.getFolder("bin").getFullPath());
-			assertEquals("e", classpath[0].getPath(), project.getFolder("src").getFullPath());
-		} else {
-			assertEquals("f", outputLocation, project.getFullPath());
-			assertEquals("g", classpath[0].getPath(), project.getFullPath());
-		}
-		assertEquals("h", classpath[1].getPath(), getJREEntryPath());		
-	}
-	
-	public void testBasicSet() throws Exception {
-		fWizardPage.initBuildPath();
-		IProject project= fWizardPage.getProjectHandle();
-		
-		IPath outputLocation= fWizardPage.getOutputLocation();
-		IClasspathEntry[] classpath= fWizardPage.getRawClassPath();
-		assertBasicBuildPath(project, outputLocation, classpath);
-	}
-			
-		
-	public void testBasicCreate() throws Exception {	
-		IProject project= fWizardPage.getProjectHandle();
-		
-		IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(fWizardPage.getRunnable());
-		op.run(null);
-	
-		IJavaProject jproj= fWizardPage.getNewJavaProject();
-		
-		assertEquals("a", jproj.getProject(), project);
-		
-		IPath outputLocation= jproj.getOutputLocation();
-		IClasspathEntry[] classpath= jproj.getRawClasspath();
-		assertBasicBuildPath(jproj.getProject(), outputLocation, classpath);		
-	}
-	
-	public void testProjectChange() throws Exception {	
-		fWizardPage.initBuildPath();
-		IProject project= fWizardPage.getProjectHandle();
-		
-		IPath outputLocation= fWizardPage.getOutputLocation();
-		IClasspathEntry[] classpath= fWizardPage.getRawClassPath();
-		assertBasicBuildPath(project, outputLocation, classpath);
-	
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		IProject otherProject= root.getProject(OTHER_PROJECT_NAME);		
-		
-		// change the project before create
-		fWizardPage.setProjectHandle(otherProject);
-
-		IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(fWizardPage.getRunnable());
-		op.run(null);
-		
-		IJavaProject jproj= fWizardPage.getNewJavaProject();
-		
-		assertEquals("a", jproj.getProject(), otherProject);
-		
-		IPath outputLocation1= fWizardPage.getOutputLocation();
-		IClasspathEntry[] classpath1= fWizardPage.getRawClassPath();
-		assertBasicBuildPath(otherProject, outputLocation1, classpath1);			
-	}	
-	
-	private void assertUserBuildPath(IProject project, IPath outputLocation, IClasspathEntry[] classpath) {
-		assertNotNull("a", outputLocation);
-		assertNotNull("b", classpath);
-		assertTrue("c", classpath.length == 3);
-		
-		assertEquals("d", outputLocation, project.getFolder("dbin").getFullPath());
-		assertEquals("e", classpath[0].getPath(), project.getFolder("dsrc1").getFullPath());
-		assertEquals("f", classpath[1].getPath(), project.getFolder("dsrc2").getFullPath());
-		assertEquals("g", classpath[2].getPath(), getJREEntryPath());	
-	}
-	
-	public void testUserSet() throws Exception {	
-		IProject project= fWizardPage.getProjectHandle();
-		
-		IPath folderPath= project.getFolder("dbin").getFullPath();
-		
-		IClasspathEntry[] entries= new IClasspathEntry[] {
-			JavaCore.newSourceEntry(project.getFolder("dsrc1").getFullPath()),
-			JavaCore.newSourceEntry(project.getFolder("dsrc2").getFullPath())
-		};
-			
-		fWizardPage.setDefaultOutputFolder(folderPath);
-		fWizardPage.setDefaultClassPath(entries, true);
-		fWizardPage.initBuildPath();
-		
-		IPath outputLocation= fWizardPage.getOutputLocation();
-		IClasspathEntry[] classpath= fWizardPage.getRawClassPath();
-		assertUserBuildPath(project, outputLocation, classpath);
-		
-		fWizardPage.setDefaultOutputFolder(null);
-		fWizardPage.setDefaultClassPath(null, false);
-		fWizardPage.initBuildPath();
-		
-		IPath outputLocation1= fWizardPage.getOutputLocation();
-		IClasspathEntry[] classpath1= fWizardPage.getRawClassPath();
-		assertBasicBuildPath(project, outputLocation1, classpath1);
-	}
-	
-	public void testUserCreate() throws Exception {	
-		IProject project= fWizardPage.getProjectHandle();
-		
-		IPath folderPath= project.getFolder("dbin").getFullPath();
-		
-		IClasspathEntry[] entries= new IClasspathEntry[] {
-			JavaCore.newSourceEntry(project.getFolder("dsrc1").getFullPath()),
-			JavaCore.newSourceEntry(project.getFolder("dsrc2").getFullPath())
-		};
-			
-		fWizardPage.setDefaultOutputFolder(folderPath);
-		fWizardPage.setDefaultClassPath(entries, true);
-		
-		IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(fWizardPage.getRunnable());
-		op.run(null);
-	
-		IJavaProject jproj= fWizardPage.getNewJavaProject();
-		
-		assertEquals("a", jproj.getProject(), project);
-		
-		IPath outputLocation= jproj.getOutputLocation();
-		IClasspathEntry[] classpath= jproj.getRawClasspath();
-		assertUserBuildPath(jproj.getProject(), outputLocation, classpath);	
-	}
-	
-	public void testReadExisting() throws Exception {
-		IProject project= fWizardPage.getProjectHandle();
-		
-		IPath folderPath= project.getFolder("dbin").getFullPath();
-		IClasspathEntry[] entries= new IClasspathEntry[] {
-			JavaCore.newSourceEntry(project.getFolder("dsrc1").getFullPath()),
-			JavaCore.newSourceEntry(project.getFolder("dsrc2").getFullPath())
-		};	
-		
-		fWizardPage.setDefaultOutputFolder(folderPath);
-		fWizardPage.setDefaultClassPath(entries, true);		
-		
-		IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(fWizardPage.getRunnable());
-		op.run(null);
-	
-		IProject proj= fWizardPage.getNewJavaProject().getProject();
-	
-		fWizardPage.setDefaultClassPath(null, false);
-		fWizardPage.setDefaultOutputFolder(null);
-		fWizardPage.setProjectHandle(proj);
-		
-		// reads from existing
-		fWizardPage.initBuildPath();
-		
-		IPath outputLocation1= fWizardPage.getOutputLocation();
-		IClasspathEntry[] classpath1= fWizardPage.getRawClassPath();
-		assertUserBuildPath(project, outputLocation1, classpath1);
-	}
-	
-	public void testExistingOverwrite() throws Exception {
-		IProject project= fWizardPage.getProjectHandle();
-				
-		IRunnableWithProgress op= new WorkspaceModifyDelegatingOperation(fWizardPage.getRunnable());
-		op.run(null);
-	
-		IPath folderPath= project.getFolder("dbin").getFullPath();
-		IClasspathEntry[] entries= new IClasspathEntry[] {
-			JavaCore.newSourceEntry(project.getFolder("dsrc1").getFullPath()),
-			JavaCore.newSourceEntry(project.getFolder("dsrc2").getFullPath())
-		};	
-		
-		fWizardPage.setDefaultOutputFolder(folderPath);
-		fWizardPage.setDefaultClassPath(entries, true);
-		
-		// should overwrite existing
-		IRunnableWithProgress op1= new WorkspaceModifyDelegatingOperation(fWizardPage.getRunnable());
-		op1.run(null);
-		
-		IJavaProject jproj= fWizardPage.getNewJavaProject();
-		
-		IPath outputLocation1= jproj.getOutputLocation();
-		IClasspathEntry[] classpath1= jproj.getRawClasspath();
-		assertUserBuildPath(project, outputLocation1, classpath1);	
-	}	
-}
-
-
-
diff --git a/org.eclipse.jdt.ui.vcm/.classpath b/org.eclipse.jdt.ui.vcm/.classpath
deleted file mode 100644
index b2cd8dd..0000000
--- a/org.eclipse.jdt.ui.vcm/.classpath
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="vcm"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.vcm.core"/>
-    <classpathentry kind="src" path="/org.eclipse.vcm.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.ui"/>
-    <classpathentry kind="src" path="/org.eclipse.jdt.core"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.jdt.ui.vcm/.cvsignore b/org.eclipse.jdt.ui.vcm/.cvsignore
deleted file mode 100644
index fe99505..0000000
--- a/org.eclipse.jdt.ui.vcm/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-
diff --git a/org.eclipse.jdt.ui.vcm/.project b/org.eclipse.jdt.ui.vcm/.project
deleted file mode 100644
index c59eeba..0000000
--- a/org.eclipse.jdt.ui.vcm/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.jdt.ui.vcm</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.jdt.ui</project>

-		<project>org.eclipse.ui</project>

-		<project>org.eclipse.jdt.core</project>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.core.resources</project>

-		<project>org.eclipse.swt</project>

-		<project>org.eclipse.vcm.core</project>

-		<project>org.eclipse.vcm.ui</project>

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

-		<nature>org.eclipse.team.cvs.core.cvsnature</nature>

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.jdt.ui.vcm/.vcm_meta b/org.eclipse.jdt.ui.vcm/.vcm_meta
deleted file mode 100644
index 351bab6..0000000
--- a/org.eclipse.jdt.ui.vcm/.vcm_meta
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<reference project-name="org.eclipse.jdt.ui"/>

-	<reference project-name="org.eclipse.ui"/>

-	<reference project-name="org.eclipse.jdt.core"/>

-	<reference project-name="org.eclipse.core.boot"/>

-	<reference project-name="org.eclipse.core.runtime"/>

-	<reference project-name="org.eclipse.core.resources"/>

-	<reference project-name="org.eclipse.swt"/>

-	<reference project-name="org.eclipse.vcm.core"/>

-	<reference project-name="org.eclipse.vcm.ui"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-</project-description>

diff --git a/org.eclipse.jdt.ui.vcm/about.html b/org.eclipse.jdt.ui.vcm/about.html
deleted file mode 100644
index 768324e..0000000
--- a/org.eclipse.jdt.ui.vcm/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>

-<head>

-<title>About</title>

-<style type="text/css">

-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}

-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}

-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}

-code { font-family: "Courier New", Courier, mono; font-size: 10pt}

-sup { font-family: arial,helvetica,geneva; font-size: 10px}

-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}

-li { font-family: arial, helvetica, geneva; font-size: 10pt}

-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}

-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect(   ); margin-top: 5mm; margin-left: 3mm}

-</style>

-</head>

-<body lang="EN-US" link="blue" vlink="purple">

-<table border="0" cellspacing="5" cellpadding="2" width="100%" >

-  <tr> 

-    <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>11th December, 2001</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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> &quot;CPL&quot;.  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>

-</td></tr></table>

-</body>

-</html>
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.vcm/build.properties b/org.eclipse.jdt.ui.vcm/build.properties
deleted file mode 100644
index 836c70a..0000000
--- a/org.eclipse.jdt.ui.vcm/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = plugin.xml,\

-               about.html,\

-               plugin.properties,\

-               *.jar

-source.jdtvcm.jar = vcm/

diff --git a/org.eclipse.jdt.ui.vcm/plugin.properties b/org.eclipse.jdt.ui.vcm/plugin.properties
deleted file mode 100644
index 6bab83a..0000000
--- a/org.eclipse.jdt.ui.vcm/plugin.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-#########################################

-# (c) Copyright IBM Corp. 2000, 2001.

-# All Rights Reserved.

-#########################################

-

-pluginName=Java Development Tools VCM UI

-

-TogglePackagesViewVersionLabels.label = Show &Version Info

-TogglePackagesViewVersionLabels.tooltip = Show Version Info in the Packages View

-Managing = Team

-ManageGroupMenu.label = &Team
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.vcm/plugin.xml.off b/org.eclipse.jdt.ui.vcm/plugin.xml.off
deleted file mode 100644
index 09d244e..0000000
--- a/org.eclipse.jdt.ui.vcm/plugin.xml.off
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<!-- ======================================================================= -->

-<!-- This plugin provides basic VCM functionality to the Eclipse Java UI     -->

-<!-- ======================================================================= -->

-<plugin

-	name="%pluginName"

-	id = "org.eclipse.jdt.ui.vcm"

-	version = "1.0"

-	provider-name = "Object Technology International, Inc.">

-

-	<requires>

-		<import plugin="org.eclipse.core.resources"/>

-		<import plugin="org.eclipse.ui"/>

-		<import plugin="org.eclipse.vcm.core"/>

-		<import plugin="org.eclipse.vcm.ui"/>

-		<import plugin="org.eclipse.vcm.ui.cvs"/>

-		<import plugin="org.eclipse.jdt.ui"/>

-		<import plugin="org.eclipse.jdt.core"/>

-	</requires> 

-

-<runtime>

-  <library name="jdtvcm.jar">  

-     <export name = "*"/>

-  </library> 

-</runtime>

-

-<extension point="org.eclipse.vcm.core.ignore">

-	<ignore pattern = "*.class" selected = "true"/>

-</extension>

-

-<!-- **************** View Actions ******************* -->

-<extension point="org.eclipse.ui.viewActions"> 

-	<viewContribution 

-		id="org.eclipse.vcm.packageViewContribution" 

-		targetID="org.eclipse.jdt.ui.PackageExplorer"> 

-		<action id="org.eclipse.vcm.vcminfoinpkg" 

-			label="%TogglePackagesViewVersionLabels.label" 

-			menubarPath="additions" 

-			state="false"

-			tooltip="%TogglePackagesViewVersionLabels.tooltip" 

-			class="org.eclipse.jdt.ui.vcm.TogglePackageViewVersionLabels">

-		</action> 

-	</viewContribution> 

-</extension> 

-   

-</plugin>
\ No newline at end of file
diff --git a/org.eclipse.jdt.ui.vcm/scripts/exportplugin.xml b/org.eclipse.jdt.ui.vcm/scripts/exportplugin.xml
deleted file mode 100644
index 35d3ba3..0000000
--- a/org.eclipse.jdt.ui.vcm/scripts/exportplugin.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!-- build script to create a plugin from org.eclipse.jdt.ui.vcm -->
-<project name="org.eclipse.jdt.ui.vcm" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.jdt.ui.vcm" />
-		<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}/jdtvcm.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml.off" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/jdtvcmsrc.zip">
-		    <fileset dir="vcm" />
-  		</zip>				
-	</target>
-</project>
diff --git a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java
index 8ab8ee7..c6fccce 100644
--- a/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java
+++ b/org.eclipse.jdt.ui/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java
@@ -762,12 +762,7 @@
 	 */
 	public static boolean isJDTCore_1_5() {
 		if (fgIsJDTCore_1_5 == null) {
-			try {
-				Class.forName("org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding"); //$NON-NLS-1$
-				fgIsJDTCore_1_5= Boolean.TRUE;
-			} catch (ClassNotFoundException e) {
-				fgIsJDTCore_1_5= Boolean.FALSE;
-			}
+			fgIsJDTCore_1_5= new Boolean(JavaCore.getDefaultOptions().containsKey("org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation")); //$NON-NLS-1$
 		}
 		return fgIsJDTCore_1_5.booleanValue();
 	}
diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java
index 5731a82..5307d85 100644
--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java
+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/nls/NLSHint.java
@@ -21,6 +21,7 @@
 import org.eclipse.jdt.core.IPackageFragmentRoot;
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.core.dom.*;
 import org.eclipse.jdt.core.dom.ASTNode;
 import org.eclipse.jdt.core.dom.ASTVisitor;
 import org.eclipse.jdt.core.dom.Expression;
@@ -208,11 +209,13 @@
     private ITypeBinding getAccessorClass(NLSElement nlsElement, ASTNode ast) {
         TextRegion region = nlsElement.getPosition();
         ASTNode node = NodeFinder.perform(ast, region.getOffset(), region.getLength());
-        if (node != null) {
+        if ((node != null) && (node.getParent() instanceof MethodInvocation)) {        	
             MethodInvocation methodInvocation = (MethodInvocation) node.getParent();
-            IMethodBinding binding = methodInvocation.resolveMethodBinding();
-            if (binding != null) {
-                return binding.getDeclaringClass();
+            if (methodInvocation.arguments().indexOf(node) == 0) {
+	            IMethodBinding binding = methodInvocation.resolveMethodBinding();
+	            if (binding != null && Modifier.isStatic(binding.getModifiers())) {
+	                return binding.getDeclaringClass();
+	            }
             }
         }
         return null;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/SourceView.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/SourceView.java
index 9b5e468..33dfa32 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/SourceView.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/infoviews/SourceView.java
@@ -11,6 +11,7 @@
 package org.eclipse.jdt.internal.ui.infoviews;
 
 import java.io.IOException;
+
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.StyledText;
 import org.eclipse.swt.graphics.Color;
@@ -18,6 +19,7 @@
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
+
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IMenuListener;
 import org.eclipse.jface.action.IMenuManager;
@@ -28,32 +30,39 @@
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
+
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.Document;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.IRegion;
 import org.eclipse.jface.text.ITextOperationTarget;
 import org.eclipse.jface.text.ITextSelection;
+import org.eclipse.jface.text.ITextViewerExtension;
 import org.eclipse.jface.text.TextViewer;
 import org.eclipse.jface.text.source.SourceViewer;
+
 import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.IWorkbenchActionConstants;
 import org.eclipse.ui.help.WorkbenchHelp;
 import org.eclipse.ui.texteditor.IAbstractTextEditorHelpContextIds;
 import org.eclipse.ui.texteditor.ITextEditorActionConstants;
+
 import org.eclipse.jdt.core.ICodeAssist;
 import org.eclipse.jdt.core.IJavaElement;
 import org.eclipse.jdt.core.ISourceRange;
 import org.eclipse.jdt.core.ISourceReference;
 import org.eclipse.jdt.core.JavaModelException;
+
 import org.eclipse.jdt.ui.IContextMenuConstants;
 import org.eclipse.jdt.ui.actions.JdtActionConstants;
 import org.eclipse.jdt.ui.actions.OpenAction;
 import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
 import org.eclipse.jdt.ui.text.JavaTextTools;
+
 import org.eclipse.jdt.internal.corext.codemanipulation.StubUtility;
 import org.eclipse.jdt.internal.corext.util.CodeFormatterUtil;
 import org.eclipse.jdt.internal.corext.util.Strings;
+
 import org.eclipse.jdt.internal.ui.JavaPlugin;
 import org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer;
 import org.eclipse.jdt.internal.ui.text.JavaCodeReader;
@@ -452,7 +461,11 @@
 			int topIndex= fViewer.getTopIndex();
 			
 			StyledText styledText= fViewer.getTextWidget();
-			Control parent= fViewer.getControl();
+			Control parent= styledText;
+			if (fViewer instanceof ITextViewerExtension) {
+				ITextViewerExtension extension= (ITextViewerExtension) fViewer;
+				parent= extension.getControl();
+			}
 			
 			parent.setRedraw(false);
 			
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
index c40d3fe..ea44503 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
@@ -1414,13 +1414,22 @@
 	}
 
 	/*
-	 * @see org.eclipse.jdt.internal.ui.javaeditor.JavaEditor#installOverrideIndicator(org.eclipse.jface.text.source.IAnnotationModel)
+	 * @see org.eclipse.jdt.internal.ui.javaeditor.JavaEditor#installOverrideIndicator(boolean)
 	 * @since 3.0
 	 */
-	protected void installOverrideIndicator(IAnnotationModel model) {
-		uninstallOverrideIndicator();
-		fOverrideAndImplementsIndicator= new OverrideIndicatorManager(model, getInputJavaElement(), null);		
-		addReconcileListener(fOverrideAndImplementsIndicator);
+	protected void installOverrideIndicator(boolean waitForReconcilation) {
+		IAnnotationModel model= getDocumentProvider().getAnnotationModel(getEditorInput());
+		if (!waitForReconcilation)
+			super.installOverrideIndicator(false);
+		else {
+			uninstallOverrideIndicator();
+			IJavaElement inputElement= getInputJavaElement();
+			if (model == null || inputElement == null)
+				return;
+			
+			fOverrideIndicatorManager= new OverrideIndicatorManager(model, inputElement, null);		
+			addReconcileListener(fOverrideIndicatorManager);
+		}
 	}
 	
 	/*
@@ -1428,8 +1437,8 @@
 	 * @since 3.0
 	 */
 	protected void uninstallOverrideIndicator() {
-		if (fOverrideAndImplementsIndicator != null)
-			removeReconcileListener(fOverrideAndImplementsIndicator);
+		if (fOverrideIndicatorManager != null)
+			removeReconcileListener(fOverrideIndicatorManager);
 		super.uninstallOverrideIndicator();
 	}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
index a3b08da..5ab612b 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditor.java
@@ -2101,7 +2101,7 @@
 	 * The override and implements indicator manager for this editor.
 	 * @since 3.0
 	 */
-	protected OverrideIndicatorManager fOverrideAndImplementsIndicator;
+	protected OverrideIndicatorManager fOverrideIndicatorManager;
 	
 	
 	/**
@@ -2642,8 +2642,8 @@
 			fEncodingSupport.reset();
 		setOutlinePageInput(fOutlinePage, input);
 		
-		IAnnotationModel model= getDocumentProvider().getAnnotationModel(getEditorInput());
-		installOverrideIndicator(model);
+		if (isShowingOverrideIndicators())
+			installOverrideIndicator(true);
 	}
 
 	/**
@@ -2839,6 +2839,7 @@
 							installOccurrencesFinder();
 					}
 				}
+				return;
 			}
 			if (PreferenceConstants.EDITOR_STICKY_OCCURRENCES.equals(property)) {
 				if (event.getNewValue() instanceof Boolean) {
@@ -2851,9 +2852,22 @@
 //							installOccurrencesFinder();
 					}
 				}
+				return;
 			}
+			
 			((JavaSourceViewerConfiguration)getSourceViewerConfiguration()).handlePropertyChangeEvent(event);
 			
+			if (affectsOverrideIndicatorAnnotations(event)) {
+				if (isShowingOverrideIndicators()) {
+					if (fOverrideIndicatorManager == null)
+						installOverrideIndicator(false);
+				} else {
+					if (fOverrideIndicatorManager != null)
+						uninstallOverrideIndicator();
+				}
+				return;
+			}
+			
 		} finally {
 			super.handlePreferenceStoreChanged(event);
 		}
@@ -3394,15 +3408,57 @@
 	}
 
 	protected void uninstallOverrideIndicator() {
-		if (fOverrideAndImplementsIndicator != null) {
-			fOverrideAndImplementsIndicator.removeAnnotations();
-			fOverrideAndImplementsIndicator= null;
+		if (fOverrideIndicatorManager != null) {
+			fOverrideIndicatorManager.removeAnnotations();
+			fOverrideIndicatorManager= null;
 		}
 	}
 
-	protected void installOverrideIndicator(IAnnotationModel model) {
+	protected void installOverrideIndicator(boolean waitForReconcilation) {
 		uninstallOverrideIndicator();
-		fOverrideAndImplementsIndicator= new OverrideIndicatorManager(model, getInputJavaElement(), JavaPlugin.getDefault().getASTProvider().getAST(getInputJavaElement(), true, null));		
+		IAnnotationModel model= getDocumentProvider().getAnnotationModel(getEditorInput());
+		IJavaElement inputElement= getInputJavaElement();
+
+		if (model == null || inputElement == null)
+			return;
+
+		CompilationUnit ast= JavaPlugin.getDefault().getASTProvider().getAST(inputElement, true, null);
+		fOverrideIndicatorManager= new OverrideIndicatorManager(model, inputElement, ast);		
+	}
+	
+	/**
+	 * Tells whether override indicators are shown.
+	 * 
+	 * @return <code>true</code> if the override indicators are shown
+	 * @since 3.0
+	 */
+	protected boolean isShowingOverrideIndicators() {
+		AnnotationPreference preference= getAnnotationPreferenceLookup().getAnnotationPreferenceFragment(OverrideIndicatorManager.ANNOTATION_TYPE);
+		IPreferenceStore store= getNewPreferenceStore();
+		return store.getBoolean(preference.getHighlightPreferenceKey())
+			|| store.getBoolean(preference.getVerticalRulerPreferenceKey())
+			|| store.getBoolean(preference.getOverviewRulerPreferenceKey())
+			|| store.getBoolean(preference.getTextPreferenceKey());
+	}
+	
+	/**
+	 * Determines whether the preference change encoded by the given event
+	 * changes the override indication.
+	 * 
+	 * @param event the event to be investigated
+	 * @return <code>true</code> if event causes a change
+	 * @since 3.0
+	 */
+	protected boolean affectsOverrideIndicatorAnnotations(PropertyChangeEvent event) {
+		String key= event.getProperty();
+		AnnotationPreference preference= getAnnotationPreferenceLookup().getAnnotationPreferenceFragment(OverrideIndicatorManager.ANNOTATION_TYPE);
+		if (key == null || preference == null)
+			return false;
+		
+		return key.equals(preference.getHighlightPreferenceKey())
+			|| key.equals(preference.getVerticalRulerPreferenceKey())
+			|| key.equals(preference.getOverviewRulerPreferenceKey())
+			|| key.equals(preference.getTextPreferenceKey());
 	}
 
 	/**
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorMessages.properties b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorMessages.properties
index ae6a211..c9a42c1 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorMessages.properties
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaEditorMessages.properties
@@ -241,12 +241,25 @@
 SourceAttachmentDialog.error.title=Error Attaching Source
 SourceAttachmentDialog.error.message=An error occurred while associating the source
 
-JavaSelectAnnotationRulerAction.tooltip=Quick Fix
-JavaSelectAnnotationRulerAction.image=
-JavaSelectAnnotationRulerAction.description=Runs Quick Fix on the Marker's Line
-JavaSelectAnnotationRulerAction.label=&Quick Fix
-JavaSelectAnnotationRulerAction.error.dialog.title=Quick Fix
-JavaSelectAnnotationRulerAction.error.dialog.message=Problem when running quick fix
+JavaSelectAnnotationRulerAction.QuickFix.label= &Quick Fix
+JavaSelectAnnotationRulerAction.QuickFix.tooltip= Quick Fix
+JavaSelectAnnotationRulerAction.QuickFix.description= Runs Quick Fix on the annotation's line
+JavaSelectAnnotationRulerAction.QuickFix.image=
+
+JavaSelectAnnotationRulerAction.QuickAssist.label= Quick &Assist
+JavaSelectAnnotationRulerAction.QuickAssist.tooltip= Quick Assist
+JavaSelectAnnotationRulerAction.QuickAssist.description= Runs Quick Assist on the annotation's line
+JavaSelectAnnotationRulerAction.QuickAssist.image=
+
+JavaSelectAnnotationRulerAction.GotoAnnotation.label= &Go to Annotation
+JavaSelectAnnotationRulerAction.GotoAnnotation.tooltip= Go to Annotation
+JavaSelectAnnotationRulerAction.GotoAnnotation.description= Selects the annotation in the editor
+JavaSelectAnnotationRulerAction.GotoAnnotation.image=
+
+JavaSelectAnnotationRulerAction.OpenSuperImplementation.label= &Open Super Implementation
+JavaSelectAnnotationRulerAction.OpenSuperImplementation.tooltip= Open Super Implementation
+JavaSelectAnnotationRulerAction.OpenSuperImplementation.description= Opens the super implementation
+JavaSelectAnnotationRulerAction.OpenSuperImplementation.image=
 
 EditorUtility.concatModifierStrings= {0} + {1}
 
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaSelectAnnotationRulerAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaSelectAnnotationRulerAction.java
index c20722d..bc69350 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaSelectAnnotationRulerAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaSelectAnnotationRulerAction.java
@@ -12,18 +12,14 @@
 
 import java.util.Iterator;
 import java.util.ResourceBundle;
-
 import org.eclipse.jface.preference.IPreferenceStore;
-
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.ITextOperationTarget;
 import org.eclipse.jface.text.Position;
 import org.eclipse.jface.text.source.Annotation;
 import org.eclipse.jface.text.source.IAnnotationAccessExtension;
 import org.eclipse.jface.text.source.IVerticalRulerInfo;
-
 import org.eclipse.ui.editors.text.EditorsUI;
-
 import org.eclipse.ui.help.WorkbenchHelp;
 import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
 import org.eclipse.ui.texteditor.AnnotationPreference;
@@ -31,9 +27,7 @@
 import org.eclipse.ui.texteditor.ITextEditor;
 import org.eclipse.ui.texteditor.ITextEditorExtension;
 import org.eclipse.ui.texteditor.SelectMarkerRulerAction;
-
 import org.eclipse.jdt.ui.PreferenceConstants;
-
 import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
 import org.eclipse.jdt.internal.ui.JavaPlugin;
 import org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor;
@@ -53,9 +47,12 @@
 	private Annotation fAnnotation;
 	private AnnotationPreferenceLookup fAnnotationPreferenceLookup;
 	private IPreferenceStore fStore;
+	private boolean fHasCorrection;
+	private ResourceBundle fBundle;
 
 	public JavaSelectAnnotationRulerAction(ResourceBundle bundle, String prefix, ITextEditor editor, IVerticalRulerInfo ruler) {
 		super(bundle, prefix, editor, ruler);
+		fBundle= bundle;
 		fTextEditor= editor;
 		
 		fAnnotationPreferenceLookup= EditorsUI.getAnnotationPreferenceLookup();
@@ -68,35 +65,48 @@
 		if (JavaPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_ANNOTATION_ROLL_OVER))
 			return;
 
-		if (fPosition != null) {
-			if (fAnnotation instanceof OverrideIndicatorManager.OverrideIndicator) {
-				((OverrideIndicatorManager.OverrideIndicator)fAnnotation).open();
-				return;
-			}
-			
+		if (fAnnotation instanceof OverrideIndicatorManager.OverrideIndicator) {
+			((OverrideIndicatorManager.OverrideIndicator)fAnnotation).open();
+			return;
+		}
+		
+		if (fHasCorrection) {
 			ITextOperationTarget operation= (ITextOperationTarget) fTextEditor.getAdapter(ITextOperationTarget.class);
 			final int opCode= CompilationUnitEditor.CORRECTIONASSIST_PROPOSALS;
 			if (operation != null && operation.canDoOperation(opCode)) {
 				fTextEditor.selectAndReveal(fPosition.getOffset(), fPosition.getLength());
 				operation.doOperation(opCode);
-				return;
 			}
 			return;
 		}
+
 		super.run();
 	}
 	
 	public void update() {
 		findJavaAnnotation();
-		if (fPosition != null)
-			setEnabled(true);
-		else
-			super.update();
+		setEnabled(true); // super.update() might change this later
+
+		if (fAnnotation instanceof OverrideIndicatorManager.OverrideIndicator) {
+			initialize(fBundle, "JavaSelectAnnotationRulerAction.OpenSuperImplementation."); //$NON-NLS-1$
+			return;
+		}
+		if (fHasCorrection) {
+			if (fAnnotation instanceof AssistAnnotation)
+				initialize(fBundle, "JavaSelectAnnotationRulerAction.QuickAssist."); //$NON-NLS-1$
+			else
+				initialize(fBundle, "JavaSelectAnnotationRulerAction.QuickFix."); //$NON-NLS-1$
+			return;
+		}
+		
+		initialize(fBundle, "JavaSelectAnnotationRulerAction.GotoAnnotation."); //$NON-NLS-1$;
+		super.update();
 	}
 	
 	private void findJavaAnnotation() {
 		fPosition= null;
 		fAnnotation= null;
+		fHasCorrection= false;
 		
 		AbstractMarkerAnnotationModel model= getAnnotationModel();
 		IAnnotationAccessExtension annotationAccess= getAnnotationAccessExtension();
@@ -115,8 +125,11 @@
 			if (annotation.isMarkedDeleted())
 				continue;
 				
-			if (annotationAccess != null && annotationAccess.getLayer(annotation) < layer)
-				continue;
+			int annotationLayer= annotationAccess.getLayer(annotation);
+			if (annotationAccess != null) {
+				if (annotationLayer < layer)
+					continue;
+			}
 
 			Position position= model.getPosition(annotation);
 			if (!includesRulerLine(position, document))
@@ -129,6 +142,8 @@
 						|| (annotation instanceof IJavaAnnotation && JavaCorrectionProcessor.hasCorrections((IJavaAnnotation)annotation))))) {
 				fPosition= position;
 				fAnnotation= annotation;
+				fHasCorrection= true;
+				layer= annotationLayer;
 				continue;
 			} else {
 				AnnotationPreference preference= fAnnotationPreferenceLookup.getAnnotationPreference(annotation);
@@ -142,6 +157,8 @@
 				if (fStore.getBoolean(key)) {
 					fPosition= position;
 					fAnnotation= annotation;
+					fHasCorrection= false;
+					layer= annotationLayer;
 				}
 			}
 		}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/OverrideIndicatorManager.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/OverrideIndicatorManager.java
index bc0bcbf..bb11731 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/OverrideIndicatorManager.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/OverrideIndicatorManager.java
@@ -14,28 +14,13 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-
 import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-
 import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.Position;
 import org.eclipse.jface.text.source.Annotation;
 import org.eclipse.jface.text.source.IAnnotationModel;
 import org.eclipse.jface.text.source.IAnnotationModelExtension;
-
-import org.eclipse.ui.editors.text.EditorsUI;
-
 import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.texteditor.AnnotationPreference;
-
 import org.eclipse.jdt.core.IClassFile;
 import org.eclipse.jdt.core.ICompilationUnit;
 import org.eclipse.jdt.core.IJavaElement;
@@ -50,11 +35,9 @@
 import org.eclipse.jdt.core.dom.ITypeBinding;
 import org.eclipse.jdt.core.dom.MethodDeclaration;
 import org.eclipse.jdt.core.dom.SimpleName;
-
 import org.eclipse.jdt.internal.corext.dom.Bindings;
 import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
 import org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache;
-
 import org.eclipse.jdt.internal.ui.JavaPlugin;
 import org.eclipse.jdt.internal.ui.actions.OpenActionUtil;
 import org.eclipse.jdt.internal.ui.text.java.IJavaReconcilingListener;
@@ -120,7 +103,9 @@
 						IType[] superTypes= th.getAllSupertypes(type);
 						
 						IMethodBinding definingMethodBinding= Bindings.findMethodDefininition(methodBinding);
-						IType definingType= findType(superTypes, definingMethodBinding.getDeclaringClass().getQualifiedName());
+						IType definingType= null;
+						if (definingMethodBinding != null)
+							definingType= findType(superTypes, definingMethodBinding.getDeclaringClass().getQualifiedName());
 						
 						if (definingType != null) {
 							IMethod definingMethod= Bindings.findMethod(definingMethodBinding, definingType);
@@ -142,7 +127,7 @@
 		}
 		
 		private IType getType(IMethodBinding methodBinding) throws JavaModelException {
-			if (fJavaElement == null || methodBinding == null)
+			if (methodBinding == null)
 				return null;
 			
 			int type= fJavaElement.getElementType();
@@ -171,126 +156,30 @@
 	
 	static final String ANNOTATION_TYPE= "org.eclipse.jdt.ui.overrideIndicator"; //$NON-NLS-1$
 
-	private OverrideIndicatorJob fOverrideIndicatorJob;
 	private IAnnotationModel fAnnotationModel;
-	private AnnotationPreference fAnnotationPreference;
 	private Annotation[] fOverrideAnnotations;
 	private boolean fCancelled= false;
 	private IJavaElement fJavaElement;
 
 	
 	public OverrideIndicatorManager(IAnnotationModel annotationModel, IJavaElement javaElement, CompilationUnit ast) {
-		this(annotationModel);
+		Assert.isNotNull(annotationModel);
+		Assert.isNotNull(javaElement);
+		
 		fJavaElement= javaElement;
+		fAnnotationModel=annotationModel; 
+
 		updateAnnotations(ast);
 	}
-	
-	public OverrideIndicatorManager(IAnnotationModel annotationModel) {
-		Assert.isNotNull(annotationModel);
-		fAnnotationModel=annotationModel; 
-		
-		fAnnotationPreference= EditorsUI.getAnnotationPreferenceLookup().getAnnotationPreferenceFragment(ANNOTATION_TYPE);
-	}
-	
-
-	/**
-	 * Creates and adds the override annotations.
-	 * 
-	 * XXX: Delete if not needed. 
-	 */
-	class OverrideIndicatorJob extends Job {
-		
-		private IDocument fDocument;
-		private IProgressMonitor fProgressMonitor;
-		private Position[] fPositions;
-
-		public OverrideIndicatorJob(Position[] positions) {
-			this(null, positions);
-		}
-
-		public OverrideIndicatorJob(IDocument document, Position[] positions) {
-			super("Override Indicator"); //$NON-NLS-1$
-			fDocument= document;
-			fPositions= positions;
-		}
-		
-		private boolean isCancelled() {
-			return fCancelled || fProgressMonitor.isCanceled();
-		}
-		
-		/*
-		 * @see Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public IStatus run(IProgressMonitor progressMonitor) {
-			
-			fProgressMonitor= progressMonitor;
-			
-			if (isCancelled())
-				return Status.CANCEL_STATUS;
-			
-			// Add annotations
-			int length= fPositions.length;
-			Map annotationMap= new HashMap(length);
-			for (int i= 0; i < length; i++) {
-				
-				if (isCancelled())
-					return Status.CANCEL_STATUS; 
-				
-				String message;
-				Position position= fPositions[i];
-				
-				// Create & add annotation
-				try {
-					// FIXME
-					message= "document.get(position.offset, position.length)";
-					if (false)
-						throw new BadLocationException();
-				} catch (BadLocationException ex) {
-					// Skip this match
-					continue;
-				}
-				annotationMap.put(
-						new Annotation(ANNOTATION_TYPE, false, message), //$NON-NLS-1$
-						position);
-			}
-			
-			if (isCancelled())
-				return Status.CANCEL_STATUS;
-			
-			synchronized (fAnnotationModel) {
-				if (fAnnotationModel instanceof IAnnotationModelExtension) {
-					((IAnnotationModelExtension)fAnnotationModel).replaceAnnotations(fOverrideAnnotations, annotationMap);
-				} else {
-					removeAnnotations();
-					Iterator iter= annotationMap.entrySet().iterator();
-					while (iter.hasNext()) {
-						Map.Entry mapEntry= (Map.Entry)iter.next(); 
-						fAnnotationModel.addAnnotation((Annotation)mapEntry.getKey(), (Position)mapEntry.getValue());
-					}
-				}
-				fOverrideAnnotations= (Annotation[])annotationMap.keySet().toArray(new Annotation[annotationMap.keySet().size()]);
-			}
-
-			return Status.OK_STATUS;
-		}
-	}	
 
 	/**
 	 * Updates the override and implements annotations based
 	 * on the given AST.
 	 * 
-	 * @param ast the compilation unit ast
+	 * @param ast the compilation unit AST
 	 * @since 3.0
 	 */
 	protected void updateAnnotations(CompilationUnit ast) {
-
-		if (fOverrideIndicatorJob != null)
-			fOverrideIndicatorJob.cancel();
-
-		if (!showOverrideIndicators()) {
-			removeAnnotations();
-			return;
-		}
 		
 		if (ast == null)
 			return;
@@ -346,16 +235,6 @@
 			}
 			fOverrideAnnotations= (Annotation[])annotationMap.keySet().toArray(new Annotation[annotationMap.keySet().size()]);
 		}
-		
-		// XXX: code we might want to use when processing the annotations in a separate job 
-		
-//		Position[] positions= (Position[])matches.toArray(new Position[matches.size()]);
-//		
-//		fOverrideIndicatorJob= new OverrideIndicatorJob(positions);
-//		//fOccurrencesFinderJob.setPriority(Job.DECORATE);
-//		//fOccurrencesFinderJob.setSystem(true);
-//		//fOccurrencesFinderJob.schedule();
-//		fOverrideIndicatorJob.run(new NullProgressMonitor());
 	}
 
 	/**
@@ -376,19 +255,6 @@
 		}
 	}
 
-	/**
-	 * Tells whether override indicators are shown.
-	 * 
-	 * @return <code>true</code> if the override indicators are shown
-	 */
-	private boolean showOverrideIndicators() {
-		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();
-		return store.getBoolean(fAnnotationPreference.getHighlightPreferenceKey())
-			|| store.getBoolean(fAnnotationPreference.getVerticalRulerPreferenceKey())
-			|| store.getBoolean(fAnnotationPreference.getOverviewRulerPreferenceKey())
-			|| store.getBoolean(fAnnotationPreference.getTextPreferenceKey());
-	}
-
 	/*
 	 * @see org.eclipse.jdt.internal.ui.text.java.IJavaReconcilingListener#aboutToBeReconciled()
 	 */
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/EditTemplateDialog.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/EditTemplateDialog.java
index f1e443d..7359390 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/EditTemplateDialog.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/EditTemplateDialog.java
@@ -15,10 +15,12 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.StyledText;
 import org.eclipse.swt.custom.VerifyKeyListener;
 import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionEvent;
@@ -36,6 +38,7 @@
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.swt.widgets.Widget;
+
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.GroupMarker;
 import org.eclipse.jface.action.IAction;
@@ -47,25 +50,31 @@
 import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
+
 import org.eclipse.jface.text.Document;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.ITextListener;
 import org.eclipse.jface.text.ITextOperationTarget;
 import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.ITextViewerExtension;
 import org.eclipse.jface.text.TextEvent;
 import org.eclipse.jface.text.source.ISourceViewer;
 import org.eclipse.jface.text.source.SourceViewer;
 import org.eclipse.jface.text.templates.ContextType;
 import org.eclipse.jface.text.templates.Template;
+
 import org.eclipse.ui.help.WorkbenchHelp;
 import org.eclipse.ui.texteditor.ChainedPreferenceStore;
 import org.eclipse.ui.texteditor.ITextEditorActionConstants;
 import org.eclipse.ui.texteditor.IUpdate;
 import org.eclipse.ui.texteditor.PreferencesAdapter;
+
 import org.eclipse.jdt.ui.IContextMenuConstants;
 import org.eclipse.jdt.ui.PreferenceConstants;
 import org.eclipse.jdt.ui.text.JavaTextTools;
+
 import org.eclipse.jdt.internal.corext.template.java.JavaTemplateMessages;
+
 import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
 import org.eclipse.jdt.internal.ui.JavaPlugin;
 import org.eclipse.jdt.internal.ui.dialogs.StatusDialog;
@@ -343,11 +352,21 @@
 			}
 		});
 
-		viewer.prependVerifyKeyListener(new VerifyKeyListener() {
-			public void verifyKey(VerifyEvent event) {
-				handleVerifyKeyPressed(event);
-			}
-		});
+		if (viewer instanceof ITextViewerExtension) {
+			 ((ITextViewerExtension) viewer).prependVerifyKeyListener(new VerifyKeyListener() {
+				public void verifyKey(VerifyEvent event) {
+					handleVerifyKeyPressed(event);
+				}
+			});
+		} else {			
+			viewer.getTextWidget().addKeyListener(new KeyListener() {
+				public void keyPressed(KeyEvent e) {
+					handleKeyPressed(e);
+				}
+	
+				public void keyReleased(KeyEvent e) {}
+			});
+		}
 		
 		return viewer;
 	}
diff --git a/org.eclipse.ltk.core.refactoring.tests/.classpath b/org.eclipse.ltk.core.refactoring.tests/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ltk.core.refactoring.tests/.cvsignore b/org.eclipse.ltk.core.refactoring.tests/.cvsignore
deleted file mode 100644
index fe99505..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-
diff --git a/org.eclipse.ltk.core.refactoring.tests/.project b/org.eclipse.ltk.core.refactoring.tests/.project
deleted file mode 100644
index e824a4c..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ltk.core.refactoring.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.ltk.core.refactoring.tests/.template b/org.eclipse.ltk.core.refactoring.tests/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/org.eclipse.ltk.core.refactoring.tests/about.html b/org.eclipse.ltk.core.refactoring.tests/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/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.ltk.core.refactoring.tests/build.properties b/org.eclipse.ltk.core.refactoring.tests/build.properties
deleted file mode 100644
index f51ba8d..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               test.xml,\
-               about.html,\
-               plugin.properties,\
-               *.jar
-src.includes = about.html
-source.refcoretests.jar = src/
diff --git a/org.eclipse.ltk.core.refactoring.tests/plugin.properties b/org.eclipse.ltk.core.refactoring.tests/plugin.properties
deleted file mode 100644
index 7bc24bb..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= Refactoring Core Test Plug-in
-providerName= Eclipse.org
-
-participant.name= Participant
\ No newline at end of file
diff --git a/org.eclipse.ltk.core.refactoring.tests/plugin.xml b/org.eclipse.ltk.core.refactoring.tests/plugin.xml
deleted file mode 100644
index d2537eb..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ltk.core.refactoring.tests"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.ltk.core.refactoring.tests.RefactoringCoreTestPlugin">
-
-   <runtime>
-      <library name="refcoretests.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ltk.core.refactoring,org.eclipse.ltk.internal.core.refactoring"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ltk.core.refactoring"/>
-   </requires>
-</plugin>
diff --git a/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/AllTests.java b/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/AllTests.java
deleted file mode 100644
index d9a2628..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/AllTests.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.ltk.core.refactoring.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-	
-	public static Test suite() {
-		TestSuite suite= new TestSuite("All LTK Refactoring Core Tests"); //$NON-NLS-1$
-		suite.addTestSuite(EmptySuite.class);
-		return suite;
-	}
-}
-
diff --git a/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/EmptySuite.java b/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/EmptySuite.java
deleted file mode 100644
index eb4ef07..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/EmptySuite.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.tests;
-
-import junit.framework.TestCase;
-
-public class EmptySuite extends TestCase {
-
-	public void test0() {
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/RefactoringCoreTestPlugin.java b/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/RefactoringCoreTestPlugin.java
deleted file mode 100644
index 39b8109..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/src/org/eclipse/ltk/core/refactoring/tests/RefactoringCoreTestPlugin.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.tests;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Plugin;
-
-public class RefactoringCoreTestPlugin extends Plugin {
-	
-	private static RefactoringCoreTestPlugin fgDefault;
-	
-	public RefactoringCoreTestPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgDefault= this;
-	}
-
-	public static RefactoringCoreTestPlugin getDefault() {
-		return fgDefault;
-	}
-	
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}	
-}
diff --git a/org.eclipse.ltk.core.refactoring.tests/test.xml b/org.eclipse.ltk.core.refactoring.tests/test.xml
deleted file mode 100644
index 77098b0..0000000
--- a/org.eclipse.ltk.core.refactoring.tests/test.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.ltk.core.refactoring.tests"/>
-  <property name="library-file"
-            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="refactoring-core-folder" 
-              value="${eclipse-home}/refactoring_core_folder"/>
-    <delete dir="${refactoring-core-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${refactoring-core-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.ltk.core.refactoring.tests.AllTests"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-</project>
diff --git a/org.eclipse.ltk.core.refactoring/.classpath b/org.eclipse.ltk.core.refactoring/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.ltk.core.refactoring/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ltk.core.refactoring/.cvsignore b/org.eclipse.ltk.core.refactoring/.cvsignore
deleted file mode 100644
index fe99505..0000000
--- a/org.eclipse.ltk.core.refactoring/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-
diff --git a/org.eclipse.ltk.core.refactoring/.project b/org.eclipse.ltk.core.refactoring/.project
deleted file mode 100644
index 90d3e96..0000000
--- a/org.eclipse.ltk.core.refactoring/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ltk.core.refactoring</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.ltk.core.refactoring/about.html b/org.eclipse.ltk.core.refactoring/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.ltk.core.refactoring/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.ltk.core.refactoring/build.properties b/org.eclipse.ltk.core.refactoring/build.properties
deleted file mode 100644
index 503a60c..0000000
--- a/org.eclipse.ltk.core.refactoring/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               *.jar
-src.includes = about.html,\
-               schema/
-source.refcore.jar = src/
diff --git a/org.eclipse.ltk.core.refactoring/plugin.properties b/org.eclipse.ltk.core.refactoring/plugin.properties
deleted file mode 100644
index 5cd6d24..0000000
--- a/org.eclipse.ltk.core.refactoring/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= Refactoring Core
-providerName= Eclipse.org
-
-renameParticipantsExtensionPoint= Rename Participants
-createParticipantsExtensionPoint= Create Participants
-deleteParticipantsExtensionPoint= Delete Participants
-moveParticipantsExtensionPoint= Move Participants
-copyParticipantsExtensionPoint= Copy Participants
diff --git a/org.eclipse.ltk.core.refactoring/plugin.xml b/org.eclipse.ltk.core.refactoring/plugin.xml
deleted file mode 100644
index 95fc466..0000000
--- a/org.eclipse.ltk.core.refactoring/plugin.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ltk.core.refactoring"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.ltk.internal.core.refactoring.RefactoringCorePlugin">
-
-   <runtime>
-      <library name="refcore.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ltk.core.refactoring,org.eclipse.ltk.internal.core.refactoring"/>
-      </library>
-   </runtime>
-   
-   <requires>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-   </requires>
-
-   <extension-point id="renameParticipants" name="%renameParticipantsExtensionPoint" schema="schema/renameParticipants.exsd"/>
-   <extension-point id="moveParticipants" name="%moveParticipantsExtensionPoint"  schema="schema/moveParticipants.exsd"/>
-   <extension-point id="createParticipants" name="%createParticipantsExtensionPoint" schema="schema/createParticipants.exsd"/>
-   <extension-point id="deleteParticipants" name="%deleteParticipantsExtensionPoint"  schema="schema/deleteParticipants.exsd"/>
-   <extension-point id="copyParticipants" name="%copyParticipantsExtensionPoint"  schema="schema/copyParticipants.exsd"/>
-
-</plugin>
diff --git a/org.eclipse.ltk.core.refactoring/schema/copyParticipants.exsd b/org.eclipse.ltk.core.refactoring/schema/copyParticipants.exsd
deleted file mode 100644
index de5eec4..0000000
--- a/org.eclipse.ltk.core.refactoring/schema/copyParticipants.exsd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ltk.core.refactoring">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ltk.core.refactoring" id="copyParticipants" name="Copy Participants"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to define refactoring copy participants.
-      </documentation>
-   </annotation>
-
-<!--
-   <include schemaLocation="commonExpressionLanguage.mxsd"/>
--->
-   <element name="copyParticipants">
-      <complexType>
-         <sequence>
-            <element ref="copyParticipant" 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>
-      </complexType>
-   </element>
-
-   <element name="copyParticipant">
-      <complexType>
-         <all>
-            <!--
-            <element ref="enablement"/>
-            -->
-         </all>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique identifier for the copy participant.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a human reabable name of the copy participant
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the class that provides the participant implementation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ltk.core.refactoring.participants.CopyParticipant"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The contributed class must extend &lt;code&gt;org.eclipse.ltk.core.refactoring.participants.CopyParticipant&lt;/code&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2004 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.ltk.core.refactoring/schema/createParticipants.exsd b/org.eclipse.ltk.core.refactoring/schema/createParticipants.exsd
deleted file mode 100644
index fae9914..0000000
--- a/org.eclipse.ltk.core.refactoring/schema/createParticipants.exsd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ltk.core.refactoring">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ltk.core.refactoring" id="createParticipants" name="Create Participants"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to define refactoring create participants.
-      </documentation>
-   </annotation>
-
-<!--
-   <include schemaLocation="commonExpressionLanguage.mxsd"/>
--->
-   <element name="createParticipants">
-      <complexType>
-         <sequence>
-            <element ref="createParticipant" 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>
-      </complexType>
-   </element>
-
-   <element name="createParticipant">
-      <complexType>
-         <all>
-            <!--
-            <element ref="enablement"/>
-            -->
-         </all>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique identifier for the create participant.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a human reabable name of the create participant
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the class that provides the participant implementation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ltk.core.refactoring.participants.CreateParticipant"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The contributed class must extend &lt;code&gt;org.eclipse.ltk.core.refactoring.participants.CreateParticipant&lt;/code&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2004 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.ltk.core.refactoring/schema/deleteParticipants.exsd b/org.eclipse.ltk.core.refactoring/schema/deleteParticipants.exsd
deleted file mode 100644
index 4a667aa..0000000
--- a/org.eclipse.ltk.core.refactoring/schema/deleteParticipants.exsd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ltk.core.refactoring">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ltk.core.refactoring" id="deleteParticipants" name="Delete Participants"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to define refactoring delete participants.
-      </documentation>
-   </annotation>
-
-<!--
-   <include schemaLocation="commonExpressionLanguage.mxsd"/>
--->
-   <element name="deleteParticipants">
-      <complexType>
-         <sequence>
-            <element ref="deleteParticipant" 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>
-      </complexType>
-   </element>
-
-   <element name="deleteParticipant">
-      <complexType>
-         <all>
-            <!--
-            <element ref="enablement"/>
-            -->
-         </all>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique identifier for the delete participant.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a human reabable name of the delete participant
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the class that provides the participant implementation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ltk.core.refactoring.participants.DeleteParticipant"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The contributed class must extend &lt;code&gt;org.eclipse.ltk.core.refactoring.participants.DeleteParticipant&lt;/code&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2004 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.ltk.core.refactoring/schema/moveParticipants.exsd b/org.eclipse.ltk.core.refactoring/schema/moveParticipants.exsd
deleted file mode 100644
index daa7fd9..0000000
--- a/org.eclipse.ltk.core.refactoring/schema/moveParticipants.exsd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ltk.core.refactoring">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ltk.core.refactoring" id="moveParticipants" name="Move Participants"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to define refactoring move participants.
-      </documentation>
-   </annotation>
-
-<!--
-   <include schemaLocation="commonExpressionLanguage.mxsd"/>
--->
-   <element name="moveParticipants">
-      <complexType>
-         <sequence>
-            <element ref="moveParticipant" 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>
-      </complexType>
-   </element>
-
-   <element name="moveParticipant">
-      <complexType>
-         <all>
-            <!--
-            <element ref="enablement"/>
-            -->
-         </all>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique identifier for the move participant.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a human reabable name of the move participant
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the class that provides the participant implementation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ltk.core.refactoring.participants.MoveParticipant"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The contributed class must extend &lt;code&gt;org.eclipse.ltk.core.refactoring.participants.MoveParticipant&lt;/code&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2004 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.ltk.core.refactoring/schema/renameParticipants.exsd b/org.eclipse.ltk.core.refactoring/schema/renameParticipants.exsd
deleted file mode 100644
index 335db4e..0000000
--- a/org.eclipse.ltk.core.refactoring/schema/renameParticipants.exsd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ltk.core.refactoring">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ltk.core.refactoring" id="renameParticipants" name="Rename Participants"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to define refactoring rename participants.
-      </documentation>
-   </annotation>
-
-<!--
-   <include schemaLocation="commonExpressionLanguage.mxsd"/>
--->
-   <element name="renameParticipants">
-      <complexType>
-         <sequence>
-            <element ref="renameParticipant" 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>
-      </complexType>
-   </element>
-
-   <element name="renameParticipant">
-      <complexType>
-         <all>
-            <!--
-            <element ref="enablement"/>
-            -->
-         </all>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique identifier for the rename participant.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a human reabable name of the rename participant
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the class that provides the participant implementation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ltk.core.refactoring.participants.RenameParticipant"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The contributed class must extend &lt;code&gt;org.eclipse.ltk.core.refactoring.participants.RenameParticipant&lt;/code&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2004 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.ltk.core.refactoring/scripts/exportplugin.xml b/org.eclipse.ltk.core.refactoring/scripts/exportplugin.xml
deleted file mode 100644
index 04ff7df..0000000
--- a/org.eclipse.ltk.core.refactoring/scripts/exportplugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<project name="org.eclipse.jdt.ui" default="export" basedir="..">
-<!-- build script to create a plugin from org.eclipse.core.expressions -->
-
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ltk.core.refactoring" />
-		<property name="version"  value="_3.0.0" />
-		<property name="dest"  value="${destdir}/${plugin}${version}" />
-	</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}/refcore.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/refcoresrc.zip">
-		    <fileset dir="src" />
-  		</zip>		
-	</target>
-</project>
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/Change.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/Change.java
deleted file mode 100644
index f394465..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/Change.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * Represents a generic change to the workbench. An <code>Change</code> object 
- * is typically created by calling <code>Refactoring.createChange()</code>.
- * <p>
- * Changes are best executed by using a {@link PerformChangeOperation}. If clients
- * execute a change directly then the following life cycle has to be honored:
- * <ul>
- *   <li>after a single change or a tree of changes has been created, the
- *       method <code>initializeValidationState</code> has to be called.</li>
- *   <li>the method <code>isValid</code> can be used to determine if a change
- *       can still be applied to the work space. If the method returns a {@link 
- *       RefactoringStatus} with a severity of FATAL then the change has to be 
- *       treated as invalid. Performing an invalid change isn't allowed and 
- *       results in an unspecified result. This method can be called multiple
- *       times.
- *   <li>then the method perform can be called. An disabled change should not
- *       be executed.</li>
- *   <li>the method dispose has to be called either after the perform method
- *       has been called or if a change is no longer needed. The second case
- *       for example occurs when the undo stack gets flushed and all change
- *       objects managed by the undo stack are no longer needed. The method
- *       dispose is typically implemented to unregister listeners register during the
- *       method <code>initializeValidationState</code>. There is no guarantee 
- *       that <code>initializeValidationState</code>, <code>isValid</code>
- *       or <code>perform</code> has been called, before <code>dispose</code>
- *       is called.
- * </ul>
- * Below a code snippet that can be used to execute a change:
- * <pre>
- *   Change change= createChange();
- *   try {
- *     change.initializeValidationState(pm);
- * 
- *     ....
- * 
- *     if (!change.isEnabled())
- *         return;
- *     RefactoringStatus valid= change.isValid(new SubProgressMonitor(pm, 1));
- *     if (valid.hasFatalError())
- *         return;
- *     Change undo= change.perform(new SubProgressMonitor(pm, 1));
- *     if (undo != null) {
- *        undo.initializeValidationState(new SubProgressMonitor(pm, 1));
- *        // do something with the undo object
- *     }
- *   } finally {
- *     change.dispose();
- *   }
- * </pre>
- * </p>
- * <p>
- * It is important that implementors of this abstract class provide an adequat 
- * implementation of <code>isValid</code> and that they provide an undo change
- * via the return value of the method <code>perform</code>. If no undo can be
- * provided then the perform method is allowed to return <code>null</code>. But
- * implementors should be aware that not providing an undo object for a change 
- * object that is part of a larger change tree will result in the fact that for
- * the whole change tree no undo object will be present.    
- * </p>
- * 
- * @since 3.0
- */
-public abstract class Change implements IAdaptable {
-
-	private Change fParent;
-	private boolean fIsEnabled= true;
-	
-	/**
-	 * Constructs a new change object.
-	 */
-	protected Change() {
-	}
-	
-	/**
-	 * Returns the human readable name of this change. The
-	 * name <em>MUST</em> not be <code>null</code>.
-	 * 
-	 * @return the human readable name of this change
-	 */
-	public abstract String getName();
-	
-	/**
-	 * Returns whether this change is enabled or not. Disabled changes
-	 * must not be executed.
-	 *
-	 * @return <code>true</code> if the change is enabled; <code>false</code>
-	 *  otherwise.
-	 */
-	public boolean isEnabled() {
-		return fIsEnabled;
-	}
-	
-	/**
-	 * Sets whether this change is enabled or not.
-	 *
-	 * @param enabled <code>true</code> to enable this change; <code>
-	 *  false</code> otherwise
-	 */
-	public void setEnabled(boolean enabled) {
-		fIsEnabled= enabled;
-	}
-	
-	/**
-	 * Returns the parent change. Returns <code>null</code> if no
-	 * parent exists.
-	 * 
-	 * @return the parent change
-	 */
-	public Change getParent() {
-		return fParent;
-	}
-	
-	/**
-	 * Sets the parent of this change. Requires that this change isn't already
-	 * connected to a parent. The parent can be <code>null</code> to disconnect
-	 * this change from a parent.
-	 * 
-	 * @param parent the parent of this change or <code>null</code>
-	 */
-	public void setParent(Change parent) {
-		if (parent != null)
-			Assert.isTrue(fParent == null);
-		fParent= parent;
-	}
-	
-	/**
-	 * Hook method to initialize some internal state to provide an adequat answer
-	 * for the <code>isValid</code> method. This method gets called after a change
-	 * or a whole change tree has been created. 
-	 * <p>
-	 * Typically this method is implemented in one of the following ways: 
-	 * <ul>
-	 *   <li>the change hooks up a listener on some delta notification mechanism
-	 *       and marks itself as invalid if it receives a certain delta. Is this 
-	 *       the case the implementor must take care of unhooking the listener
-	 *       in <code>dispose</code>.</li>
-	 *   <li>the change remembers some information allowing to decide if a change
-	 *       object is still valid when <code>isValid</code> is called.</li>
-	 * </ul>
-	 * <p>
-	 * For example, a change object that manipulates the content of an <code>IFile</code>
-	 * could either listen to resource changes and detect that the file got changed or
-	 * it could remember the time stamp and compare it with the actual time stamp when
-	 * <code>isValid</code> is called.
-	 * </p>
-	 * 
-	 * @param pm a progress monitor
-	 */
-	public abstract void initializeValidationData(IProgressMonitor pm);
-	
-	/**
-	 * Verifies that this change object is still valid and can be executed by calling 
-	 * <code>perform</code>. If a refactoring status  with a severity of {@link 
-	 * RefactoringStatus#FATAL} is returned then the change has to be treated as invalid 
-	 * and can no longer be executed. Performing such a change produces an unspecified 
-	 * result and will very likely throw an exception.
-	 * <p>
-	 * This method is also called by the {@link IUndoManager UndoManager} to decide if
-	 * an undo or redo change is still valid and therefore can be executed.
-	 * </p>
-	 * <p>
-	 * This method can be called multiple times before a change gets executed.
-	 * </p>
-	 * 
-	 * @param pm a progress monitor.
-	 * 
-	 * @return a refactoring status describing the outcome of the validation check
-	 * 
-	 * @throws CoreException if an error occurred during validation check. The change
-	 *  is to be treated as invalid if an exception occurs
-	 */
-	public abstract RefactoringStatus isValid(IProgressMonitor pm) throws CoreException;
-	
-	/**
-	 * Performs this change. If this method is call on an invalid or disabled change 
-	 * object the result is unspecified.  
-	 * 
-	 * @param pm a progress monitor
-	 * 
-	 * @return the undo change for this change object or <code>null</code> if no
-	 *  undo is provided
-	 * 
-	 * @throws CoreException if an error occurred during change execution
-	 */
-	public abstract Change perform(IProgressMonitor pm) throws CoreException;
-	
-	/**
-	 * Disposes this change. Subclasses that override this method typically 
-	 * unregister listeners which got registered during the call to <code>
-	 * initializeValidationState</code>. 
-	 * <p>
-	 * Subclasses may override this method.
-	 * </p>
-	 */
-	public void dispose() {
-		// empty default implementation
-	}
-	 
-	/**
-	 * Returns the element modified by this <code>Change</code>. The method may return 
-	 * <code>null</code> if the change isn't related to an element.
-	 * 
-	 * @return the element modified by this change
-	 */
-	public abstract Object getModifiedElement();
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getAdapter(Class adapter) {
-		if (fParent == null)
-			return null;
-		return fParent.getAdapter(adapter);
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CheckConditionsOperation.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CheckConditionsOperation.java
deleted file mode 100644
index 7b137ec..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CheckConditionsOperation.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * Operation that, when run, check preconditions of the {@link Refactoring}
- * passed on creation.
- * 
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @see org.eclipse.ltk.core.refactoring.Refactoring#checkInitialConditions(IProgressMonitor)
- * @see org.eclipse.ltk.core.refactoring.Refactoring#checkFinalConditions(IProgressMonitor)
- * @see org.eclipse.ltk.core.refactoring.Refactoring#checkAllConditions(IProgressMonitor)
- * 
- * @since 3.0
- */
-public class CheckConditionsOperation implements IWorkspaceRunnable {
-	
-	private Refactoring fRefactoring;
-	private int fStyle;
-	private RefactoringStatus fStatus;
-	
-	/** Flag indicating that no conditions will be checked */
-	public final static int NONE=				0;
-	/** Flag indicating that only initial conditions will be checked*/
-	public final static int INITIAL_CONDITONS=	1 << 1;
-	/** Flag indicating that ony final conditiions will be checked */
-	public final static int FINAL_CONDITIONS=	1 << 2;
-	/** Flag indicating that all conditions will be checked */
-	public final static int ALL_CONDITIONS=		INITIAL_CONDITONS | FINAL_CONDITIONS;
-	
-	private final static int LAST=          	1 << 3;
-	
-	/**
-	 * Creates a new <code>CheckConditionsOperation</code>.
-	 * 
-	 * @param refactoring the refactoring for which the preconditions are to
-	 *  be checked.
-	 * @param style style to define which conditions to check. Must be one of
-	 *  <code>INITIAL_CONDITONS</code>, <code>FINAL_CONDITIONS</code> or 
-	 *  <code>ALL_CONDITIONS</code>
-	 */
-	public CheckConditionsOperation(Refactoring refactoring, int style) {
-		Assert.isNotNull(refactoring);
-		fRefactoring= refactoring;
-		fStyle= style;
-		Assert.isTrue(checkStyle(fStyle));
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void run(IProgressMonitor pm) throws CoreException {
-		try {
-			fStatus= null;
-			if ((fStyle & ALL_CONDITIONS) == ALL_CONDITIONS)
-				fStatus= fRefactoring.checkAllConditions(pm);
-			else if ((fStyle & INITIAL_CONDITONS) == INITIAL_CONDITONS)
-				fStatus= fRefactoring.checkInitialConditions(pm);
-			else if ((fStyle & FINAL_CONDITIONS) == FINAL_CONDITIONS)
-				fStatus= fRefactoring.checkFinalConditions(pm);
-		} finally {
-			pm.done();
-		}
-	}
-
-	/**
-	 * Returns the outcome of the operation or <code>null</code> if an exception 
-	 * has occurred while performing the operation.
-	 * 
-	 * @return the {@link RefactoringStatus} of the condition checking
-	 */
-	public RefactoringStatus getStatus() {
-		return fStatus;
-	}
-	
-	/**
-	 * Returns the operation's refactoring
-	 * 
-	 * @return the operation's refactoring
-	 */
-	public Refactoring getRefactoring() {
-		return fRefactoring;
-	}
-	
-	/**
-	 * Returns the condition checking style.
-	 * 
-	 * @return the condition checking style
-	 */
-	public int getStyle() {
-		return fStyle;
-	}
-	
-	private boolean checkStyle(int style) {
-		return style > NONE && style < LAST;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CompositeChange.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CompositeChange.java
deleted file mode 100644
index b535123..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CompositeChange.java
+++ /dev/null
@@ -1,361 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-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.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.RefactoringCoreMessages;
-import org.eclipse.ltk.internal.core.refactoring.RefactoringCorePlugin;
-
-/**
- * Represents a composite change. Composite changes can be marked
- * as synthetic. Synthetic composite changes will not be shown in the
- * refactoring preview tree. When rendering the change tree the children 
- * of a synthetic composite change will be shown as children of the
- * parent change.
- * 
- * @see Change
- * 
- * @since 3.0
- */
-public class CompositeChange extends Change {
-
-	private String fName;
-	private List fChanges;
-	private boolean fIsSynthetic;
-	private Change fUndoUntilException;
-	
-
-	/**
-	 * Creates a new composite change with the given name.
-	 * 
-	 * @param name the human readable name of the change 
-	 */
-	public CompositeChange(String name) {
-		this(name, new ArrayList(5));
-	}
-	
-	/**
-	 * Creates a new composite change with the given name and array
-	 * of children.
-	 * 
-	 * @param name the human readable name of the change
-	 * @param children the initial array of children
-	 */
-	public CompositeChange(String name, Change[] children) {
-		this(name, new ArrayList(children.length));
-		addAll(children);
-	}
-			
-	private CompositeChange(String name, List changes) {
-		Assert.isNotNull(changes);
-		Assert.isNotNull(name);
-		fChanges= changes;
-		fName= name;
-	}
-	
-	/**
-	 * Returns whether this change is synthetic or not.
-	 * 
-	 * @return <code>true</code>if this change is synthetic; otherwise
-	 *  <code>false</code>
-	 */
-	public boolean isSynthetic() {
-		return fIsSynthetic;
-	}
-
-	/**
-	 * Marks this change as synthetic.
-	 */
-	public void markAsSynthetic() {
-		fIsSynthetic= true;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * Adds the given change to the list of children.
-	 * 
-	 * @param change the change to add
-	 */
-	public void add(Change change) {
-		if (change != null) {
-			Assert.isTrue(change.getParent() == null);
-			fChanges.add(change);
-			change.setParent(this);
-		}
-	}
-	
-	/**
-	 * Adds all changes in the given array to the list of children.
-	 * 
-	 * @param changes the changes to add
-	 */
-	public void addAll(Change[] changes) {
-		for (int i= 0; i < changes.length; i++) {
-			add(changes[i]);
-		}
-	}
-	
-	/**
-	 * Merges the children of the given composite change into this
-	 * change. This means the changes are removed from the given
-	 * composite change and added to this change.
-	 * 
-	 * @param change the change to merge
-	 */
-	public void merge(CompositeChange change) {
-		Change[] others= change.getChildren();
-		for (int i= 0; i < others.length; i++) {
-			Change other= others[i];
-			change.remove(other);
-			add(other);
-		}
-	}
-	
-	/**
-	 * Removes the given change from the list of children.
-	 *
-	 * @param change the change to remove
-	 * 
-	 * @return <code>true</code> if the change contained the given
-	 *  child; otherwise <code>false</code> is returned
-	 */
-	public boolean remove(Change change) {
-		Assert.isNotNull(change);
-		boolean result= fChanges.remove(change);
-		if (result) {
-			change.setParent(null);
-		}
-		return result;
-		
-	}
-	
-	/**
-	 * Returns the children managed by this composite change. 
-	 * 
-	 * @return the children
-	 */
-	public Change[] getChildren() {
-		if (fChanges == null)
-			return null;
-		return (Change[])fChanges.toArray(new Change[fChanges.size()]);
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 * <p>
-	 * The composite change sends <code>setEnabled</code> to all its children.
-	 * </p>
-	 */
-	public void setEnabled(boolean enabled) {
-		for (Iterator iter= fChanges.iterator(); iter.hasNext(); ) {
-			((Change)iter.next()).setEnabled(enabled);
-		}
-	}	
-	/**
-	 * {@inheritDoc}
-	 * <p>
-	 * The composite change sends <code>initializeValidationData</code> to all its 
-	 * children.
-	 * </p>
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {
-		pm.beginTask("", fChanges.size()); //$NON-NLS-1$
-		for (Iterator iter= fChanges.iterator(); iter.hasNext();) {
-			Change change= (Change)iter.next();
-			change.initializeValidationData(new SubProgressMonitor(pm, 1));
-			pm.worked(1);
-		}
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 * <p>
-	 * The composite change sends <code>isValid</code> to all its children
-	 * until the first one returns a status with a severity of <code>FATAL
-	 * </code>. If one of the children throws an exception the remaining children
-	 * will not receive the <code>isValid</code> call.
-	 * </p>
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		RefactoringStatus result= new RefactoringStatus();
-		pm.beginTask("", fChanges.size()); //$NON-NLS-1$
-		for (Iterator iter= fChanges.iterator(); iter.hasNext() && !result.hasFatalError();) {
-			Change change= (Change)iter.next();
-			if (change.isEnabled())
-				result.merge(change.isValid(new SubProgressMonitor(pm, 1)));
-			else
-				pm.worked(1);
-		}
-		pm.done();
-		return result;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 * <p>
-	 * The composite change sends <code>perform</code> to all its <em>enabled</code>
-	 * children. If one of the children throws an exception the remaining children
-	 * will not receive the <code>perform</code> call. In this case the method <code>
-	 * getUndoUntilException</code> can be used to get an undo object containing the
-	 * undos of all executed children.
-	 * </p>
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		fUndoUntilException= null;
-		List undos= new ArrayList(fChanges.size());
-		pm.beginTask("", fChanges.size()); //$NON-NLS-1$
-		pm.setTaskName(RefactoringCoreMessages.getString("CompositeChange.performingChangesTask.name")); //$NON-NLS-1$
-		Change change= null;
-		try {
-			for (Iterator iter= fChanges.iterator(); iter.hasNext();) {
-				change= (Change)iter.next();
-				if (change.isEnabled()) {
-					Change undoChange= change.perform(new SubProgressMonitor(pm, 1));
-					if (undos != null) {
-						if (undoChange == null) {
-							undos= null;
-						} else {
-							undos.add(undoChange);
-						}
-					}
-				}
-			}
-			if (undos != null) {
-				Collections.reverse(undos);
-				return createUndoChange((Change[]) undos.toArray(new Change[undos.size()]));
-			} else {
-				return null;
-			}
-		} catch (CoreException e) {
-			handleUndos(change, undos);
-			throw e;
-		} catch (RuntimeException e) {
-			handleUndos(change, undos);
-			throw e;
-		}
-	}
-	
-	private void handleUndos(Change failedChange, List undos) {
-		if (undos == null) {
-			fUndoUntilException= null;
-			return;
-		}
-		if (failedChange instanceof CompositeChange) {
-			Change partUndoChange= ((CompositeChange)failedChange).getUndoUntilException();
-			if (partUndoChange != null) {
-				undos.add(partUndoChange);
-			}
-		}
-		if (undos.size() == 0) {
-			fUndoUntilException= new NullChange(getName());
-			return;
-		}
-		Collections.reverse(undos);
-		fUndoUntilException= createUndoChange((Change[]) undos.toArray(new Change[undos.size()]));
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * <p>
-	 * The composite change sends <code>dispose</code> to all its children. It is guaranteed
-	 * that all children receive the <code>dispose</code> call.
-	 * </p>
-	 */
-	public void dispose() {
-		for (Iterator iter= fChanges.iterator(); iter.hasNext(); ) {
-			final Change change= (Change)iter.next();
-			Platform.run(new ISafeRunnable() {
-				public void run() throws Exception {
-					change.dispose();
-				}
-				public void handleException(Throwable exception) {
-					RefactoringCorePlugin.log(exception);
-				}
-			});
-		}
-	}
-	
-	/**
-	 * Returns the undo object containing all undo changes of those children
-	 * that got successfully executed while performing this change. Returns
-	 * <code>null</code> if all changes were executed successfully.
-	 * 
-	 * @return the undo object containing all undo changes of those children
-	 *  that got successfully executed while performing this change
-	 */
-	public Change getUndoUntilException() {
-		return fUndoUntilException;
-	}
-		
-	/**
-	 * Hook to create an undo change.
-	 * 
-	 * @param childUndos the child undo. The undos appear in the
-	 *  list in the reverse order of their execution. So the first
-	 *  change in the array is the undo change of the last change
-	 *  that got executed.
-	 * 
-	 * @return the undo change
-	 * 
-	 * @throws CoreException if an undo change can't be created
-	 */
-	protected Change createUndoChange(Change[] childUndos) {
-		return new CompositeChange(getName(), childUndos);
-	}
-	
-	/**
-	 * This method is a framework internal method and shouldn't 
-	 * therefore not be overridden or extended by normal clients.
-	 * 
-	 * @param child the child change to be performed
-	 * @param pm a progress monitor to report progress
-	 * 
-	 * @return <code>true</code> if the change can be performed;
-	 *  other <code>false</code> is returned 
-	 */
-	protected boolean canPerformChange(Change child, IProgressMonitor pm) {
-		return true;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getModifiedElement() {
-		return null;
-	}
-
-	public String toString() {
-		StringBuffer buff= new StringBuffer();
-		buff.append(getName());
-		buff.append("\n"); //$NON-NLS-1$
-		for (Iterator iter= fChanges.iterator(); iter.hasNext();) {
-			buff.append("<").append(iter.next().toString()).append("/>\n"); //$NON-NLS-2$ //$NON-NLS-1$
-		}
-		return buff.toString();
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CreateChangeOperation.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CreateChangeOperation.java
deleted file mode 100644
index 8df23c1..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/CreateChangeOperation.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.ltk.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * Operation that, when performed, creates a {@link Change} object for a given
- * refactoring. If created with a refactoring object directly, no precondition
- * checking is performed. If created with a {@link CheckConditionsOperation} the
- * requested precondition checking is performed before creating the change.
- * <p>
- * If the precondition checking returns a fatal error or the status's severity
- * exceeds a certain threshold then no change will be created.
- * </p>
- * <p>
- * If a change has been created the operation calls {@link Change#initializeValidationData(IProgressMonitor)}
- * to initialize the change's validation data.
- * </p>
- * 
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @since 3.0
- */
-public class CreateChangeOperation implements IWorkspaceRunnable {
-
-	private Refactoring fRefactoring;
-	
-	private CheckConditionsOperation fCheckConditionOperation;
-	private int fCheckPassedSeverity;
-	
-	private Change fChange;
-	
-	/**
-	 * Creates a new operation with the given refactoring. No condition checking
-	 * is performed before creating the change object. It is assumed that the
-	 * condition checking has already been performed outside of this operation.
-	 * The operation might fail if the precondition checking has not been performed
-	 * yet.
-	 *
-	 * @param refactoring the refactoring for which the change is to be created
-	 */
-	public CreateChangeOperation(Refactoring refactoring) {
-		Assert.isNotNull(refactoring);
-		fRefactoring= refactoring;
-	}
-	
-	/**
-	 * Creates a new operation with the given {@link CheckConditionsOperation}. When
-	 * performed the operation first checks the conditions as specified by the <code>
-	 * CheckConditionsOperation</code>. Depending on the result of the condition 
-	 * checking a change object is created or not.
-	 * 
-	 * @param operation the condition checking operation
-	 * @param checkPassedSeverity the check passed severity value. This value is used to 
-	 *  decide whether the condition check is interpreted as passed or not. The condition 
-	 *  check is considered to be passed if the refactoring status's severity is less or 
-	 *  equal than the given severity value. The given value must be smaller than {@link 
-	 *  RefactoringStatus.FATAL}.
-	 * 
-	 * @see #setCheckPassedSeverity(int)
-	 */
-	public CreateChangeOperation(CheckConditionsOperation operation, int checkPassedSeverity) {
-		Assert.isNotNull(operation);
-		fCheckConditionOperation= operation;
-		fRefactoring= operation.getRefactoring();
-		Assert.isTrue (checkPassedSeverity < RefactoringStatus.FATAL);
-		fCheckPassedSeverity= checkPassedSeverity;
-	}
-	
-	/**
-	 * Returns the check passed severity.
-	 * 
-	 * @return the check passed severity
-	 * 
-	 * @see RefactoringStatus
-	 */
-	public int getCheckPassedSeverity() {
-		return fCheckPassedSeverity;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void run(IProgressMonitor pm) throws CoreException {
-		fChange= null;
-		try {
-			fChange= null;
-			if (fCheckConditionOperation != null) {
-				pm.beginTask("", 7); //$NON-NLS-1$
-				pm.subTask(""); //$NON-NLS-1$
-				fCheckConditionOperation.run(new SubProgressMonitor(pm, 4));
-				RefactoringStatus status= fCheckConditionOperation.getStatus();
-				if (status != null && status.getSeverity() <= fCheckPassedSeverity) {
-					fChange= fRefactoring.createChange(new SubProgressMonitor(pm, 2));
-					fChange.initializeValidationData(new SubProgressMonitor(pm, 1));
-				} else {
-					pm.worked(3);
-				}
-			} else {
-				pm.beginTask("", 3); //$NON-NLS-1$
-				fChange= fRefactoring.createChange(new SubProgressMonitor(pm, 2));
-				fChange.initializeValidationData(new SubProgressMonitor(pm, 1));
-			}
-		} finally {
-			pm.done();
-		}
-	}
-
-	/**
-	 * Returns the outcome of the operation or <code>null</code> if an exception 
-	 * occurred when performing the operation.
-	 * 
-	 * @return the created change or <code>null</code>
-	 */
-	public Change getChange() {
-		return fChange;
-	}
-	
-	/**
-	 * Returns the status of the condition checking. Returns <code>null</code> if
-	 * no condition checking has been requested.
-	 * 
-	 * @return the status of the condition checking
-	 */
-	public RefactoringStatus getConditionCheckingStatus() {
-		if (fCheckConditionOperation != null)
-			return fCheckConditionOperation.getStatus();
-		return null;
-	}
-	
-	/**
-	 * Returns the condition checking style as set to the {@link CheckConditionsOperation}.
-	 * If no condition checking operation is provided (e.g. the change is created directly
-	 * by calling {@link Refactoring#createChange(IProgressMonitor)} then {@link 
-	 * CheckConditionsOperation.NONE} is returned.
-	 * 
-	 * @return the condition checking style
-	 */
-	public int getConditionCheckingStyle() {
-		if (fCheckConditionOperation != null)
-			return fCheckConditionOperation.getStyle(); 
-		return CheckConditionsOperation.NONE;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/DocumentChange.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/DocumentChange.java
deleted file mode 100644
index 3810b8a..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/DocumentChange.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.text.edits.UndoEdit;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.TextChanges;
-import org.eclipse.ltk.internal.core.refactoring.UndoDocumentChange;
-
-/**
- * A text change that operates directly on instances of {@link IDocument}.
- * 
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @since 3.0
- */
-public class DocumentChange extends TextChange {
-
-	private IDocument fDocument;
-	private int fLength;
-	
-	/**
-	 * Creates a new <code>DocumentChange</code> for the given 
-	 * {@link IDocument}.
-	 * 
-	 * @param name the change's name. Has to be a human readable name.
-	 * @param document the document this change is working on
-	 */
-	public DocumentChange(String name, IDocument document) {
-		super(name);
-		Assert.isNotNull(document);
-		fDocument= document;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getModifiedElement(){
-		return fDocument;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {
-		// as long as we don't have modification stamps on documents
-		// we can only remember its length.
-		fLength= fDocument.getLength();
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		pm.beginTask("", 1); //$NON-NLS-1$
-		RefactoringStatus result= TextChanges.isValid(fDocument, fLength);
-		pm.worked(1);
-		return result;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	protected IDocument aquireDocument(IProgressMonitor pm) throws CoreException {
-		return fDocument;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void commit(IDocument document, IProgressMonitor pm) throws CoreException {
-		// do nothing
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void releaseDocument(IDocument document, IProgressMonitor pm) throws CoreException {
-		//do nothing
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected Change createUndoChange(UndoEdit edit) throws CoreException {
-		return new UndoDocumentChange(getName(), fDocument, edit);
-	}	
-}
-
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IRefactoringCoreStatusCodes.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IRefactoringCoreStatusCodes.java
deleted file mode 100644
index b99d534..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IRefactoringCoreStatusCodes.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-/**
- * Status codes used by the refactoring core plug-in.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.core.runtime.Status
- * 
- * @since 3.0
- */
-public abstract class IRefactoringCoreStatusCodes {
-
-	private IRefactoringCoreStatusCodes() {
-		// no instance 
-	}
-	
-	/**
-	 * Status code (value 10000) indicating an internal error.
-	 */
-	public static final int INTERNAL_ERROR= 10000;
-
-	/** 
-	 * Status code (value 10001) indicating that a bad location exception has 
-	 * occurred during change execution.
-	 */ 
-	public static final int BAD_LOCATION= 10001;
-	
-	/**
-	 * Status code (value 10002) indicating that an validateEdit call has changed the
-	 * content of a file on disk.
-	 */
-	public static final int VALIDATE_EDIT_CHANGED_CONTENT= 10002;
-	
-	/**
-	 * Status code (value 10003) indicating that a condition checker already exists
-	 * in a shared condition checking context.
-	 */
-	public static final int CHECKER_ALREADY_EXISTS_IN_CONTEXT= 10003;
-	
-	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManager.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManager.java
deleted file mode 100644
index a707885..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManager.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * An undo manager keeps track of performed changes. Use the method <code>addUndo</code>
- * to add change objects to the undo stack and <code>performUndo</code> and <code>
- * performRedo</code> to undo or redo changes.
- * <p>
- * This interface is not intended to be implemented or extended. Use the method <code>
- * RefactoringCore#createUndoManager</code> to create a new undo manager or the method
- * <code>RefactoringCore#getUndoManager()</code> to access the refactoring undo manager.
- * </p>
- * 
- * @since 3.0
- */
-public interface IUndoManager {
-
-	/**
-	 * Adds a listener to the undo manager.
-	 * 
-	 * @param listener the listener to be added to the undo manager
-	 */
-	public void addListener(IUndoManagerListener listener);
-	
-	/**
-	 * Removes the given listener from this undo manager.
-	 * 
-	 * @param listener the listener to be removed
-	 */
-	public void removeListener(IUndoManagerListener listener);
-	
-	/**
-	 * The infrastructure is going to perform the given change.
-	 * 
-	 * @param change the change to be performed.
-	 */
-	public void aboutToPerformChange(Change change);
-	
-	/**
-	 * The infrastructure has performed the given change.
-	 * 
-	 * @param change the change that was performed
-	 */
-	public void changePerformed(Change change);
-
-	/**
-	 * Adds a new undo change to this undo manager.
-	 * 
-	 * @param name the name presented on the undo stack for the provided
-	 *  undo change. The name must be human readable
-	 * @param change the undo change
-	 */
-	public void addUndo(String name, Change change);
-
-	/**
-	 * Returns <code>true</code> if there is anything to undo, otherwise
-	 * <code>false</code>.
-	 * 
-	 * @return <code>true</code> if there is anything to undo, otherwise
-	 *  <code>false</code>
-	 */
-	public boolean anythingToUndo();
-	
-	/**
-	 * Returns the name of the top most undo.
-	 * 
-	 * @return the top most undo name. Returns <code>null</code> if there 
-	 * aren't any changes to undo
-	 */
-	public String peekUndoName();
-	
-	/**
-	 * Undo the top most undo change.
-	 * 
-	 * @param pm a progress monitor to report progress during performing
-	 *  the undo change. The progress monitor must not be <code>null</code>
-	 * @return the validation status of the undone change.
-	 */	
-	public RefactoringStatus performUndo(IProgressMonitor pm) throws CoreException;
-
-	/**
-	 * Returns <code>true</code> if there is anything to redo, otherwise
-	 * <code>false</code>.
-	 * 
-	 * @return <code>true</code> if there is anything to redo, otherwise
-	 *  <code>false</code>
-	 */
-	public boolean anythingToRedo();
-	
-	/**
-	 * Returns the name of the top most redo.
-	 * 
-	 * @return the top most redo name. Returns <code>null</code> if there 
-	 * are no any changes to redo.
-	 */
-	public String peekRedoName();
-	
-	/**
-	 * Redo the top most redo change.
-	 * 
-	 * @param pm a progress monitor to report progress during performing
-	 *  the redo change. The progress monitor must not be <code>null</code>
-	 * @return the validation status of the redone change.
-	 */	
-	public RefactoringStatus performRedo(IProgressMonitor pm) throws CoreException;
-	
-	/**
-	 * Flushes the undo manager's undo and redo stacks.
-	 */	
-	public void flush();
-	
-	/**
-	 * Shut down the undo manager. 
-	 */
-	public void shutdown();
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManagerListener.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManagerListener.java
deleted file mode 100644
index df62f9b..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManagerListener.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-
-/**
- * Listener to monitor state changes of an {@link IUndoManager}.
- * 
- * @since 3.0
- */
-public interface IUndoManagerListener {
-	
-	/**
-	 * This method is called by the undo manager if an undo change has been 
-	 * added.
-	 * 
-	 * @param manager the manager this listener is registered to
-	 */
-	public void undoStackChanged(IUndoManager manager);
-	
-	/**
-	 * This method is called by the undo manager if a redo change has been 
-	 * added.
-	 * 
-	 * @param manager the manager this listener is registered to
-	 */
-	public void redoStackChanged(IUndoManager manager);
-	
-	/**
-	 * This method gets called by the undo manager if a change gets
-	 * executed for which a corresponding undo change will be pushed
-	 * onto the undo or redo stack.
-	 * 
-	 * @param manager the manager this listener is registered to
-	 * @param change the change to be executed
-	 */
-	public void aboutToPerformChange(IUndoManager manager, Change change);
-	
-	/**
-	 * This method gets called by the undo manager when a change has 
-	 * been executed. 
-	 * 
-	 * @param manager the manager this listener is registered to
-	 * @param change the change that has been executed
-	 */
-	public void changePerformed(IUndoManager manager, Change change);	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/NullChange.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/NullChange.java
deleted file mode 100644
index 854d47d..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/NullChange.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.ltk.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.RefactoringCoreMessages;
-
-/**
- * A refactoring change that does nothing. The reverse change of a
- * <code>NullChange</code> is a <code>NullChange</code>.
- * 
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @since 3.0
- */
-public class NullChange extends Change {
-
-	private String fName;
-	
-	/**
-	 * Creates a new <code>NullChange</code> with a default name.
-	 */
-	public NullChange() {
-		this(RefactoringCoreMessages.getString("NullChange.name")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates a new <code>NullChange</code> with the given name.
-	 * 
-	 * @param name the human readable name of this change
-	 */
-	public NullChange(String name) {
-		Assert.isNotNull(name);
-		fName= name;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {
-		// do nothing
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		return new RefactoringStatus();
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		return new NullChange();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getModifiedElement() {
-		return null;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/PerformChangeOperation.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/PerformChangeOperation.java
deleted file mode 100644
index cc8440f..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/PerformChangeOperation.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * Operation that, when run, performs a {@link Change} object. The operation
- * can be created in two different ways: with a given change or wiht a
- * {@link CreateChangeOperation}. If create the second way the given create
- * change operation will be used to create the actual change to perform.
- * 
- * <p>
- * If an undo change has been provided by the change to execute then the operation 
- * calls {@link Change#initializeValidationData(IProgressMonitor)} to initialize the 
- * undo change's validation data.
- * </p>
- * 
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @since 3.0 
- */
-public class PerformChangeOperation implements IWorkspaceRunnable {
-
-	private Change fChange;
-	private CreateChangeOperation fCreateChangeOperation;
-	private RefactoringStatus fValidationStatus;
-	
-	private Change fUndoChange;
-	private String fUndoName;
-	private IUndoManager fUndoManager;
-	
-	private boolean fChangeExecuted;
-	private boolean fChangeExecutionFailed;
-	
-	/**
-	 * Creates a new perform change operation instance for the given change.
-	 * 
-	 * @param change the change to be applied to the workbench
-	 */
-	public PerformChangeOperation(Change change) {
-		Assert.isNotNull(change);
-		fChange= change;
-	}
-
-	/**
-	 * Creates a new <code>PerformChangeOperation</code> for the given {@link 
-	 * CreateChangeOperation}. The create change operation is used to create 
-	 * the actual change to execute.
-	 * 
-	 * @param op the <code>CreateChangeOperation</code> used to create the
-	 *  actual change object
-	 */
-	public PerformChangeOperation(CreateChangeOperation op) {
-		Assert.isNotNull(op);
-		fCreateChangeOperation= op;
-	}
-	
-	/**
-	 * Returns <code>true</code> if the change execution failed.
-	 *  
-	 * @return <code>true</code> if the change execution failed; 
-	 *  <code>false</code> otherwise
-	 * 
-	 */
-	public boolean changeExecutionFailed() {
-		return fChangeExecutionFailed;
-	}
-
-	/**
-	 * Returns <code>true</code> if the change has been executed. Otherwise <code>
-	 * false</code> is returned.
-	 * 
-	 * @return <code>true</code> if the change has been executed, otherwise
-	 *  <code>false</code>
-	 */
-	public boolean changeExecuted() {
-		return fChangeExecuted;
-	}
-	
-	/**
-	 * Returns the status of the condition checking. Returns <code>null</code> if
-	 * no condition checking has been requested.
-	 * 
-	 * @return the status of the condition checking
-	 */
-	public RefactoringStatus getConditionCheckingStatus() {
-		if (fCreateChangeOperation != null)
-			return fCreateChangeOperation.getConditionCheckingStatus();
-		return null;
-	}
-	
-	/**
-	 * Returns the change used by this operation. This is either the change passed to
-	 * the constructor or the one create by the <code>CreateChangeOperation</code>.
-	 * Method returns <code>null</code> if the create operation did not create
-	 * a corresponding change.
-	 * 
-	 * @return the change used by this operation or <code>null</code> if no change
-	 *  has been created
-	 */
-	public Change getChange() {
-		return fChange;
-	}
-	
-	/**
-	 * Returns the undo change of the change performed by this operation. Returns
-	 * <code>null</code> if the change hasn't been performed or if the change
-	 * doesn't provide a undo.
-	 * 
-	 * @return the undo change of the performed change or <code>null</code>
-	 */
-	public Change getUndoChange() {
-		return fUndoChange;
-	}
-	
-	/**
-	 * Returns the refactoring status returned from the call <code>IChange#isValid()</code>.
-	 * Returns <code>null</code> if the change has not been executed.
-	 * 
-	 * @return the change's validation status
-	 */
-	public RefactoringStatus getValidationStatus() {
-		return fValidationStatus;
-	}
-	
-	/**
-	 * Sets the undo manager. If the executed change provides an undo change,
-	 * then the undo change is pushed onto this manager.
-	 *  
-	 * @param manager the undo manager to use or <code>null</code> if no
-	 *  undo recording is desired
-	 * @param undoName the name used to present the undo change on the undo
-	 *  stack. Must be a human-readable string. Must not be <code>null</code>
-	 *  if manager is unequal <code>null</code>
-	 */
-	public void setUndoManager(IUndoManager manager, String undoName) {
-		if (manager != null) {
-			Assert.isNotNull(undoName);
-		}
-		fUndoManager= manager;
-		fUndoName= undoName;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void run(IProgressMonitor pm) throws CoreException {
-		try {
-			fChangeExecuted= false;
-			if (createChange()) {
-				pm.beginTask("", 2); //$NON-NLS-1$
-				pm.subTask(""); //$NON-NLS-1$
-				fCreateChangeOperation.run(new SubProgressMonitor(pm, 1));
-				fChange= fCreateChangeOperation.getChange();
-				if (fChange != null) {
-					executeChange(new SubProgressMonitor(pm, 1));
-				} else {
-					pm.worked(1);
-				}
-			} else {
-				executeChange(pm);
-			}
-		} finally {
-			pm.done();
-		}	
-	}
-	
-	protected void executeChange(IProgressMonitor pm) throws CoreException {
-		fChangeExecuted= false;
-		if (!fChange.isEnabled())
-			return;
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				boolean undoInitialized= false;
-				try {
-					monitor.beginTask("", 10); //$NON-NLS-1$
-					fValidationStatus= fChange.isValid(new SubProgressMonitor(monitor, 1));
-					if (fValidationStatus.hasFatalError())
-						return;
-					if (fUndoManager != null) {
-						ResourcesPlugin.getWorkspace().checkpoint(false);
-						fUndoManager.aboutToPerformChange(fChange);
-					}
-					fChangeExecutionFailed= true;
-					fUndoChange= fChange.perform(new SubProgressMonitor(monitor, 9));
-					fChangeExecutionFailed= false;
-					fChangeExecuted= true;
-					if (fUndoManager != null) {
-						ResourcesPlugin.getWorkspace().checkpoint(false);
-						fUndoManager.changePerformed(fChange);
-					}
-					fChange.dispose();
-					if (fUndoChange != null) {
-						fUndoChange.initializeValidationData(new SubProgressMonitor(monitor, 1));
-						undoInitialized= true;
-					}
-					if (fUndoManager != null) {
-						if (fUndoChange != null) {
-							fUndoManager.addUndo(fUndoName, fUndoChange);
-						} else {
-							fUndoManager.flush();
-						}
-					}
-				} catch (CoreException e) {
-					if (fUndoManager != null)
-						fUndoManager.flush();
-					if (fUndoChange != null && undoInitialized) {
-						Change ch= fUndoChange;
-						fUndoChange= null;
-						ch.dispose();
-					}
-					fUndoChange= null;
-					throw e;
-				} catch (RuntimeException e) {
-					if (fUndoManager != null)
-						fUndoManager.flush();
-					if (fUndoChange != null && undoInitialized) {
-						Change ch= fUndoChange;
-						fUndoChange= null;
-						ch.dispose();
-					}
-					fUndoChange= null;
-					throw e;
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		ResourcesPlugin.getWorkspace().run(runnable, pm);
-	}
-	
-	private boolean createChange() {
-		return fCreateChangeOperation != null;
-	}
-}
-
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/PerformRefactoringOperation.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/PerformRefactoringOperation.java
deleted file mode 100644
index 2f2f629..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/PerformRefactoringOperation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * Operation that, when run, executes a refactoring. This includes
- * condition checking, change creation, change execution and remembering
- * of the undo change on the refactoring's undo stack.
- * 
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @since 3.0 
- */
-public class PerformRefactoringOperation implements IWorkspaceRunnable {
-	
-	private int fStyle;
-	private Refactoring fRefactoring;
-	
-	private RefactoringStatus fPreconditionStatus;
-	private RefactoringStatus fValidationStatus;
-	private Change fUndo;
-	
-	/**
-	 * Create a new perform refactoring operation. The operation will not
-	 * perform the refactoring if the refactoring's condition checking returns 
-	 * an error	of severity {@link RefactoringStatus#FATAL}. 
-	 * 
-	 * @param refactoring the refactoring to perform
-	 * @param style the condidition checking style as defined by 
-	 *  {@link CheckConditionsOperation} 
-	 */
-	public PerformRefactoringOperation(Refactoring refactoring, int style) {
-		Assert.isNotNull(refactoring);
-		fRefactoring= refactoring;
-		fStyle= style;
-	}
-	
-	/**
-	 * Return the refactoring status of the condition checking.
-	 * 
-	 * @return the refactoring status of the condition checking
-	 */
-	public RefactoringStatus getConditionStatus() {
-		return fPreconditionStatus;
-	}
-	
-	/**
-	 * Returns the refactoring status of the change's validation checking
-	 * or <code>null</code> if no change could be created.  
-	 *
-	 * @return the refactoring status of the change's validation checking
-	 */
-	public RefactoringStatus getValidationStatus() {
-		return fValidationStatus;
-	}
-	
-	/**
-	 * The undo object or <code>null</code> if no undo exists. The undo
-	 * object is initialize via the call {@link Change#initializeValidationData(IProgressMonitor)}
-	 * 
-	 * @return the undo object or <code>null</code>
-	 */
-	public Change getUndoChange() {
-		return fUndo;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void run(IProgressMonitor monitor) throws CoreException {
-		monitor.beginTask("", 10); //$NON-NLS-1$
-		CreateChangeOperation create= new CreateChangeOperation(
-			new CheckConditionsOperation(fRefactoring, fStyle),
-			RefactoringStatus.ERROR);
-		create.run(new SubProgressMonitor(monitor, 6));
-		fPreconditionStatus= create.getConditionCheckingStatus();
-		if (fPreconditionStatus.hasFatalError()) {
-			monitor.done();
-			return;
-		}
-		Change change= create.getChange();
-		PerformChangeOperation perform= new PerformChangeOperation(change);
-		perform.setUndoManager(RefactoringCore.getUndoManager(), fRefactoring.getName());
-		perform.run(new SubProgressMonitor(monitor, 2));
-		fValidationStatus= perform.getValidationStatus();
-		fUndo= perform.getUndoChange();
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/Refactoring.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/Refactoring.java
deleted file mode 100644
index fbb6614..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/Refactoring.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-/**
- * Abstract super class for all refactorings. Refactorings are used to perform
- * behaviour preseving work space transformations. A refactoring offers two 
- * different kind of methods:
- * <ol> 
- *   <li>methods to check conditions to determine if the refactoring can be carried out 
- *       in general and if transformation will be bahavioural persevering.
- *   </li>
- *   <li>a method to create a {@link org.eclipse.ltk.core.refactoring.Change} object
- *       that represents the actual work space modifications.
- *   </li> 
- * <p>
- * The life cycle of a refactoring is as follows:
- * <ul>
- *   <li>the refactoring gets created</li>
- *   <li>the refactoring is initialized with the elements to be refactored. It is
- *       up to a concrete refactoring implementation to provide corresponding API.
- *   <li>{@link #checkInitialConditions(IProgressMonitor)} is called. The method 
- *       can be called more than once.</li>
- *   <li>additional arguments are provided to perform the refactoring (for example
- *       the new name of a element in the case of a rename refactoring). It is up
- *       to a concrete implementation to provide corresponding API.
- *   <li>{@link #checkFinalConditions(IProgressMonitor)} is called. The method 
- *       can be called more than once. The method is not called if  
- *       {@link #checkInitialConditions(IProgressMonitor)} returns a refactoring
- *       status of severity {@link RefactoringStatus#FATAL}.</li>
- *   <li>{@link #createChange(IProgressMonitor)} is called. The method is only 
- *       called once and is not called if one of the condition checking methods
- *       return a refactoring status of severity {@link RefactoringStatus#FATAL}.
- *       </li>
- * </ul>
- * 
- * <p>
- * A refactoring can not assume that all resources are saved before any methods
- * are called on it. Therefore a refactoring must be able to deal with unsaved
- * resources.
- * </p>
- * 
- * @since 3.0
- */
-public abstract class Refactoring extends PlatformObject {
-
-	/**
-	 * Returns the refactoring's name.
-	 * 
-	 * @return the refactoring's human readable name. Must not be
-	 *  <code>null</code>
-	 */ 
-	public abstract String getName();
-	
-	//---- Conditions ------------------------------------------------------------
-	
-	/**
-	 * Checks all conditions. This implementation calls <code>checkInitialConditions</code>
-	 * and <code>checkFinalConditions</code>. 
-	 * <p>
-	 * Subclasses may extend this method to provide additional condition checks.
-	 * </p>
-	 * 
-	 * @see #checkInitialConditions(IProgressMonitor)
-	 * @see #checkFinalConditions(IProgressMonitor)
-	 */
-	public RefactoringStatus checkAllConditions(IProgressMonitor pm) throws CoreException {
-		pm.beginTask("", 11); //$NON-NLS-1$
-		RefactoringStatus result= new RefactoringStatus();
-		result.merge(checkInitialConditions(new SubProgressMonitor(pm, 1)));
-		if (!result.hasFatalError())
-			result.merge(checkFinalConditions(new SubProgressMonitor(pm, 10)));	
-		pm.done();
-		return result;
-	}
-	
-	/**
-	 * Checks some initial conditions based on the element to be refactored. The 
-	 * method is typically called by the UI to perform an initial checks after an 
-	 * action has been executed.
-	 * <p>
-	 * The refactoring is considered as not being executable if the returned status
-	 * has the severity <code>RefactoringStatus#FATAL</code>.
-	 * </p>
-	 * <p>
-	 * This method can be called more than once.
-	 * </p>
-	 * 
-	 * @param pm a progress monitor to report progress. Although availability checks 
-	 *  are supposed to execute fast, there can be certain situations where progress
-	 *  reporting is necessary. For example rebuilding a corrupted index may report
-	 *  progress.
-	 * 
-	 * @return a refactoring status. If the status is <code>RefactoringStatus#FATAL</code>
-	 *  the refactoring is considered as not being executable.
-	 * 
-	 * @throws CoreException if an exception occurred during initial condition checking
-	 * 
-	 * @see #checkFinalConditions(IProgressMonitor)
-	 * @see RefactoringStatus#FATAL
-	 */ 
-	public abstract RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException;
-	
-	/**
-	 * After <code>checkInitialConditions</code> has been performed and the user has 
-	 * provided all input necessary to perform the refactoring this method is called 
-	 * to check the remaining preconditions.
-	 * <p>
-	 * The refactoring is considered as not being executable if the returned status
-	 * has the severity <code>RefactoringStatus#FATAL</code>.
-	 * </p>
-	 * <p>
-	 * This method can be called more than once.
-	 * </p>
-	 * 
-	 * @param pm a progress monitor to report progress
-	 * 
-	 * @return a refactoring status. If the status is <code>RefactoringStatus#FATAL</code>
-	 *  the refactoring is considered as not being executable.
-	 * 
-	 * @throws CoreException if an exception occurred during final condition checking
-	 * 
-	 * @see #checkInitialConditions(IProgressMonitor)
-	 * @see RefactoringStatus#FATAL
-	 */ 		
-	public abstract RefactoringStatus checkFinalConditions(IProgressMonitor pm) throws CoreException;
-	
-	//---- change creation ------------------------------------------------------
-		
-	/**
-	 * Creates a {@link Change} object that performs the actual refactoring.
-	 * 
-	 * @param pm a progress monitor to report progress
-	 * 
-	 * @return the change representing the work space modifications of the
-	 *  refactoring
-	 * 
-	 * @throws CoreException if an error occurred while creating the change 
-	 */
-	public abstract Change createChange(IProgressMonitor pm) throws CoreException;
-
-	/**
-	 * Returns the scheduling rule associated with this refactoring element.
-	 * This scheduling rule should be used whenever one of the refactoring's
-	 * method is executed inside a {@linkplain org.eclipse.core.resources.IWorkspaceRunnable
-	 * work space runnable} or when the change created by this refactoring is
-	 * performed.
-	 * 
-	 * @return the scheduling rule associated with this refactoring
-	 */
-	/* public abstract ISchedulingRule getSchedulingRule(); */
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.isInstance(this))
-			return this;
-		return super.getAdapter(adapter);
-	}
-	
-	/* (non-Javadoc)
-	 * for debugging only
-	 */
-	public String toString() {
-		return getName();
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringCore.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringCore.java
deleted file mode 100644
index 2c39590..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringCore.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.ltk.internal.core.refactoring.UndoManager;
-
-/**
- * Central access point to access resources managed by the refactoring
- * core plug-in.
- * 
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @since 3.0
- */
-public class RefactoringCore {
-
-	private static IUndoManager fgUndoManager= null;
-
-	private RefactoringCore() {
-		// no instance
-	}
-	
-	/**
-	 * Creates a new empty undo manager.
-	 * 
-	 * @return a new undo manager
-	 */
-	public static IUndoManager createUndoManager() {
-		return new UndoManager();
-	}
-
-	/**
-	 * Returns the singleton undo manager for the refactoring undo
-	 * stack.
-	 * 
-	 * @return the refactoring undo manager.
-	 */
-	public static IUndoManager getUndoManager() {
-		if (fgUndoManager == null)
-			fgUndoManager= createUndoManager();
-		return fgUndoManager;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatus.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatus.java
deleted file mode 100644
index a2f911a..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatus.java
+++ /dev/null
@@ -1,644 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * A <code>RefactoringStatus</code> object represents the outcome of a
- * condition checking operation. It manages a list of <code>
- * RefactoringStatusEntry</code> objects. Each <code>RefactoringStatusEntry
- * </code> object describes one particilar problem detected during
- * condition checking.
- * <p>
- * Additionally a problem severity is managed. Severities are ordered as follows: 
- * <code>OK</code> &lt; <code>INFO</code> &lt; <code>WARNING</code> &lt; <code>
- * ERROR</code>. The status's problem severity is the maximum of the severities 
- * of all entries. If the status doesn't have any entry the status's severity 
- * is <code>OK</code>.
- * </p>
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @see RefactoringStatusEntry
- * @see Refactoring#checkAllConditions(IProgressMonitor)
- * 
- * @since 3.0
- */
-public class RefactoringStatus {
-
-	/** 
-	 * Status severity constant (value 0) indicating this status represents the nominal case.
-	 * @see #getSeverity
-	 * @see #isOK
-	 */
-	public static final int OK= 0;
-
-	/** 
-	 * Status severity constant (value 1) indicating this status is informational only.
-	 * @see #getSeverity
-	 */
-	public static final int INFO= 1;
-
-	/** 
-	 * Status severity constant (value 2) indicating this status represents a warning.
-	 * This is used when the refactoring might cause confusion such as unintended overloading.
-	 * @see #getSeverity
-	 */
-	public static final int WARNING= 2;
-
-	/** 
-	 * Status severity constant (value 3) indicating this status represents an error.
-	 * This is used when the refactoring will introduce compilation errors if executed.
-	 * @see #getSeverity
-	 */
-	public static final int ERROR= 3;
-
-	/** 
-	 * Status severity constant (value 4) indicating this status represents a fatal error.
-	 * This is used when the refactoring can't be executed.
-	 * @see #getSeverity
-	 */
-	public static final int FATAL= 4;
-
-	/**
-	 * List of refactoring status entries.
-	 */
-	private List fEntries;
-
-	/**
-	 * The status's severity. The following invariant holds for
-	 * <code>fSeverity</code>: <code>OK</code> &le; fSeverity &le; 
-	 * <code>FATAL</code>.
-	 */
-	private int fSeverity= OK;
-
-	/**
-	 * Creates a new refactoring status with an empty list of
-	 * status entries and a severity of <code>OK</code>.
-	 */
-	public RefactoringStatus() {
-		fEntries= new ArrayList(0);
-	}
-	
-	/**
-	 * Returns the severity.
-	 * 
-	 * @return the severity.
-	 */
-	public int getSeverity() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns the list of refactoring status entries.
-	 * 
-	 * @return the list of refactoring status entries. Returns an empty array
-	 *  if not entries are managed.
-	 */
-	public RefactoringStatusEntry[] getEntries() {
-		return (RefactoringStatusEntry[])fEntries.toArray(new RefactoringStatusEntry[fEntries.size()]);
-	}
-	
-	/**
-	 * Returns whether the status has entries or not.
-	 * 
-	 * @return <code>true</code> if the status as any entries; otherwise
-	 *  <code>false</code> is returned.
-	 */
-	public boolean hasEntries() {
-		return !fEntries.isEmpty();
-	}
-
-	/**
-	 * Returns the <code>RefactoringStatusEntry</code> at the specified index.
-	 * 
-	 * @param index the indes of the entry to return
-	 * @return the enrty at the specified index
-	 * 
-	 * @throws IndexOutOfBoundsException if the index is out of range
-	 */
-	public RefactoringStatusEntry getEntryAt(int index) {
-		return (RefactoringStatusEntry)fEntries.get(index);
-	}
-
-	/**
-	 * Returns the first entry managed by this refactoring status that
-	 * matches the given plug-in identifier and code. If more than one
-	 * entry exists that matches the criteria the first one in the list
-	 * of entries is returned. Returns <code>null</code> if no entry
-	 * matches.
-	 * 
-	 * @param pluginId the entry's plug-in identifier
-	 * @param code the entry's code
-	 * @return the entry that matches the given plug-in identifier and
-	 *  code; <code>null</code> otherwise 
-	 */
-	public RefactoringStatusEntry getEntryMatchingCode(String pluginId, int code) {
-		Assert.isTrue(pluginId != null);
-		for (Iterator iter= fEntries.iterator(); iter.hasNext(); ) {
-			RefactoringStatusEntry entry= (RefactoringStatusEntry)iter.next();
-			if (pluginId.equals(entry.getPluginId()) && entry.getCode() == code)
-				return entry;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the first entry which severity is equal or greater than the
-	 * given severity. If more than one entry exists that matches the 
-	 * criteria the first one is returned. Returns <code>null</code> if no 
-	 * entry matches.
-	 * 
-	 * @param severity the severity to search for. Must be one of <code>FATAL
-	 *  </code>, <code>ERROR</code>, <code>WARNING</code> or <code>INFO</code>
-	 * @return the entry that matches the search criteria
-	 */
-	public RefactoringStatusEntry getEntryMatchingSeverity(int severity) {
-		Assert.isTrue(severity >= OK && severity <= FATAL);
-		if (severity > fSeverity)
-			return null;
-		Iterator iter= fEntries.iterator();
-		while (iter.hasNext()) {
-			RefactoringStatusEntry entry= (RefactoringStatusEntry)iter.next();
-			if (entry.getSeverity() >= severity)
-				return entry;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the first message which severity is equal or greater than the
-	 * given severity. If more than one entry exists that matches the criteria
-	 * the first one is returned. Returns <code>null</code> if no entry matches.
-	 * 
-	 * @param severity the severity to search for. Must be one of <code>FATAL
-	 *  </code>, <code>ERROR</code>, <code>WARNING</code> or <code>INFO</code>
-	 * @return the message of the entry that matches the search criteria
-	 */
-	public String getMessageMatchingSeverity(int severity) {
-		RefactoringStatusEntry entry= getEntryMatchingSeverity(severity);
-		if (entry == null)
-			return null;
-		return entry.getMessage();
-	}
-
-	/**
-	 * Creates a new <code>RefactoringStatus</code> with one entry filled with the given
-	 * arguments.
-	 * 
-	 * @param severity the severity
-	 * @param msg the message
-	 * @param context the context. Can be <code>null</code>
-	 * @param pluginId the plug-in identifier. Can be <code>null</code> if argument <code>
-	 *  code</code> equals <code>NO_CODE</code>
-	 * @param code the problem code. Must be either <code>NO_CODE</code> or equals or greater
-	 *  than zero
-	 * @param data application specific data
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createStatus(int severity, String msg, RefactoringStatusContext context, String pluginId, int code, Object data) {
-		RefactoringStatus result= new RefactoringStatus();
-		result.fEntries.add(new RefactoringStatusEntry(severity, msg, context, pluginId, code, data));
-		result.fSeverity= severity;
-		return result;
-	}
-
-	/**
-	 * Creates a new <code>RefactorngStatus</code> with one <code>INFO</code> entry
-	 * filled with the given message. 
-	 * 
-	 * @param msg the message of the info entry
-	 * @return the refactoring status
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createInfoStatus(String msg) {
-		return createStatus(INFO, msg, null, null, RefactoringStatusEntry.NO_CODE, null);
-	}
-
-	/**
-	 * Creates a new <code>RefactorngStatus</code> with one <code>INFO</code> entry
-	 * filled with the given message and context.
-	 * 
-	 * @param msg the message of the info entry
-	 * @param context the context of the info entry
-	 * @return the refactoring status
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createInfoStatus(String msg, RefactoringStatusContext context) {
-		return createStatus(INFO, msg, context, null, RefactoringStatusEntry.NO_CODE, null);
-	}
-
-	/**
-	 * Creates a new <code>RefactorngStatus</code> with one <code>WARNING</code> entry
-	 * filled with the given message.
-	 * 
-	 * @param msg the message of the warning entry
-	 * @return the refactoring status
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createWarningStatus(String msg) {
-		return createStatus(WARNING, msg, null, null, RefactoringStatusEntry.NO_CODE, null);
-	}
-
-	/**
-	 * Creates a <code>RefactorngStatus</code> with one <code>WARNING</code> entry
-	 * fill with the given message and context.
-	 * 
-	 * @param msg the message of the warning entry
-	 * @param context the context of the warning entry
-	 * @return the refactoring status
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createWarningStatus(String msg, RefactoringStatusContext context) {
-		return createStatus(WARNING, msg, context, null, RefactoringStatusEntry.NO_CODE, null);
-	}
-
-	/**
-	 * Creates a new <code>RefactorngStatus</code> with one <code>ERROR</code> entry
-	 * filled with the given message.
-	 * 
-	 * @param msg the message of the error entry
-	 * @return the refactoring status
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createErrorStatus(String msg) {
-		return createStatus(ERROR, msg, null, null, RefactoringStatusEntry.NO_CODE, null);
-	}
-
-	/**
-	 * Creates a <code>RefactorngStatus</code> with one <code>ERROR</code> entry
-	 * fill with the given message and context.
-	 * 
-	 * @param msg the message of the error entry
-	 * @param context the context of the error entry
-	 * @return the refactoring status
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createErrorStatus(String msg, RefactoringStatusContext context) {
-		return createStatus(ERROR, msg, context, null, RefactoringStatusEntry.NO_CODE, null);
-	}
-
-	/**
-	 * Creates a new <code>RefactorngStatus</code> with one <code>FATAL</code> entry
-	 * filled with the given message.
-	 * 
-	 * @param msg the message of the fatal entry
-	 * @return the refactoring status
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createFatalErrorStatus(String msg) {
-		return createStatus(FATAL, msg, null, null, RefactoringStatusEntry.NO_CODE, null);
-	}
-
-	/**
-	 * Creates a <code>RefactorngStatus</code> with one <code>FATAL</code> entry
-	 * fill with the given message and context.
-	 * 
-	 * @param msg the message of the fatal entry
-	 * @param context the context of the fatal entry
-	 * @return the refactoring status
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public static RefactoringStatus createFatalErrorStatus(String msg, RefactoringStatusContext context) {
-		return createStatus(FATAL, msg, context, null, RefactoringStatusEntry.NO_CODE, null);
-	}
-
-	/**
-	 * Creates a new <code>RefactorngStatus</code> from the given <code>IStatus</code>. An
-	 * OK status is mapped to an OK refactoring status, an information status is mapped 
-	 * to a warning refactoring status, a warning status is mapped to an error refactoring 
-	 * status and an error status is mapped to a fatal refactoring status. If the status
-	 * is a <code>MultiStatus</code> the first level of children of the status will be added
-	 * as refactoring status entries to the created refactoring status.
-	 * 
-	 * @param status the status to create a refactoring status from
-	 * @return the refactoring status
-	 * 
-	 * @see IStatus
-	 */
-	public static RefactoringStatus create(IStatus status) {
-		if (status.isOK())
-			return new RefactoringStatus();
-
-		if (!status.isMultiStatus()) {
-			switch (status.getSeverity()) {
-				case IStatus.INFO :
-					return RefactoringStatus.createWarningStatus(status.getMessage());
-				case IStatus.WARNING :
-					return RefactoringStatus.createErrorStatus(status.getMessage());
-				case IStatus.ERROR :
-					return RefactoringStatus.createFatalErrorStatus(status.getMessage());
-				default :
-					return new RefactoringStatus();
-			}
-		} else {
-			IStatus[] children= status.getChildren();
-			RefactoringStatus result= new RefactoringStatus();
-			for (int i= 0; i < children.length; i++) {
-				result.merge(RefactoringStatus.create(children[i]));
-			}
-			return result;
-		}
-	}
-
-	/**
-	 * Merges the receiver and the parameter statuses. The resulting list of
-	 * entries in the receiver will contain entries from both. The resuling
-	 * severity in the reciver will be the more severe of its current severity
-	 * and the parameter's severity. Merging with <code>null</code> is
-	 * allowed - it has no effect.
-	 * 
-	 * @param other the refactoring status to merge with
-	 * 
-	 * @see #getSeverity
-	 */
-	public void merge(RefactoringStatus other) {
-		if (other == null)
-			return;
-		fEntries.addAll(other.fEntries);
-		fSeverity= Math.max(fSeverity, other.getSeverity());
-	}
-
-	/**
-	 * Adds an <code>INFO</code> entry filled with the given message to this status. 
-	 * If the current severity is <code>OK</code> it will be changed to <code>INFO
-	 * </code>. It will remain unchanged otherwise.
-	 * 
-	 * @param msg the message of the info entry
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public void addInfo(String msg) {
-		addInfo(msg, null);
-	}
-
-	/**
-	 * Adds an <code>INFO</code> entry filled with the given message and context to 
-	 * this status. If the current severity is <code>OK</code> it will be changed to 
-	 * <code>INFO</code>. It will remain unchanged otherwise.
-	 * 
-	 * @param msg the message of the info entry
-	 * @param context the context of the info entry
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public void addInfo(String msg, RefactoringStatusContext context) {
-		fEntries.add(new RefactoringStatusEntry(RefactoringStatus.INFO, msg, context));
-		fSeverity= Math.max(fSeverity, INFO);
-	}
-
-	/**
-	 * Adds a <code>WARNING</code> entry filled with the given message to this status.
-	 * If the current severity is <code>OK</code> or <code>INFO</code> it will be 
-	 * changed to <code>WARNING</code>. It will remain unchanged otherwise.
-	 * 
-	 * @param msg the message of the warning entry
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public void addWarning(String msg) {
-		addWarning(msg, null);
-	}
-
-	/**
-	 * Adds a <code>WARNING</code> entry filled with the given message and context to 
-	 * this status. If the current severity is <code>OK</code> or <code>INFO</code> it 
-	 * will be changed to <code>WARNING</code>. It will remain unchanged otherwise.
-	 * 
-	 * @param msg the message of the warning entry
-	 * @param context the context of the warning entry
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public void addWarning(String msg, RefactoringStatusContext context) {
-		fEntries.add(new RefactoringStatusEntry(RefactoringStatus.WARNING, msg, context));
-		fSeverity= Math.max(fSeverity, WARNING);
-	}
-
-	/**
-	 * Adds an <code>ERROR</code> entry filled with the given message to this status. 
-	 * If the current severity is <code>OK</code>, <code>INFO</code> or <code>WARNING
-	 * </code> it will be changed to <code>ERROR</code>. It will remain unchanged 
-	 * otherwise.
-	 * 
-	 * @param msg the message of the error entry
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public void addError(String msg) {
-		addError(msg, null);
-	}
-
-	/**
-	 * Adds an <code>ERROR</code> entry filled with the given message and context to 
-	 * this status. If the current severity is <code>OK</code>, <code>INFO</code> or 
-	 * <code>WARNING</code> it will be changed to <code>ERROR</code>. It will remain 
-	 * unchanged otherwise.
-	 * 
-	 * @param msg the message of the error entry
-	 * @param context the context of the error entry
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public void addError(String msg, RefactoringStatusContext context) {
-		fEntries.add(new RefactoringStatusEntry(RefactoringStatus.ERROR, msg, context));
-		fSeverity= Math.max(fSeverity, ERROR);
-	}
-
-	/**
-	 * Adds a <code>FATAL</code> entry filled with the given message to this status.
-	 * The severity of this status will changed to <code>FATAL</code>. 
-	 * 
-	 * @param msg the message of the fatal entry
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public void addFatalError(String msg) {
-		addFatalError(msg, null);
-	}
-
-	/**
-	 * Adds a <code>FATAL</code> entry filled with the given message and status to
-	 * this status. The severity of this status will changed to <code>FATAL</code>. 
-	 * 
-	 * @param msg the message of the fatal entry
-	 * @param context the context of the fatal entry
-	 * 
-	 * @see RefactoringStatusEntry
-	 */
-	public void addFatalError(String msg, RefactoringStatusContext context) {
-		fEntries.add(new RefactoringStatusEntry(RefactoringStatus.FATAL, msg, context));
-		fSeverity= Math.max(fSeverity, FATAL);
-	}
-
-	/**
-	 * Adds a new entry filled with the given arguments to this status. The severity
-	 * of this status is set to the maximum of <code>fSeverity</code> and 
-	 * <code>severity</code>. 
-	 * 
-	 * @param severity the severity of the entry
-	 * @param msg the message of the entry
-	 * @param context the context of the entry. Can be <code>null</code>
-	 * @param pluginId the plug-in identifier of the entry. Can be <code>null</code> if 
-	 *  argument <code>code</code> equals <code>NO_CODE</code>
-	 * @param code the problem code of the entry. Must be either <code>NO_CODE</code> 
-	 *  or equals or greater than zero
-	 */
-	public void addEntry(int severity, String msg, RefactoringStatusContext context, String pluginId, int code) {
-		fEntries.add(new RefactoringStatusEntry(severity, msg, context, pluginId, code));
-		fSeverity= Math.max(fSeverity, severity);
-	}
-
-	/**
-	 * Adds a new entry filled with the given arguments to this status. The severity
-	 * of this status is set to the maximum of <code>fSeverity</code> and 
-	 * <code>severity</code>. 
-	 * 
-	 * @param severity the severity of the entry
-	 * @param msg the message of the entry
-	 * @param context the context of the entry. Can be <code>null</code>
-	 * @param pluginId the plug-in identifier of the entry. Can be <code>null</code> if 
-	 *  argument <code>code</code> equals <code>NO_CODE</code>
-	 * @param code the problem code of the entry. Must be either <code>NO_CODE</code> 
-	 *  or equals or greater than zero
-	 * @param data application specific data of the entry
-	 */
-	public void addEntry(int severity, String msg, RefactoringStatusContext context, String pluginId, int code, Object data) {
-		fEntries.add(new RefactoringStatusEntry(severity, msg, context, pluginId, code, data));
-		fSeverity= Math.max(fSeverity, severity);
-	}
-
-	/**
-	 * Adds the given <code>RefactoringStatusEntry</code>. The severity of this
-	 * status is set to the maximum of <code>fSeverity</code> and the severity of
-	 * the entry.
-	 * 
-	 * @param entry the <code>RefactoringStatusEntry</code> to be added
-	 */
-	public void addEntry(RefactoringStatusEntry entry) {
-		Assert.isNotNull(entry);
-		fEntries.add(entry);
-		fSeverity= Math.max(fSeverity, entry.getSeverity());
-	}
-
-	/**
-	 * Returns whether the status's severity is <code>OK</code> or not. 
-	 * 
-	 * @return <code>true</code> if the severity is <code>OK</code>; 
-	 *  otherwise <code>false</code> is returned
-	 */
-	public boolean isOK() {
-		return fSeverity == OK;
-	}
-
-	/**
-	 * Returns <code>true</code> if the current severity is <code>
-	 * FATAL</code>.
-	 * 
-	 * @return <code>true</code> if the current severity is <code>
-	 *  FATAL</code>; otherwise <code>false</code> is returned
-	 */
-	public boolean hasFatalError() {
-		return fSeverity == FATAL;
-	}
-
-	/**
-	 * Returns <code>true</code> if the current severity is <code>
-	 * FATAL</code> or <code>ERROR</code>.
-	 * 
-	 * @return <code>true</code> if the current severity is <code>
-	 *  FATAL</code> or <code>ERROR</code>; otherwise <code>false
-	 *  </code> is returned
-	 */
-	public boolean hasError() {
-		return fSeverity == FATAL || fSeverity == ERROR;
-	}
-
-	/**
-	 * Returns <code>true</code> if the current severity is <code>
-	 * FATAL</code>, <code>ERROR</code> or <code>WARNING</code>.
-	 * 
-	 * @return <code>true</code> if the current severity is <code>
-	 *  FATAL</code>, <code>ERROR</code> or <code>WARNING</code>; 
-	 *  otherwise <code>false</code> is returned
-	 */
-	public boolean hasWarning() {
-		return fSeverity == FATAL || fSeverity == ERROR || fSeverity == WARNING;
-	}
-
-	/**
-	 * Returns <code>true</code> if the current severity is <code>
-	 * FATAL</code>, <code>ERROR</code>, <code>WARNING</code> or 
-	 * <code>INFO</code>.
-	 * 
-	 * @return <code>true</code> if the current severity is <code>
-	 *  FATAL</code>, <code>ERROR</code>, <code>WARNING</code> or 
-	 *  <code>INFO</code>; otherwise <code>false</code> is returned
-	 */
-	public boolean hasInfo() {
-		return fSeverity == FATAL || fSeverity == ERROR || fSeverity == WARNING || fSeverity == INFO;
-	}
-
-	/*
-	 * (non java-doc) 
-	 * for debugging only
-	 */
-	public String toString() {
-		StringBuffer buff= new StringBuffer();
-		buff.append("<") //$NON-NLS-1$
-			.append(getSeverityString(fSeverity)).append("\n"); //$NON-NLS-1$
-		if (!isOK()) {
-			for (Iterator iter= fEntries.iterator(); iter.hasNext(); ) {
-				buff.append("\t") //$NON-NLS-1$
-					.append(iter.next()).append("\n"); //$NON-NLS-1$
-			}
-		}
-		buff.append(">"); //$NON-NLS-1$
-		return buff.toString();
-	}
-	
-	/*
-	 * non java-doc 
-	 * for debugging only not for nls
-	 */
-	/* package */static String getSeverityString(int severity) {
-		Assert.isTrue(severity >= OK && severity <= FATAL);
-		if (severity == RefactoringStatus.OK)
-			return "OK"; //$NON-NLS-1$
-		if (severity == RefactoringStatus.INFO)
-			return "INFO"; //$NON-NLS-1$
-		if (severity == RefactoringStatus.WARNING)
-			return "WARNING"; //$NON-NLS-1$
-		if (severity == RefactoringStatus.ERROR)
-			return "ERROR"; //$NON-NLS-1$
-		if (severity == RefactoringStatus.FATAL)
-			return "FATALERROR"; //$NON-NLS-1$
-		return null;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatusContext.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatusContext.java
deleted file mode 100644
index cb69ecc..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatusContext.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-/**
- * A <code>RefactoringStatusContext<code> can be used to annotate a 
- * {@link RefactoringStatusEntry} with additional information 
- * typically presented in the UI.
- * 
- * @since 3.0
- */
-public abstract class RefactoringStatusContext {
-	/**
-	 * Returns the element that corresponds directly to this context,
-	 * or <code>null</code> if there is no corresponding element.
-	 * <p>
-	 * For example, the corresponding element of a context for a problem 
-	 * detected in an <code>IResource</code> would the the resource itself.
-	 * <p>
-	 *
-	 * @return the corresponding element
-	 */
-	public abstract Object getCorrespondingElement();
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatusEntry.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatusEntry.java
deleted file mode 100644
index c8774be..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/RefactoringStatusEntry.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * An immutable object representing an entry in the list in <code>RefactoringStatus</code>.
- * A refactoring status entry consists of a severity, a message, a problem code
- * (represented by a tuple(plug-in identifier and code number)), a context object and a
- * generic data pointer. The context object is used to provide context information for
- * the problem itself. An example context is a tuple consisting of the resource that contains
- * the problem and a corresponding line number.
- * 
- * <p> 
- * Note: this class is not intented to be subclassed by clients.
- * </p>
- * 
- * @since 3.0
- */
-public class RefactoringStatusEntry {
-	
-	/** 
-	 * A special problem code indicating that no problem code is provided. If 
-	 * <code>NO_CODE</code> is used then the plug-in identifier can be <code>
-	 * null</code>
-	 */
-	public static final int NO_CODE= -1;
-
-	/** The severity */
-	private final int fSeverity;
-
-	/** The message */
-	private final String fMessage;
-
-	/** A plug-in specific problem code */
-	private final int fCode;
-	
-	/** A plug-in identifier to make the problem code unique */
-	private final String fPluginId;
-
-	/** A context providing detailed information of where the problem occurred */
-	private final RefactoringStatusContext fContext;
-
-	/** A generic data pointer */
-	private final Object fData;
-
-	/**
-	 * Creates a new refactoring status entry. The context is set to <code>
-	 * null</code> the problem code is set to <code>NO_CODE</code>, the 
-	 * plug-in identifier is set to <code>null</code> and the data pointer 
-	 * is set to <code>null</code> as well.
-	 * 
-	 * @param severity the severity
-	 * @param msg the message
-	 */
-	public RefactoringStatusEntry(int severity, String msg) {
-		this(severity, msg, null);
-	}
-
-	/**
-	 * Creates a new refactoring status entry. The problem code is set to <code>
-	 * NO_CODE</code>, the plug-in identifier is set to <code>null</code> and
-	 * the data pointer is set to <code>null</code> as well.
-	 * 
-	 * @param severity the severity
-	 * @param msg the message
-	 * @param context the context. Can be <code>null</code>
-	 */
-	public RefactoringStatusEntry(int severity, String msg, RefactoringStatusContext context) {
-		this(severity, msg, context, null, NO_CODE, null);
-	}
-
-	/**
-	 * Creates a new refactoring status entry.
-	 * 
-	 * @param severity the severity
-	 * @param msg the message
-	 * @param context the context. Can be <code>null</code>
-	 * @param pluginId the plug-in identifier. Can be <code>null</code> if argument <code>
-	 *  code</code> equals <code>NO_CODE</code>
-	 * @param code the problem code. Must be either <code>NO_CODE</code> or equals or greater
-	 *  than zero
-	 */
-	public RefactoringStatusEntry(int severity, String msg, RefactoringStatusContext context, String pluginId, int code) {
-		this(severity, msg, context, pluginId, code, null);
-	}
-
-	/**
-	 * Creates a new refactoring status entry.
-	 * 
-	 * @param severity the severity
-	 * @param msg the message
-	 * @param context the context. Can be <code>null</code>
-	 * @param pluginId the plug-in identifier. Can be <code>null</code> if argument <code>
-	 *  code</code> equals <code>NO_CODE</code>
-	 * @param code the problem code. Must be either <code>NO_CODE</code> or equals or greater
-	 *  than zero
-	 * @param data application specific data
-	 */
-	public RefactoringStatusEntry(int severity, String msg, RefactoringStatusContext context, String pluginId, int code, Object data) {
-		Assert.isTrue(severity == RefactoringStatus.INFO || severity == RefactoringStatus.WARNING
-			|| severity == RefactoringStatus.ERROR || severity == RefactoringStatus.FATAL);
-		Assert.isNotNull(msg);
-		Assert.isTrue(code == NO_CODE || code >= 0);
-		if (code != NO_CODE) Assert.isTrue(pluginId != null);
-		fMessage= msg;
-		fSeverity= severity;
-		fContext= context;
-		fPluginId= pluginId;
-		fCode= code;
-		fData= data;
-	}
-
-	/**
-	 * Returns the message of the status entry.
-	 * 
-	 * @return the message
-	 */
-	public String getMessage() {
-		return fMessage;
-	}
-
-	/**
-	 * Returns the severity level.
-	 * 
-	 * @return the severity level
-	 * 
-	 * @see RefactoringStatus#INFO
-	 * @see RefactoringStatus#WARNING
-	 * @see RefactoringStatus#ERROR
-	 * @see RefactoringStatus#FATAL
-	 */
-	public int getSeverity() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns the context which can be used to show more detailed information regarding
-	 * this status entry in the UI. The method may return <code>null</code> indicating
-	 * that no context is available.
-	 * 
-	 * @return the status entry's context
-	 */
-	public RefactoringStatusContext getContext() {
-		return fContext;
-	}
-
-	/**
-	 * Returns the plug-in identifier associated with the
-	 * problem code. Might return <code>null</code> if the
-	 * problem code equals <code>NO_CODE</code>.
-	 * 
-	 * @return the plug-in identifier
-	 */
-	public String getPluginId() {
-		return fPluginId;
-	}
-	
-	/**
-	 * Returns the problem code.
-	 * 
-	 * @return the problem code
-	 */
-	public int getCode() {
-		return fCode;
-	}
-	
-	/**
-	 * Returns the application defined entry data associated
-	 * with the receiver, or <code>null</code> if it has not 
-	 * been set.
-	 * 
-	 * @return the entry data
-	 */
-	public Object getData() {
-		return fData;
-	}
-
-	/**
-	 * Returns whether the entry represents a fatal error or not.
-	 * 
-	 * @return <code>true</code> iff (severity ==<code>RefactoringStatus.FATAL</code>)
-	 */
-	public boolean isFatalError() {
-		return fSeverity == RefactoringStatus.FATAL;
-	}
-
-	/**
-	 * Returns whether the entry represents an error or not.
-	 * 
-	 * @return <code>true</code> iff (severity ==<code>RefactoringStatus.ERROR</code>).
-	 */
-	public boolean isError() {
-		return fSeverity == RefactoringStatus.ERROR;
-	}
-
-	/**
-	 * Returns whether the entry represents a warning or not.
-	 * 
-	 * @return <code>true</code> iff (severity ==<code>RefactoringStatus.WARNING</code>).
-	 */
-	public boolean isWarning() {
-		return fSeverity == RefactoringStatus.WARNING;
-	}
-
-	/**
-	 * Returns whether the entry represents an information or not.
-	 * 
-	 * @return <code>true</code> iff (severity ==<code>RefactoringStatus.INFO</code>).
-	 */
-	public boolean isInfo() {
-		return fSeverity == RefactoringStatus.INFO;
-	}
-
-	/*
-	 * non java-doc for debugging only
-	 */
-	public String toString() {
-		String contextString= fContext == null ? "<Unspecified context>" : fContext.toString(); //$NON-NLS-1$
-		return "\n" //$NON-NLS-1$
-			+ RefactoringStatus.getSeverityString(fSeverity) + ": " + fMessage + //$NON-NLS-1$
-			"\nContext: " + contextString + //$NON-NLS-1$
-			(fCode == NO_CODE ? "\ncode: none" : "\nplug-in id: " + fPluginId + "code: " + fCode) +  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			"\nData: " + fData;  //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextChange.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextChange.java
deleted file mode 100644
index 0ed969f..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextChange.java
+++ /dev/null
@@ -1,700 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.text.edits.TextEditCopier;
-import org.eclipse.text.edits.TextEditGroup;
-import org.eclipse.text.edits.TextEditProcessor;
-import org.eclipse.text.edits.UndoEdit;
-
-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.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.Changes;
-
-/**
- * A text change is a special change object that applies a {@link TextEdit
- * text edit tree} to a document. The text change manages the text edit tree. 
- * Access to the document must be provided by concrete subclasses via the method
- * {@link #aquireDocument(IProgressMonitor) aquireDocument}, {@link
- * #commitDocument(IDocument document, IProgressMonitor pm) commitDocument}, and
- * {@link #releaseDocument(IDocument, IProgressMonitor) releaseDocument}.
- * <p>
- * A text change offers the ability to access the original content of
- * the document as well as creating a preview of the change. The edit
- * tree gets copied when creating any king of preview. Therefore no region
- * updating on the original edit tree takes place when requesting a preview
- * (for more information on region updating see class {@link TextEdit TextEdit}. 
- * If region tracking is required for a preview it can be enabled via a call 
- * to the method {@link #setKeepPreviewEdits(boolean) setKeepPreviewEdits}.
- * If enabled the text change keeps the copied edit tree executed for the
- * preview allowing clients to map an original edit to an executed edit. The
- * executed edit can then be used to determine its position in the preview.
- * </p>
- * 
- * <p> 
- * Note: this class is not intented to be subclassed outside the refactoring
- * framework.
- * </p>
- * 
- * @since 3.0
- */
-public abstract class TextChange extends Change {
-
-	private static class LocalTextEditProcessor extends TextEditProcessor {
-		public static final int EXCLUDE= 1;
-		public static final int INCLUDE= 2;
-
-		private TextEdit[] fExcludes;
-		private TextEdit[] fIncludes;
-		
-		public LocalTextEditProcessor(IDocument document, TextEdit root, int flags) {
-			super(document, root, flags);
-		}
-		public void setIncludes(TextEdit[] includes) {
-			Assert.isNotNull(includes);
-			Assert.isTrue(fExcludes == null);
-			fIncludes= flatten(includes);
-		}
-		public void setExcludes(TextEdit[] excludes) {
-			Assert.isNotNull(excludes);
-			Assert.isTrue(fIncludes == null);
-			fExcludes= excludes;
-		}
-		protected boolean considerEdit(TextEdit edit) {
-			if (fExcludes != null) {
-				for (int i= 0; i < fExcludes.length; i++) {
-					if (edit.equals(fExcludes[i]))
-						return false;
-				}
-				return true;
-			}
-			if (fIncludes != null) {
-				for (int i= 0; i < fIncludes.length; i++) {
-					if (edit.equals(fIncludes[i]))
-						return true;
-				}
-				return false;
-			}
-			return true;
-		}
-		private TextEdit[] flatten(TextEdit[] edits) {
-			List result= new ArrayList(5);
-			for (int i= 0; i < edits.length; i++) {
-				flatten(result, edits[i]);
-			}
-			return (TextEdit[])result.toArray(new TextEdit[result.size()]);
-		}
-		private void flatten(List result, TextEdit edit) {
-			result.add(edit);
-			TextEdit[] children= edit.getChildren();
-			for (int i= 0; i < children.length; i++) {
-				flatten(result, children[i]);
-			}
-		}
-	}
-	
-	private static class PreviewAndRegion {
-		public PreviewAndRegion(IDocument d, IRegion r) {
-			document= d;
-			region= r;
-		}
-		public IDocument document;
-		public IRegion region;
-	}
-	
-	private String fName;
-	private List fTextEditChangeGroups;
-	private TextEditCopier fCopier;
-	private TextEdit fEdit;
-	private boolean fTrackEdits;
-	private String fTextType;
-
-	/**
-	 * A special object denoting all edits managed by the text change. This even 
-	 * includes those edits not managed by a <code>TextEditChangeGroup</code> 
-	 */
-	private static final TextEditChangeGroup[] ALL_EDITS= new TextEditChangeGroup[0]; 
-	
-	/**
-	 * Creates a new text change with the specified name.  The name is a 
-	 * human-readable value that is displayed to users.  The name does not 
-	 * need to be unique, but it must not be <code>null</code>.
-	 * <p>
-	 * The text type of this text change is set to <code>txt</code>.
-	 * </p>
-	 * 
-	 * @param name the name of the text change
-	 * 
-	 * @see #setTextType(String)
-	 */
-	protected TextChange(String name) {
-		Assert.isNotNull(name);
-		fName= name;
-		fTextEditChangeGroups= new ArrayList(5);
-		fTextType= "txt"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		for (Iterator iter= fTextEditChangeGroups.iterator(); iter.hasNext();) {
-			TextEditChangeGroup element= (TextEditChangeGroup) iter.next();
-			element.setEnabled(enabled);
-		}
-	}
-	
-	/**
-	 * Sets the text type. The text type is used to determine the content
-	 * merge viewer used to present the difference between the original
-	 * and the preview content in the user interface. Content merge viewers
-	 * are defined via the extension point <code>org.eclipse.compare.contentMergeViewers</code>.
-	 * <p>
-	 * The default text type is <code>txt</code>. 
-	 * </p>
-	 * 
-	 * @param type the text type. If <code>null</code> is passed the text type is 
-	 *  resetted to the default text type <code>txt</code>.
-	 */
-	public void setTextType(String type) {
-		if (type == null)
-			type= "txt"; //$NON-NLS-1$
-		fTextType= type;
-	}
-	
-	/**
-	 * Returns the text change's text type.
-	 * 
-	 * @return the text change's text type
-	 */
-	public String getTextType() {
-		return fTextType;
-	}
-	
-	//---- Edit management -----------------------------------------------
-	
-	/**
-	 * Sets the root text edit that should be applied to the 
-	 * document represented by this text change.
-	 * 
-	 * @param edit the root text edit. The root text edit
-	 *  can only be set once. 
-	 */
-	public void setEdit(TextEdit edit) {
-		Assert.isTrue(fEdit == null, "Root edit can only be set once"); //$NON-NLS-1$
-		Assert.isTrue(edit != null);
-		fEdit= edit;
-	}
-	
-	/**
-	 * Returns the root text edit.
-	 * 
-	 * @return the root text edit
-	 */
-	public TextEdit getEdit() {
-		return fEdit;
-	}	
-	
-	/**
-	 * Adds a {@link TextEditGroup text edit group}. This method is a convenient
-	 * method for calling <code>change.addTextEditChangeGroup(new 
-	 * TextEditChangeGroup(change, group));</code>.
-	 * 
-	 * @param group the text edit group to add
-	 */
-	public void addTextEditGroup(TextEditGroup group) {
-		addTextEditChangeGroup(new TextEditChangeGroup(this, group));
-	}
-	
-	/**
-	 * Adds a {@link TextEditChangeGroup text edit change group}. Calling the methods 
-	 * requires that a root edit has been set via the method {@link #setEdit(TextEdit)
-	 * setEdit}. The edits managed by the given text edit change group must be part of 
-	 * the change's root edit. 
-	 * 
-	 * @param group the text edit change group to add
-	 */
-	public void addTextEditChangeGroup(TextEditChangeGroup group) {
-		Assert.isTrue(fEdit != null, "Can only add a description if a root edit exists"); //$NON-NLS-1$
-		Assert.isTrue(group != null);
-		fTextEditChangeGroups.add(group);
-	}
-	
-	/**
-	 * Returns the {@link TextEditChangeGroup text edit change groups} managed by this 
-	 * text change.
-	 * 
-	 * @return the text edit change groups
-	 */
-	public TextEditChangeGroup[] getTextEditChangeGroups() {
-		return (TextEditChangeGroup[])fTextEditChangeGroups.toArray(new TextEditChangeGroup[fTextEditChangeGroups.size()]);
-	}
-	
-	/**
-	 * Aquires a reference to the document to be changed by this text
-	 * change. A document aquired by this call <em>MUST</em> be released
-	 * via a call to {@link #releaseDocument(IDocument, IProgressMonitor)}.
-	 * <p>
-	 * The method <code>releaseDocument</code> must be call as many times as 
-	 * <code>aquireDocument</code> has been called.
-	 * </p>
-	 * 
-	 * @param pm a progress monitor
-	 * 
-	 * @return a reference to the document to be changed
-	 * 
-	 * @throws CoreException if the document can't be aquired
-	 */
-	protected abstract IDocument aquireDocument(IProgressMonitor pm) throws CoreException;
-	
-	/**
-	 * Commits the document aquired via a call to {@link #aquireDocument(IProgressMonitor)
-	 * aquireDocument}. It is up to the implementors of this method to decide what committing
-	 * a document means. Typically, the content of the document is written back to the file
-	 * system.
-	 * <p>
-	 * This method can be called more than once and the number of calls doesn't have to match
-	 * the number of calls to <code>aquireDocument</code> or <code>releaseDocument</code>.
-	 * </p>
-	 * 
-	 * @param document the document to commit
-	 * @param pm a progress monitor
-	 * 
-	 * @throws CoreException if the document can't be committed
-	 */
-	protected abstract void commit(IDocument document, IProgressMonitor pm) throws CoreException;
-	
-	/**
-	 * Releases the document aquired via a call to {@link #aquireDocument(IProgressMonitor)
-	 * aquireDocument}.
-	 * 
-	 * @param document the document to release
-	 * @param pm a progress monitor
-	 * 
-	 * @throws CoreException if the document can't be released
-	 */
-	protected abstract void releaseDocument(IDocument document, IProgressMonitor pm) throws CoreException;
-	
-	/**
-	 * Hook to create an undo change for the given undo edit. This hook 
-	 * gets called while performing the change to construct the corresponding 
-	 * undo change object.
-	 * 
-	 * @param edit the {@link UndoEdit} to create an undo change for
-	 * 
-	 * @return the undo change
-	 * 
-	 * @throws CoreException if an undo change can't be created
-	 */
-	protected abstract Change createUndoChange(UndoEdit edit) throws CoreException;
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		pm.beginTask("", 3); //$NON-NLS-1$
-		IDocument document= null;
-		try {
-			document= aquireDocument(new SubProgressMonitor(pm, 1));
-			TextEditProcessor processor= createTextEditProcessor(document, TextEdit.CREATE_UNDO, false);
-			UndoEdit undo= processor.performEdits();
-			commit(document, new SubProgressMonitor(pm, 1));
-			return createUndoChange(undo);
-		} catch (BadLocationException e) {
-			throw Changes.asCoreException(e);
-		} finally {
-			if (document != null)
-				releaseDocument(document, new SubProgressMonitor(pm, 1));
-			pm.done();
-		}
-	}
-	
-	//---- Method to access the current content of the text change ---------
-
-	/**
-	 * Returns the current content of the document this text
-	 * change is applied to.
-	 * 
-	 * @return the current content of the text change
-	 * 
-	 * @exception CoreException if the content can't be accessed
-	 */
-	public String getCurrentContent() throws CoreException {
-		return getDocument().get();
-	}
-	
-	/**
-	 * Returns the current content of the text change clipped to a specific
-	 * region. The region is determined as follows:
-	 * <ul>
-	 *   <li>if <code>expandRegionToFullLine</code> is <code>false</code>
-	 *       then the parameter <code>region</code> determines the clipping.
-	 *   </li>
-	 *   <li>if <code>expandRegionToFullLine</code> is <code>true</code>
-	 *       then the region determined by the parameter <code>region</code>
-	 *       is extended to cover full lines. 
-	 *   </li>
-	 *   <li>if <code>surroundingLines</code> &gt; 0 then the given number
-	 *       of surrounding lines is added. The value of <code>surroundingLines
-	 *       </code> is only considered if <code>expandRegionToFullLine</code>
-	 *       is <code>true</code>
-	 *   </li>
-	 * </ul> 
-	 * 
-	 * @param region the starting region for the clipping
-	 * @param expandRegionToFullLine if <code>true</code> is passed the region
-	 *  is extended to cover full lines
-	 * @param surroundingLines the number of surrounding lines to be added to 
-	 *  the clipping region. Is only considered if <code>expandRegionToFullLine
-	 *  </code> is <code>true</code>
-	 * 
-	 * @return the current content of the text change clipped to a region
-	 *  determined by the given parameters.
-	 * 
-	 * @throws CoreException
-	 */
-	public String getCurrentContent(IRegion region, boolean expandRegionToFullLine, int surroundLines) throws CoreException {
-		Assert.isNotNull(region);
-		Assert.isTrue(surroundLines >= 0);
-		IDocument document= getDocument();
-		Assert.isTrue(document.getLength() >= region.getOffset() + region.getLength());
-		return getContent(document, region, expandRegionToFullLine, surroundLines);
-	}
-
-	//---- Method to access the preview content of the text change ---------
-
-	/**
-	 * Controls whether the text change should keep executed edits during 
-	 * preview generation.
-	 * 
-	 * @param keep if <code>true</code> executed preview edits are kept
-	 */
-	public void setKeepPreviewEdits(boolean keep) {
-		fTrackEdits= keep;
-		if (!fTrackEdits)
-			fCopier= null;
-	}
-	
-	/**
-	 * Returns whether preview edits are remembered for further region
-	 * tracking or not.
-	 * 
-	 * @return <code>true</code> if executed text edits are remembered
-	 * during preview generation; otherwise <code>false</code>
-	 */
-	public boolean getKeepPreviewEdits() {
-		return fTrackEdits;
-	}
-	
-	/**
-	 * Returns the edit that got executed during preview generation
-	 * instead of the given orignial. The method requires that <code>
-	 * setKeepPreviewEdits</code> is set to <code>true</code> and that 
-	 * a preview has been requested via one of the <code>getPreview*
-	 * </code> methods.
-	 * <p>
-	 * The method returns <code>null</code> if the original isn't managed
-	 * by this text change.
-	 * </p>
-	 * 
-	 * @param original the original edit managed by this text change
-	 * 
-	 * @return the edit executed during preview generation
-	 */
-	public TextEdit getPreviewEdit(TextEdit original) {
-		Assert.isTrue(fTrackEdits && fCopier != null && original != null);
-		return fCopier.getCopy(original);
-	}
-	
-	/**
-	 * Returns the edits that were executed during preview generation
-	 * instead of the given array of orignial edits. The method requires 
-	 * that <code>setKeepPreviewEdits</code> is set to <code>true</code> 
-	 * and that a preview has been requested via one of the <code>
-	 * getPreview*</code> methods.
-	 * <p>
-	 * The method returns an empty array if none of the original edits
-	 * is managed by this text change.
-	 * </p>
-	 * 
-	 * @param original an array of original edits managed by this text
-	 *  change
-	 * 
-	 * @return an array of edits containing the corresponding edits 
-	 *  executed during preview generation
-	 */
-	public TextEdit[] getPreviewEdits(TextEdit[] originals) {
-		Assert.isTrue(fTrackEdits && fCopier != null && originals != null);
-		if (originals.length == 0)
-			return new TextEdit[0];
-		List result= new ArrayList(originals.length);
-		for (int i= 0; i < originals.length; i++) {
-			TextEdit copy= fCopier.getCopy(originals[i]);
-			if (copy != null)
-				result.add(copy);
-		}
-		return (TextEdit[]) result.toArray(new TextEdit[result.size()]);
-	}
-	
-	/**
-	 * Returns a document containing a preview of the text change. The
-	 * preview is computed by executing the all managed text edits. The
-	 * method considers the active state of the added {@link TextEditChangeGroup
-	 * text edit change groups}.
-	 * 
-	 * @return a document containing the preview of the text change
-	 * 
-	 * @throws CoreException if the preview can't be created
-	 */
-	public IDocument getPreviewDocument() throws CoreException {
-		PreviewAndRegion result= getPreviewDocument(ALL_EDITS);
-		return result.document;
-	}
-	
-	/**
-	 * Returns the preview content as a string. This is a convenient
-	 * method for calling <code>getPreviewDocument().get()</code>.
-	 * 
-	 * @return the preview 
-	 * 
-	 * @throws CoreException if the preview can't be created
-	 */
-	public String getPreviewContent() throws CoreException {
-		return getPreviewDocument().get();
-	}
-	
-	/**
-	 * Returns a preview of the text change clipped to a specific region.
-	 * The preview is created by appying the text edits managed by the
-	 * given array of {@link TextEditChangeGroup text edit change groups}. 
-	 * The region is determined as follows:
-	 * <ul>
-	 *   <li>if <code>expandRegionToFullLine</code> is <code>false</code>
-	 *       then the parameter <code>region</code> determines the clipping.
-	 *   </li>
-	 *   <li>if <code>expandRegionToFullLine</code> is <code>true</code>
-	 *       then the region determined by the parameter <code>region</code>
-	 *       is extended to cover full lines. 
-	 *   </li>
-	 *   <li>if <code>surroundingLines</code> &gt; 0 then the given number
-	 *       of surrounding lines is added. The value of <code>surroundingLines
-	 *       </code> is only considered if <code>expandRegionToFullLine</code>
-	 *       is <code>true</code>
-	 *   </li>
-	 * </ul> 
-	 * 
-	 * @param region the starting region for the clipping
-	 * @param expandRegionToFullLine if <code>true</code> is passed the region
-	 *  is extended to cover full lines
-	 * @param surroundingLines the number of surrounding lines to be added to 
-	 *  the clipping region. Is only considered if <code>expandRegionToFullLine
-	 *  </code> is <code>true</code>
-	 * 
-	 * @return the current content of the text change clipped to a region
-	 *  determined by the given parameters.
-	 * 
-	 * @throws CoreException
-	 * 
-	 * @see #getCurrentContent(IRegion, boolean, int)
-	 */
-	public String getPreviewContent(TextEditChangeGroup[] changes, IRegion region, boolean expandRegionToFullLine, int surroundingLines) throws CoreException {
-		IRegion currentRegion= getRegion(changes);
-		Assert.isTrue(region.getOffset() <= currentRegion.getOffset() && 
-			currentRegion.getOffset() + currentRegion.getLength() <= region.getOffset() + region.getLength());
-		PreviewAndRegion result= getPreviewDocument(changes);
-		int delta= result.region.getLength() - currentRegion.getLength();
-		return getContent(result.document, new Region(region.getOffset(), region.getLength() + delta), expandRegionToFullLine, surroundingLines);
-		
-	}
-
-	//---- private helper methods --------------------------------------------------
-	
-	private PreviewAndRegion getPreviewDocument(TextEditChangeGroup[] changes) throws CoreException {
-		IDocument document= new Document(getDocument().get());
-		boolean trackChanges= fTrackEdits;
-		setKeepPreviewEdits(true);
-		TextEditProcessor processor= changes == ALL_EDITS
-			? createTextEditProcessor(document, TextEdit.NONE, true)
-			: createTextEditProcessor(document, TextEdit.NONE, changes);
-		try {
-			processor.performEdits();
-			return new PreviewAndRegion(document, getNewRegion(changes));
-		} catch (BadLocationException e) {
-			throw Changes.asCoreException(e);
-		} finally {
-			setKeepPreviewEdits(trackChanges);
-		}
-	}
-	
-	private TextEditProcessor createTextEditProcessor(IDocument document, int flags, boolean preview) throws CoreException {
-		if (fEdit == null)
-			return new TextEditProcessor(document, new MultiTextEdit(0,0), flags);
-		List excludes= new ArrayList(0);
-		for (Iterator iter= fTextEditChangeGroups.iterator(); iter.hasNext(); ) {
-			TextEditChangeGroup edit= (TextEditChangeGroup)iter.next();
-			if (!edit.isEnabled()) {
-				excludes.addAll(Arrays.asList(edit.getTextEditGroup().getTextEdits()));
-			}
-		}
-		if (preview) {
-			fCopier= new TextEditCopier(fEdit);
-			TextEdit copiedEdit= fCopier.perform();
-			if (fTrackEdits)
-				flags= flags | TextEdit.UPDATE_REGIONS;
-			LocalTextEditProcessor result= new LocalTextEditProcessor(document, copiedEdit, flags);
-			result.setExcludes(mapEdits(
-				(TextEdit[])excludes.toArray(new TextEdit[excludes.size()]),
-				fCopier));	
-			if (!fTrackEdits)
-				fCopier= null;
-			return result;
-		} else {
-			LocalTextEditProcessor result= new LocalTextEditProcessor(document, fEdit, flags | TextEdit.UPDATE_REGIONS);
-			result.setExcludes((TextEdit[])excludes.toArray(new TextEdit[excludes.size()]));
-			return result;
-		}
-	}
-	
-	private TextEditProcessor createTextEditProcessor(IDocument document, int flags, TextEditChangeGroup[] changes) throws CoreException {
-		if (fEdit == null)
-			return new TextEditProcessor(document, new MultiTextEdit(0,0), flags);
-		List includes= new ArrayList(0);
-		for (int c= 0; c < changes.length; c++) {
-			TextEditChangeGroup change= changes[c];
-			Assert.isTrue(change.getTextChange() == this);
-			if (change.isEnabled()) {
-				includes.addAll(Arrays.asList(change.getTextEditGroup().getTextEdits()));
-			}
-		}
-		fCopier= new TextEditCopier(fEdit);
-		TextEdit copiedEdit= fCopier.perform();
-		if (fTrackEdits)
-			flags= flags | TextEdit.UPDATE_REGIONS;
-		LocalTextEditProcessor result= new LocalTextEditProcessor(document, copiedEdit, flags);
-		result.setIncludes(mapEdits(
-			(TextEdit[])includes.toArray(new TextEdit[includes.size()]),
-			fCopier));
-		if (!fTrackEdits)
-			fCopier= null;
-		return result;
-	}
-	
-	private IDocument getDocument() throws CoreException {
-		IDocument result= null;
-		try{
-			result= aquireDocument(new NullProgressMonitor());
-		} finally {
-			if (result != null)
-				releaseDocument(result, new NullProgressMonitor());
-		}
-		return result;
-	}
-	
-	private TextEdit[] mapEdits(TextEdit[] edits, TextEditCopier copier) {
-		if (edits == null)
-			return null;
-		for (int i= 0; i < edits.length; i++) {
-			edits[i]= copier.getCopy(edits[i]);
-		}
-		return edits;
-	}
-	
-	private String getContent(IDocument document, IRegion region, boolean expandRegionToFullLine, int surroundingLines) throws CoreException {
-		try {
-			if (expandRegionToFullLine) {
-				int startLine= Math.max(document.getLineOfOffset(region.getOffset()) - surroundingLines, 0);
-				int endLine;
-				if (region.getLength() == 0) {
-					endLine= Math.min(
-						document.getLineOfOffset(region.getOffset()) + surroundingLines,
-						document.getNumberOfLines() - 1);
-				} else {
-					endLine= Math.min(
-						document.getLineOfOffset(region.getOffset() + region.getLength() - 1) + surroundingLines,
-						document.getNumberOfLines() - 1);
-				}
-				
-				int offset= document.getLineInformation(startLine).getOffset();
-				IRegion endLineRegion= document.getLineInformation(endLine);
-				int length = endLineRegion.getOffset() + endLineRegion.getLength() - offset;
-				return document.get(offset, length);
-				
-			} else {
-				return document.get(region.getOffset(), region.getLength());
-			}
-		} catch (BadLocationException e) {
-			throw Changes.asCoreException(e);
-		}
-	}
-	
-	private IRegion getRegion(TextEditChangeGroup[] changes) {
-		if (changes == ALL_EDITS) {
-			if (fEdit == null)
-				return null;
-			return fEdit.getRegion();
-		} else {
-			List edits= new ArrayList();
-			for (int i= 0; i < changes.length; i++) {
-				edits.addAll(Arrays.asList(changes[i].getTextEditGroup().getTextEdits()));
-			}
-			if (edits.size() == 0)
-				return null;
-			return TextEdit.getCoverage((TextEdit[]) edits.toArray(new TextEdit[edits.size()]));
-		}
-	}
-	
-	private IRegion getNewRegion(TextEditChangeGroup[] changes) {
-		if (changes == ALL_EDITS) {
-			if (fEdit == null)
-				return null;
-			return fCopier.getCopy(fEdit).getRegion();
-		} else {
-			List result= new ArrayList();
-			for (int c= 0; c < changes.length; c++) {
-				TextEdit[] edits= changes[c].getTextEditGroup().getTextEdits();
-				for (int e= 0; e < edits.length; e++) {
-					TextEdit copy= fCopier.getCopy(edits[e]);
-					if (copy != null)
-						result.add(copy);
-				}
-			}
-			if (result.size() == 0)
-				return null;
-			return TextEdit.getCoverage((TextEdit[]) result.toArray(new TextEdit[result.size()]));
-		}
-	}
-}
-
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextEditChangeGroup.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextEditChangeGroup.java
deleted file mode 100644
index 380d59f..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextEditChangeGroup.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.text.edits.TextEditGroup;
-
-import org.eclipse.jface.text.IRegion;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * This class is a wrapper around a {@link TextEditGroup TextEditGroup}
- * adding support for marking a group as active and inactive.
- * 
- * @see TextEditGroup
- * 
- * @since 3.0
- */
-public class TextEditChangeGroup {
-	
-	private boolean fIsEnabled;
-	private TextChange fTextChange;
-	private TextEditGroup fTextEditGroup;
-	
-	/**
-	 * Creates new <code>TextEditChangeGroup</code> for the given <code>
-	 * TextChange</code> and <code>TextEditGroup</code>.
-	 * 
-	 * @param change the change owning this text edit change group
-	 * @param group the underlying text edit group
-	 */
-	public TextEditChangeGroup(TextChange change, TextEditGroup group) {
-		Assert.isNotNull(change);
-		Assert.isNotNull(group);
-		fTextChange= change;
-		fIsEnabled= true;
-		fTextEditGroup= group;
-	}
-	
-	/**
-	 * Returns the groups's name by forwarding the method
-	 * to the underlying text edit group.
-	 * 
-	 * @return the group's name
-	 */
-	public String getName() {
-		return fTextEditGroup.getName();
-	}
-	
-	/**
-	 * Marks the group as enabled or disabled. If a group
-	 * is marked as disabled the text edits managed by the
-	 * underlying text edit group aren't executed when
-	 * performing the text change that owns this group.
-	 * 
-	 * @param enabled <code>true</code> to mark this group
-	 *  as enabled, <code>false</code> to mark it as disabled
-	 */
-	public void setEnabled(boolean enabled) {
-		fIsEnabled= enabled;
-	}
-	
-	/**
-	 * Returns whether the group is enabled or not.
-	 * 
-	 * @return <code>true</code> if the group is marked as
-	 *  enabled; <code>false</code> otherwise
-	 */
-	public boolean isEnabled() {
-		return fIsEnabled;
-	}
-	
-	/**
-	 * Returns the text change this group belongs to.
-	 * 
-	 * @return the text change this group belongs to
-	 */
-	public TextChange getTextChange() {
-		return fTextChange;
-	}
-	
-	/**
-	 * Returns the underlying text edit group.
-	 * 
-	 * @return the underlying text edit group
-	 */
-	public TextEditGroup getTextEditGroup() {
-		return fTextEditGroup;
-	}
-	
-	/**
-	 * Returns the region covered by the underlying 
-	 * text edit group.
-	 * 
-	 * @return the region covered by the underlying
-	 *  text edit group
-	 */
-	public IRegion getRegion() {
-		return fTextEditGroup.getRegion();
-	}
-	
-	/**
-	 * Returns the text edits managed by the underlying
-	 * text edit group.
-	 * 
-	 * @return the text edits managed by the underlying
-	 *  text edit group
-	 */
-	public TextEdit[] getTextEdits() {
-		return fTextEditGroup.getTextEdits();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextFileChange.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextFileChange.java
deleted file mode 100644
index be74f09..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/TextFileChange.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.text.edits.UndoEdit;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.core.resources.IFile;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.BufferValidationState;
-import org.eclipse.ltk.internal.core.refactoring.Changes;
-
-/**
- * A special {@link TextChange} that operates on <code>IFile</code>s.
- * 
- * @since 3.0 
- */
-public class TextFileChange extends TextChange {
-	
-	/** Flag indicating that the file's save state has to be kept. This means an unsaved file is still
-	 *  unsaved after performing the change and a saved one will be saved. */
-	public static final int KEEP_SAVE_STATE= 1 << 0;
-	/** Flag indicating that the file is to be saved after the change has been applied. */
-	public static final int FORCE_SAVE= 1 << 1;
-	/** Flag indicating that the file will not be saved after the change has been applied. */
-	public static final int LEAVE_DIRTY= 1 << 2;
-	
-	
-	// the file to change
-	private IFile fFile;
-	private int fSaveMode= KEEP_SAVE_STATE;
-	
-	// the mapped text buffer
-	private int fAquireCount;
-	private ITextFileBuffer fBuffer;
-	
-	private boolean fDirty;
-	private BufferValidationState fValidationState;
-	
-	/**
-	 * Creates a new <code>TextFileChange</code> for the given file.
-	 * s
-	 * @param name the change's name mainly used to render the change in the UI
-	 * @param file the file this text change operates on
-	 */
-	public TextFileChange(String name, IFile file) {
-		super(name);
-		Assert.isNotNull(file);
-		fFile= file;
-	}
-	
-	/**
-	 * Sets the save state. If set to <code>true</code> the change will save the
-	 * content of the file back to disk.
-	 * 
-	 * @param save whether or not the changes should be saved to disk
-	 */
-	public void setSaveMode(int saveMode) {
-		fSaveMode= saveMode;
-	}
-	
-	/**
-	 * Returns whether the change saves the changes back to disk.
-	 * 
-	 * @return <code>true</code> if the change saves the modified
-	 *  content back to disk; otherwise <code>false</code> is
-	 *  returned
-	 */
-	public int getSaveMode() {
-		return fSaveMode;
-	}
-	
-	/**
-	 * Returns the <code>IFile</code> this change is working on.
-	 * 
-	 * @return the file this change is working on
-	 */
-	public IFile getFile() {
-		return fFile;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getModifiedElement(){
-		return fFile;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {
-		pm.beginTask("", 1); //$NON-NLS-1$
-		fValidationState= BufferValidationState.create(fFile);
-		ITextFileBuffer buffer= FileBuffers.getTextFileBufferManager().getTextFileBuffer(fFile.getFullPath());
-		fDirty= buffer != null && buffer.isDirty();
-		pm.worked(1);
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		pm.beginTask("", 1); //$NON-NLS-1$
-		RefactoringStatus result= fValidationState.isValid();
-		if (needsSaving()) {
-			result.merge(Changes.validateModifiesFiles(new IFile[] {fFile}));
-		}
-		pm.worked(1);
-		return result;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void dispose() {
-		fValidationState.dispose();
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected IDocument aquireDocument(IProgressMonitor pm) throws CoreException {
-		if (fAquireCount > 0)
-			return fBuffer.getDocument();
-		
-		ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
-		IPath path= fFile.getFullPath();
-		manager.connect(path, pm);
-		fAquireCount++;
-		fBuffer= manager.getTextFileBuffer(path);
-		return fBuffer.getDocument();
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void commit(IDocument document, IProgressMonitor pm) throws CoreException {
-		if (needsSaving()) {
-			fBuffer.commit(pm, false);
-		}
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void releaseDocument(IDocument document, IProgressMonitor pm) throws CoreException {
-		Assert.isTrue(fAquireCount > 0);
-		if (fAquireCount == 1) {
-			ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
-			manager.disconnect(fFile.getFullPath(), pm);
-		}
-		fAquireCount--;
- 	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected Change createUndoChange(UndoEdit edit) throws CoreException {
-		return new UndoTextFileChange(getName(), fFile, edit, fSaveMode);
-	}
-	
-	private boolean needsSaving() {
-		return (fSaveMode & FORCE_SAVE) != 0 || (!fDirty && (fSaveMode & KEEP_SAVE_STATE) != 0);
-	}
-}
-
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/UndoManagerAdapter.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/UndoManagerAdapter.java
deleted file mode 100644
index 5ea5a4c..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/UndoManagerAdapter.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.ltk.core.refactoring;
-
-/**
- * This adapter class provides default implementations for the
- * methods described by the {@link IUndoManagerListener} interface.
- * 
- * @since 3.0
- */
-public class UndoManagerAdapter implements IUndoManagerListener {
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void undoStackChanged(IUndoManager manager) {
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void redoStackChanged(IUndoManager manager) {
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void aboutToPerformChange(IUndoManager manager, Change change) {
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public void changePerformed(IUndoManager manager, Change change) {
-	}
-}
-
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/UndoTextFileChange.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/UndoTextFileChange.java
deleted file mode 100644
index 4fb9d92..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/UndoTextFileChange.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring;
-
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.text.edits.UndoEdit;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.core.resources.IFile;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.BufferValidationState;
-import org.eclipse.ltk.internal.core.refactoring.Changes;
-
-/**
- * A change to perform the reverse change of a {@link TextFileChange}.
- * <p>
- * This class is not intended to be instantiated by clients. It is
- * usually created by a <code>TextFileChange</code> object.
- * </p>
- * 
- * @since 3.0
- */
-public class UndoTextFileChange extends Change {
-	
-	private String fName;
-	private UndoEdit fUndo;
-	private IFile fFile;
-	private int fSaveMode;
-	
-	private boolean fDirty;
-	private BufferValidationState fValidationState;
-	
-	/**
-	 * Create a new undo text file change object.
-	 * 
-	 * @param name the human readable name of the change 
-	 * @param file the file the change is working on
-	 * @param undo the edit representing the undo modifications 
-	 * @param saveMode the save mode as specified by {@link TextFileChange}
-	 * 
-	 * @see TextFileChange#KEEP_SAVE_STATE
-	 * @see TextFileChange#FORCE_SAVE
-	 * @see TextFileChange#LEAVE_DIRTY
-	 */
-	protected UndoTextFileChange(String name, IFile file, UndoEdit undo, int saveMode) {
-		Assert.isNotNull(name);
-		Assert.isNotNull(undo);
-		fName= name;
-		fFile= file;
-		fUndo= undo;
-		fSaveMode= saveMode;
-	}
-	
-	/**
-	 * Returns the change's save mode.
-	 * 
-	 * @return the change's save mode
-	 * 
-	 * @see TextFileChange#KEEP_SAVE_STATE
-	 * @see TextFileChange#FORCE_SAVE
-	 * @see TextFileChange#LEAVE_DIRTY
-	 */
-	public int getSaveMode() {
-		return fSaveMode;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * Hook to create an undo change for the given undo edit. This hook 
-	 * gets called while performing the change to construct the corresponding 
-	 * undo change object.
-	 * <p>
-	 * Subclasses may override it to create a different undo change.
-	 * </p>
-	 * 
-	 * @param edit the {@link UndoEdit undo edit} to create a undo change for
-	 * 
-	 * @return the undo change
-	 * 
-	 * @throws CoreException if an undo change can't be created
-	 */
-	protected Change createUndoChange(UndoEdit edit) throws CoreException {
-		return new UndoTextFileChange(getName(), fFile, edit, fSaveMode);
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getModifiedElement() {
-		return fFile;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {
-		pm.beginTask("", 1); //$NON-NLS-1$
-		fValidationState= BufferValidationState.create(fFile);
-		ITextFileBuffer buffer= FileBuffers.getTextFileBufferManager().getTextFileBuffer(fFile.getFullPath());
-		fDirty= buffer != null && buffer.isDirty();
-		pm.worked(1);
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		pm.beginTask("", 1); //$NON-NLS-1$
-		RefactoringStatus result= fValidationState.isValid();
-		pm.worked(1);
-		return result;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
-		pm.beginTask("", 2); //$NON-NLS-1$
-		ITextFileBuffer buffer= null;
-		try {
-			manager.connect(fFile.getFullPath(), new SubProgressMonitor(pm, 1));
-			buffer= manager.getTextFileBuffer(fFile.getFullPath());
-			IDocument document= buffer.getDocument();
-			UndoEdit redo= fUndo.apply(document, TextEdit.CREATE_UNDO);
-			if (needsSaving())
-				buffer.commit(pm, false);
-			return createUndoChange(redo);
-		} catch (BadLocationException e) {
-			throw Changes.asCoreException(e);
-		} finally {
-			if (buffer != null)
-				manager.disconnect(fFile.getFullPath(), new SubProgressMonitor(pm, 1));
-		}
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void dispose() {
-		fValidationState.dispose();
-	}
-	
-	private boolean needsSaving() {
-		return (fSaveMode & TextFileChange.FORCE_SAVE) != 0 || (!fDirty && (fSaveMode & TextFileChange.KEEP_SAVE_STATE) != 0);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/package.html b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/package.html
deleted file mode 100644
index 4a25206..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-                    
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-                    
-  <meta name="Author" content="IBM">
-                    
-  <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-  <title>Package-level Javadoc</title>
-    
-</head>
-<body>
-Under construction
-</body>
-</html>
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java
deleted file mode 100644
index 960d0a0..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import java.util.HashMap;
-import java.util.Iterator;
-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.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.internal.core.refactoring.RefactoringCoreMessages;
-import org.eclipse.ltk.internal.core.refactoring.RefactoringCorePlugin;
-
-/**
- * A context that is shared between the refactoring processor and
- * all its associated participants during condition checking. 
- * <p>
- * The context manages a set of {@link IConditionChecker} objects
- * to collect condition checks that should be perform across all
- * participants and the processor. For example validating if a
- * file can be changed (see {@link org.eclipse.core.resources.IWorkspace#validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object)}
- * should only be called once for all files modified by the processor
- * and all participants. 
- * </p>
- * 
- * @since 3.0
- */
-public class CheckConditionsContext {
-	
-	private Map fCheckers= new HashMap();
-	
-	/**
-	 * Returns the condition checker of the given type.
-	 * 
-	 * @param clazz the type of the condition checker
-	 * 
-	 * @return the condition checker or <code>null</code> if
-	 *  no checker is registered for the given type
-	 */
-	public IConditionChecker getChecker(Class clazz) {
-		return (IConditionChecker)fCheckers.get(clazz);
-	}
-	
-	/**
-	 * Adds the given condition checker. An assertion will be
-	 * thrown if a checker of the same type already exists in
-	 * this context.
-	 * 
-	 * @param checker the checker to add
-	 * @throws CoreException if a checker of the same type already
-	 *  exists.
-	 */
-	public void add(IConditionChecker checker) throws CoreException {
-		Object old= fCheckers.put(checker.getClass(), checker);
-		if (old != null) {
-			fCheckers.put(checker.getClass(), old);
-			throw new CoreException(new Status(IStatus.ERROR, RefactoringCorePlugin.getPluginId(),
-				IRefactoringCoreStatusCodes.CHECKER_ALREADY_EXISTS_IN_CONTEXT, 
-				RefactoringCoreMessages.getFormattedString("CheckConditionContext.error.checker_exists", checker.getClass().toString()), //$NON-NLS-1$
-				null));  
-		}
-	}
-	
-	/**
-	 * Checks the condition of all registered condition checkers and returns a
-	 * merge status result.
-	 * 
-	 * @param pm a progress monitor
-	 * 
-	 * @return the combined status result
-	 * 
-	 * @throws CoreException if an error occurs during condition checking
-	 */
-	public RefactoringStatus check(IProgressMonitor pm) throws CoreException {
-		RefactoringStatus result= new RefactoringStatus();
-		for (Iterator iter= fCheckers.values().iterator(); iter.hasNext();) {
-			IConditionChecker checker= (IConditionChecker)iter.next();
-			result.merge(checker.check(new SubProgressMonitor(pm, 1)));
-		}
-		return result;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CopyArguments.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CopyArguments.java
deleted file mode 100644
index 3052fea..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CopyArguments.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * Copy arguments describes the data that a processor
- * provides to its copy participants.
- * 
- * @since 3.0
- */
-public class CopyArguments extends RefactoringArguments {
-	
-	private Object fDestination;
-	
-	/**
-	 * Creates new copy arguments.
-	 * 
-	 * @param destination the destination of the copy operation
-	 */
-	public CopyArguments(Object destination) {
-		Assert.isNotNull(destination);
-		fDestination= destination;
-	}
-	
-	/**
-	 * Returns the destination of the copy operation
-	 * 
-	 * @return the copy's destination
-	 */
-	public Object getDestination() {
-		return fDestination;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CopyParticipant.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CopyParticipant.java
deleted file mode 100644
index e136cf0..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CopyParticipant.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-
-public abstract class CopyParticipant extends RefactoringParticipant {
-
-	private CopyArguments fArguments;
-
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void initialize(RefactoringArguments arguments) {
-		fArguments= (CopyArguments)arguments;
-	}
-	
-	/**
-	 * Returns the copy arguments.
-	 * 
-	 * @return the copy arguments
-	 */
-	public CopyArguments getArguments() {
-		return fArguments;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CreateArguments.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CreateArguments.java
deleted file mode 100644
index 2392498..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CreateArguments.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-/**
- * Create arguments describes the data that a processor 
- * provides to its create participants.
- *  
- * @since 3.0
- */
-public class CreateArguments extends RefactoringArguments {
-	
-	/**
-	 * Creates a new create arguments object.
-	 */
-	public CreateArguments() {
-	}	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CreateParticipant.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CreateParticipant.java
deleted file mode 100644
index 68ee172..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CreateParticipant.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-public abstract class CreateParticipant extends RefactoringParticipant {
-	
-	private CreateArguments fArguments;
-
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void initialize(RefactoringArguments arguments) {
-		fArguments= (CreateArguments)arguments;
-	}
-	
-	/**
-	 * Returns the create arguments.
-	 * 
-	 * @return the create arguments
-	 */
-	public CreateArguments getArguments() {
-		return fArguments;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteArguments.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteArguments.java
deleted file mode 100644
index 2278170..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteArguments.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-/**
- * Delete arguments describes the data that a processor provides 
- * to its delete participants.
- *  
- * @since 3.0
- */
-public class DeleteArguments extends RefactoringArguments {
-	
-	/**
-	 * Creates a new delete arguments object.
-	 */
-	public DeleteArguments() {
-	}	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteParticipant.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteParticipant.java
deleted file mode 100644
index c2c7223..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteParticipant.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-/**
- * TODO Write Java doc
- * @since 3.0
- */
-public abstract class DeleteParticipant extends RefactoringParticipant {
-
-	private DeleteArguments fArguments;
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void initialize(RefactoringArguments arguments) {
-		fArguments= (DeleteArguments)arguments;
-	}
-	
-	/**
-	 * Returns the delete arguments.
-	 * 
-	 * @return the delete arguments
-	 */
-	public DeleteArguments getArguments() {
-		return fArguments;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteProcessor.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteProcessor.java
deleted file mode 100644
index 694dbcc..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteProcessor.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-
-public abstract class DeleteProcessor extends RefactoringProcessor {
-
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteRefactoring.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteRefactoring.java
deleted file mode 100644
index b45110a..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/DeleteRefactoring.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.ltk.core.refactoring.participants;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * A generic delete refactoring. The actual refactoring is done
- * by the delete processor passed to the constructor.
- * 
- * @since 3.0
- */
-public class DeleteRefactoring extends ProcessorBasedRefactoring {
-
-	private DeleteProcessor fProcessor;
-	
-	/**
-	 * Constructs a new delete refactoring for the given processor.
-	 * 
-	 * @param processor the delete processor
-	 */
-	public DeleteRefactoring(DeleteProcessor processor) throws CoreException {
-		Assert.isNotNull(processor);
-		fProcessor= processor;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringProcessor getProcessor() {
-		return fProcessor;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/IConditionChecker.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/IConditionChecker.java
deleted file mode 100644
index 6465da6..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/IConditionChecker.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * A condition checker can be used to share condition checks
- * across the main processor and all its associated participants.
- * 
- * @see org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext
- * 
- * @since 3.0 
- */
-public interface IConditionChecker {
-
-	/**
-	 * Performs the actual condition checking.
-	 * 
-	 * @param monitor a progress monitor to report progress
-	 * @return the outcome of the condition check
-	 * 
-	 * @throws CoreException if an error occurred during condition
-	 *  checking
-	 */
-	public RefactoringStatus check(IProgressMonitor monitor) throws CoreException;
-	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ISharableParticipant.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ISharableParticipant.java
deleted file mode 100644
index 64961f3..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ISharableParticipant.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-
-public interface ISharableParticipant {
-
-	public void addElement(Object element, RefactoringArguments arguments);
-
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveArguments.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveArguments.java
deleted file mode 100644
index d7ce564..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveArguments.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * Move arguments describes the data that a processor
- * provides to its move participants.
- * 
- * @since 3.0
- */
-public class MoveArguments extends RefactoringArguments {
-	
-	private Object fDestination;
-	private boolean fUpdateReferences;
-	
-	/**
-	 * Creates new rename arguments.
-	 * 
-	 * @param destination the destination of the move
-	 * @param updateReferences <code>true</code> if reference
-	 *  updating is requested; <code>false</code> otherwise
-	 */
-	public MoveArguments(Object destination, boolean updateReferences) {
-		Assert.isNotNull(destination);
-		fDestination= destination;
-		fUpdateReferences= updateReferences;
-	}
-	
-	/**
-	 * Returns the destination of the move
-	 * 
-	 * @return the move's destination
-	 */
-	public Object getDestination() {
-		return fDestination;
-	}
-	
-	/**
-	 * Returns whether reference updating is requested or not.
-	 * 
-	 * @return returns <code>true</code> if reference
-	 *  updating is requested; <code>false</code> otherwise
-	 */
-	public boolean getUpdateReferences() {
-		return fUpdateReferences;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveParticipant.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveParticipant.java
deleted file mode 100644
index a2f87ce..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveParticipant.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-public abstract class MoveParticipant extends RefactoringParticipant {
-
-	private MoveArguments fArguments;
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void initialize(RefactoringArguments arguments) {
-		fArguments= (MoveArguments)arguments;
-	}
-	
-	/**
-	 * Returns the move arguments.
-	 * 
-	 * @return the move arguments
-	 */
-	public MoveArguments getArguments() {
-		return fArguments;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveProcessor.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveProcessor.java
deleted file mode 100644
index a3b5555..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveProcessor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-/**
- * A rename processor is a special refactoring processor to support 
- * participating in rename refactorings. A rename processor is responsible
- * for actual renaming the element to be refactored. Additionally the
- * processor can update reference which are part of the same domain as the 
- * element to be renamed. For example a processor to rename a Java field 
- * can also update all references to that field found in Java files.
- * <p>
- * A rename processor is also responsible to load participants that want
- * to participate in a rename refactoring.
- * </p>
- * 
- * @since 3.0
- */
-public abstract class MoveProcessor extends RefactoringProcessor {
-
-	private int fStyle;
-	
-	protected MoveProcessor() {
-		fStyle= RefactoringStyles.NEEDS_PREVIEW;	
-	}
-	
-	protected MoveProcessor(int style) {
-		fStyle= style;	
-	}
-
-	public int getStyle() {
-		return fStyle;
-	}	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveRefactoring.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveRefactoring.java
deleted file mode 100644
index 6ec9fd9..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/MoveRefactoring.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * A generic move refactoring. The actual refactoring is done
- * by the move processor passed to the constructor.
- * 
- * @since 3.0
- */
-public class MoveRefactoring extends ProcessorBasedRefactoring {
-
-	private MoveProcessor fProcessor;
-
-	/**
-	 * Creates a new move refactoring with the given move processor.
-	 * 
-	 * @param processor the move processor
-	 */
-	public MoveRefactoring(MoveProcessor processor) {
-		Assert.isNotNull(processor);
-		fProcessor= processor; 
-	}
-	
-	/**
-	 * Returns the move processor associated with this move refactoring.
-	 * 
-	 * @return
-	 */
-	public MoveProcessor getMoveProcessor() {
-		return fProcessor;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringProcessor getProcessor() {
-		return fProcessor;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantExtensionPoint.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantExtensionPoint.java
deleted file mode 100644
index a9653a8..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantExtensionPoint.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.core.expressions.EvaluationContext;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.ParticipantDescriptor;
-import org.eclipse.ltk.internal.core.refactoring.RefactoringCorePlugin;
-
-/* package */ class ParticipantExtensionPoint {
-	
-	private String fName;
-		
-	private String fParticipantID;
-	private List fParticipants;
-	
-	//---- debuging----------------------------------------
-	/*
-	private static final boolean EXIST_TRACING;
-	static {
-		String value= Platform.getDebugOption("org.eclipse.jdt.ui/processor/existTracing"); //$NON-NLS-1$
-		EXIST_TRACING= value != null && value.equalsIgnoreCase("true"); //$NON-NLS-1$
-	}
-	
-	private void printTime(long start) {
-		System.out.println("[" + fName +  //$NON-NLS-1$
-			" extension manager] - existing test: " +  //$NON-NLS-1$
-			(System.currentTimeMillis() - start) + " ms"); //$NON-NLS-1$
-	}
-	*/
-	
-	public ParticipantExtensionPoint(String name, String participantId) {
-		Assert.isNotNull(name);
-		Assert.isNotNull(participantId);
-		fName= name;
-		fParticipantID= participantId;
-	}
-	
-	public String getName() {
-		return fName;
-	}
-
-	public RefactoringParticipant[] getParticipants(RefactoringProcessor processor, Object element, RefactoringArguments arguments, String[] affectedNatures, SharableParticipants shared) {
-		if (fParticipants == null)
-			init();
-		
-		EvaluationContext evalContext= createEvaluationContext(processor, element, affectedNatures);
-		List result= new ArrayList();
-		for (Iterator iter= fParticipants.iterator(); iter.hasNext();) {
-			ParticipantDescriptor descriptor= (ParticipantDescriptor)iter.next();
-			if (!descriptor.isEnabled()) {
-				iter.remove();
-			} else {
-				try {
-					if (descriptor.matches(evalContext)) {
-						RefactoringParticipant participant= shared.get(descriptor);
-						if (participant != null) {
-							((ISharableParticipant)participant).addElement(element, arguments);
-						} else {
-							participant= descriptor.createParticipant();
-							if (participant.initialize(processor, element, arguments)) {
-								participant.setDescriptor(descriptor);
-								result.add(participant);
-								if (participant instanceof ISharableParticipant)
-									shared.put(descriptor, participant);
-							}
-						}
-					}
-				} catch (CoreException e) {
-					RefactoringCorePlugin.logRemovedParticipant(descriptor, e);
-					iter.remove();
-				}
-			}
-		}
-		
-		return (RefactoringParticipant[])result.toArray(new RefactoringParticipant[result.size()]);
-	}
-	
-	private void init() {
-		IPluginRegistry registry= Platform.getPluginRegistry();
-		IConfigurationElement[] ces= registry.getConfigurationElementsFor(
-			RefactoringCorePlugin.getPluginId(), 
-			fParticipantID);
-		fParticipants= new ArrayList(ces.length); 
-		for (int i= 0; i < ces.length; i++) {
-			ParticipantDescriptor descriptor= new ParticipantDescriptor(ces[i]);
-			IStatus status= descriptor.checkSyntax();
-			switch (status.getSeverity()) {
-				case IStatus.ERROR:
-					RefactoringCorePlugin.log(status);
-					break;
-				case IStatus.WARNING:
-				case IStatus.INFO:
-					RefactoringCorePlugin.log(status);
-					// fall through
-				default:
-					fParticipants.add(descriptor);
-			}
-		}
-	}
-	
-	//---- Helper methods ------------------------------------------------------------------
-	
-	private static EvaluationContext createEvaluationContext(RefactoringProcessor processor, Object element, String[] affectedNatures) {
-		EvaluationContext result= new EvaluationContext(null, element);
-		result.addVariable("element", element); //$NON-NLS-1$
-		result.addVariable("affectedNatures", Arrays.asList(affectedNatures)); //$NON-NLS-1$
-		result.addVariable("processorIdentifier", processor.getIdentifier()); //$NON-NLS-1$
-		return result;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantManager.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantManager.java
deleted file mode 100644
index a1876bd..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ParticipantManager.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-
-/**
- * Facade to access the rename, move, delete, create and copy participant
- * extension point provided by the org.eclipse.ltk.core.refactoring plug-in.
- * 
- * @since 3.0
- */
-public class ParticipantManager {
-	
-	//---- Rename participants ----------------------------------------------------------------
-	
-	private static final String RENAME_PARTICIPANT_EXT_POINT= "renameParticipants"; //$NON-NLS-1$
-	private static ParticipantExtensionPoint fgRenameInstance= new ParticipantExtensionPoint("Rename", RENAME_PARTICIPANT_EXT_POINT); //$NON-NLS-1$
-	
-	public static RenameParticipant[] getRenameParticipants(RefactoringProcessor processor, Object element, RenameArguments arguments, String[] affectedNatures, SharableParticipants shared) {
-		RefactoringParticipant[] participants= fgRenameInstance.getParticipants(processor, element, arguments, affectedNatures, shared);
-		RenameParticipant[] result= new RenameParticipant[participants.length];
-		System.arraycopy(participants, 0, result, 0, participants.length);
-		return result;
-	}
-	
-	//---- Move participants ----------------------------------------------------------------
-	
-	private static final String MOVE_PARTICIPANT_EXT_POINT= "moveParticipants"; //$NON-NLS-1$
-	private static ParticipantExtensionPoint fgMoveExtensions= new ParticipantExtensionPoint("Move", MOVE_PARTICIPANT_EXT_POINT); //$NON-NLS-1$
-
-	public static MoveParticipant[] getMoveParticipants(RefactoringProcessor processor, Object element, MoveArguments arguments, String[] affectedNatures, SharableParticipants shared) {
-		RefactoringParticipant[] participants= fgMoveExtensions.getParticipants(processor, element, arguments, affectedNatures, shared);
-		MoveParticipant[] result= new MoveParticipant[participants.length];
-		System.arraycopy(participants, 0, result, 0, participants.length);
-		return result;
-	}
-
-	//---- Copy participants ----------------------------------------------------------------
-	
-	private static final String COPY_PARTICIPANT_EXT_POINT= "copyParticipants"; //$NON-NLS-1$
-	private static ParticipantExtensionPoint fgCopyInstance= new ParticipantExtensionPoint("Copy", COPY_PARTICIPANT_EXT_POINT); //$NON-NLS-1$
-	
-	public static CopyParticipant[] getCopyParticipants(RefactoringProcessor processor, Object element, CopyArguments arguments, String[] affectedNatures, SharableParticipants shared) {
-		RefactoringParticipant[] participants= fgCopyInstance.getParticipants(processor, element, arguments, affectedNatures, shared);
-		CopyParticipant[] result= new CopyParticipant[participants.length];
-		System.arraycopy(participants, 0, result, 0, participants.length);
-		return result;
-	}
-
-	//---- Delete participants ----------------------------------------------------------------
-	
-	private static final String DELETE_PARTICIPANT_EXT_POINT= "deleteParticipants"; //$NON-NLS-1$
-	private static ParticipantExtensionPoint fgDeleteInstance= new ParticipantExtensionPoint("Delete", DELETE_PARTICIPANT_EXT_POINT); //$NON-NLS-1$
-	
-	public static DeleteParticipant[] getDeleteParticipants(RefactoringProcessor processor, Object element, DeleteArguments arguments, String[] affectedNatures, SharableParticipants shared) {
-		RefactoringParticipant[] participants= fgDeleteInstance.getParticipants(processor, element, arguments, affectedNatures, shared);
-		DeleteParticipant[] result= new DeleteParticipant[participants.length];
-		System.arraycopy(participants, 0, result, 0, participants.length);
-		return result;
-	}
-
-	//---- Create participants ----------------------------------------------------------------
-	
-	private static final String CREATE_PARTICIPANT_EXT_POINT= "createParticipants"; //$NON-NLS-1$
-	private static ParticipantExtensionPoint fgCreateInstance= new ParticipantExtensionPoint("Create", CREATE_PARTICIPANT_EXT_POINT); //$NON-NLS-1$
-	
-	public static CreateParticipant[] getCreateParticipants(RefactoringProcessor processor, Object element, CreateArguments arguments, String affectedNatures[], SharableParticipants shared) {
-		RefactoringParticipant[] participants= fgCreateInstance.getParticipants(processor, element, arguments, affectedNatures, shared);
-		CreateParticipant[] result= new CreateParticipant[participants.length];
-		System.arraycopy(participants, 0, result, 0, participants.length);
-		return result;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorBasedRefactoring.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorBasedRefactoring.java
deleted file mode 100644
index 32f2bde..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorBasedRefactoring.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-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.SubProgressMonitor;
-
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.internal.core.refactoring.ParticipantDescriptor;
-import org.eclipse.ltk.internal.core.refactoring.RefactoringCorePlugin;
-
-public abstract class ProcessorBasedRefactoring extends Refactoring {
-	
-	private RefactoringParticipant[] fParticipants;
-	private SharableParticipants fSharedParticipants= new SharableParticipants();
-
-	/**
-	 * Creates a new processor based refactoring.
-	 */
-	protected ProcessorBasedRefactoring() {
-	}
-	
-	/**
-	 * Return the processor associated with this refactoring. The
-	 * method must not return <code>null</code>.
-	 * 
-	 * @return the processor associated with this refactoring
-	 */
-	public abstract RefactoringProcessor getProcessor();
-	
-	public boolean isAvailable() throws CoreException {
-		return getProcessor().isApplicable();
-	}
-		
-	public int getStyle() {
-		return getProcessor().getStyle();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getName() {
-		return getProcessor().getProcessorName();
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException {
-		RefactoringStatus result= new RefactoringStatus();
-		CheckConditionsContext context= createCheckConditionsContext();
-		pm.beginTask("", 10); //$NON-NLS-1$
-		result.merge(getProcessor().checkInitialConditions(new SubProgressMonitor(pm, 8)));
-		if (result.hasFatalError()) {
-			pm.done();
-			return result;
-		}
-		result.merge(context.check(new SubProgressMonitor(pm, 2)));
-		pm.done();
-		return result;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringStatus checkFinalConditions(IProgressMonitor pm) throws CoreException {
-		RefactoringStatus result= new RefactoringStatus();
-		CheckConditionsContext context= createCheckConditionsContext();
-		
-		pm.beginTask("", 9); //$NON-NLS-1$
-		
-		result.merge(getProcessor().checkFinalConditions(new SubProgressMonitor(pm, 5), context));
-		if (result.hasFatalError()) {
-			pm.done();
-			return result;
-		}
-		
-		fParticipants= getProcessor().loadParticipants(fSharedParticipants);
-		IProgressMonitor sm= new SubProgressMonitor(pm, 2);
-		sm.beginTask("", fParticipants.length); //$NON-NLS-1$
-		for (int i= 0; i < fParticipants.length; i++) {
-			result.merge(fParticipants[i].checkConditions(new SubProgressMonitor(sm, 1), context));
-		}
-		sm.done();
-		if (result.hasFatalError()) {
-			pm.done();
-			return result;
-		}
-		result.merge(context.check(new SubProgressMonitor(pm, 1)));
-		pm.done();
-		return result;		
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException {
-		pm.beginTask("", fParticipants.length + 1); //$NON-NLS-1$
-		List changes= new ArrayList();
-		changes.add(getProcessor().createChange(new SubProgressMonitor(pm, 1)));
-		
-		List descriptors= new ArrayList();
-		for (int i= 0; i < fParticipants.length; i++) {
-			RefactoringParticipant participant= fParticipants[i];
-			descriptors.add(participant.getDescriptor());
-			try {
-				changes.add(participant.createChange(new SubProgressMonitor(pm, 1)));
-			} catch (CoreException e) {
-				ParticipantDescriptor descriptor= participant.getDescriptor();
-				descriptor.disable();
-				RefactoringCorePlugin.logRemovedParticipant(descriptor, e);
-			}
-		}
-		ProcessorChange result= new ProcessorChange(getName());
-		result.addAll((Change[]) changes.toArray(new Change[changes.size()]));
-		return result;
-	}
-	
-	/**
-	 * Adapts the refactoring to the given type. The adapter is resolved
-	 * as follows:
-	 * <ol>
-	 *   <li>the refactoring itself is checked whether it is an instance
-	 *       of the requested type.</li>
-	 *   <li>its processor is checked whether it is an instance of the
-	 *       requested type.</li>
-	 *   <li>the request is delegated to the super class.</li>
-	 * </ol>
-	 * 
-	 * @return the requested adapter or <code>null</code>if no adapter
-	 *  exists. 
-	 */
-	public Object getAdapter(Class clazz) {
-		if (clazz.isInstance(this))
-			return this;
-		if (clazz.isInstance(getProcessor()))
-			return getProcessor();
-		return super.getAdapter(clazz);
-	}
-	
-	/* non java-doc
-	 * for debugging only
-	 */
-	public String toString() {
-		return getName();
-	}
-	
-	//---- Helper methods ---------------------------------------------------------------------
-	
-	private CheckConditionsContext createCheckConditionsContext() throws CoreException {
-		CheckConditionsContext result= new CheckConditionsContext();
-		IConditionChecker checker= new ValidateEditChecker(null);
-		result.add(checker);
-		return result;
-		
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorChange.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorChange.java
deleted file mode 100644
index 9e54ff1..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorChange.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * A special composite change used by a processor based refactoring
- * to track conflicts between changes provided by the processor and
- * participants.
- * <p>
- * This class is not intended to be used by normal clients.
- * </p>
- * @since 3.0 
- */
-public class ProcessorChange extends CompositeChange {
-
-	private List fSkippedChanges;
-	
-	/**
-	 * Creates a new processor change
-	 * 
-	 * @param name the human reable name of the change
-	 */
-	public ProcessorChange(String name) {
-		super(name);
-		fSkippedChanges= new ArrayList();
-	}
-	
-	/**
-	 * Returns the list of changes that got skipped during change
-	 * execution since their state wasn't valid anymore.
-	 * 
-	 * @return the list of skipped changes
-	 */
-	public Change[] getSkippedChanges() {
-		return (Change[])fSkippedChanges.toArray(new Change[fSkippedChanges.size()]);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	protected boolean canPerformChange(Change child, IProgressMonitor pm) {
-		try {
-			RefactoringStatus status= child.isValid(pm);
-			if (status.hasFatalError()) {
-				fSkippedChanges.add(child);
-				return false;
-			} else {
-				return true;
-			}
-		} catch (CoreException e) {
-			fSkippedChanges.add(child);
-			return false;
-		}
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorDescriptor.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorDescriptor.java
deleted file mode 100644
index e706871..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ProcessorDescriptor.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.expressions.IEvaluationContext;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-public class ProcessorDescriptor {
-	
-	private IConfigurationElement fConfigurationElement;
-
-	private static final String ID= "id"; //$NON-NLS-1$
-	private static final String OVERRIDE= "override"; //$NON-NLS-1$
-	private static final String CLASS= "class"; //$NON-NLS-1$
-	
-	public ProcessorDescriptor(IConfigurationElement element) {
-		fConfigurationElement= element;
-	}
-	
-	public String getId() {
-		return fConfigurationElement.getAttribute(ID);
-	}
-	
-	public boolean overrides() {
-		return fConfigurationElement.getAttribute(OVERRIDE) != null;
-	}
-	
-	public String getOverrideId() {
-		return fConfigurationElement.getAttribute(OVERRIDE);
-	}
-
-	public boolean matches(IEvaluationContext context) throws CoreException {
-		Assert.isNotNull(context);
-		IConfigurationElement[] configElements= fConfigurationElement.getChildren(ExpressionTagNames.ENABLEMENT);
-		IConfigurationElement enablement= configElements.length > 0 ? configElements[0] : null; 
-		if (enablement != null) {
-			Expression exp= ExpressionConverter.getDefault().perform(enablement);
-			return (convert(exp.evaluate(context)));
-		}
-		return false;
-	}
-
-	public RefactoringProcessor createProcessor() throws CoreException {
-		return (RefactoringProcessor)fConfigurationElement.createExecutableExtension(CLASS);
-	}
-	
-	private boolean convert(EvaluationResult eval) {
-		if (eval == EvaluationResult.FALSE)
-			return false;
-		return true;
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * For debugging purpose only
-	 */
-	public String toString() {
-		return "Processor: " + getId(); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringArguments.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringArguments.java
deleted file mode 100644
index 03b3c77..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringArguments.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-
-/**
- * A generic super class of all refactoring specific argument
- * classes.
- * <p>
- * The main purpose of this class is to not use <code>Object</code>
- * in signatures. This helps to distinguish between the element to
- * be refactored and the arguments needed to carry out the refactoring.
- * </p>
- * 
- * @since 3.0
- */
-public abstract class RefactoringArguments {
-
-	/**
-	 * Creates new refactoring arguments.
-	 */
-	protected RefactoringArguments() {
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringParticipant.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringParticipant.java
deleted file mode 100644
index 6c48fd4..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringParticipant.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.ParticipantDescriptor;
-
-/**
- * A refactoring participant can participate in the condition checking and
- * change creation of a refactoring processor.
- * <p>
- * If the severity of the condition checking result is {@link RefactoringStatus#FATAL}
- * then the whole refactoring will not be carried out. 
- * </p>
- * <p>
- * The change created from a participant must not conflict with any changes
- * provided by other participants or the refactoring itself. If the change 
- * conflicts it will be ignored during change execution.
- * </p>
- * <p>
- * A refactoring participant can not assume that all resources are saved before any 
- * methods are called on it. Therefore a participant must be able to deal with unsaved
- * resources.
- * </p>
- * 
- * @since 3.0
- * @see org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor
- */
-public abstract class RefactoringParticipant {
-	
-	private RefactoringProcessor fProcessor;
-	
-	private ParticipantDescriptor fDescriptor;
-	
-	/**
-	 * Returns the processor that is associated with this participant. 
-	 * 
-	 * @return the processor that is associated with this participant
-	 */
-	public RefactoringProcessor getProcessor() {
-		return fProcessor;
-	}
-	
-	/**
-	 * Initializes the participant. This method is called by the framework when a
-	 * participant gets instantiated. It is not intended to be called by normal
-	 * clients.
-	 * 
-	 * @param processor the processor this participant is associated with
-	 * @param element the element to be refactored
-	 * @param arguments the refactoring arguments
-	 * 
-	 * @return <code>true</code> if the participant could be initialized;
-	 *  otherwise <code>false</code> is returned.
-	 * 
-	 * @see #initialize(Object)
-	 */
-	public boolean initialize(RefactoringProcessor processor, Object element, RefactoringArguments arguments) {
-		Assert.isNotNull(processor);
-		Assert.isNotNull(arguments);
-		fProcessor= processor;
-		initialize(arguments);
-		return initialize(element);
-	}
-	
-	/**
-	 * Initialize the participant with the element to be refactored.
-	 * If this method returns <code>false</code> then the framework
-	 * will consider the participant as not initialized and the 
-	 * participant will be dropped by the framework.
-	 * 
-	 * @param element the element to be refactored
-	 * 
-	 * @return <code>true</code> if the participant could be initialized;
-	 *  otherwise <code>false</code> is returned.
-	 */
-	protected abstract boolean initialize(Object element);
-	
-	/**
-	 * Initializes the participant with the refactoring arguments
-	 * 
-	 * @param arguments the refactoring arguments
-	 */
-	protected abstract void initialize(RefactoringArguments arguments);
-	
-	/**
-	 * Returns a human readable name of this participant.
-	 * 
-	 * @return a human readable name
-	 */
-	public abstract String getName();
-	
-	/**
-	 * Checks the conditions of the refactoring participant. 
-	 * <p>
-	 * The refactoring is considered as not being executable if the returned status
-	 * has the severity <code>RefactoringStatus#FATAL</code>.
-	 * </p>
-	 * <p>
-	 * This method can be called more than once.
-	 * </p>
-	 * 
-	 * @param pm a progress monitor to report progress
-	 * 
-	 * @return a refactoring status. If the status is <code>RefactoringStatus#FATAL</code>
-	 *  the refactoring is considered as not being executable.
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.Refactoring#checkInitialConditions(IProgressMonitor)
-	 * @see RefactoringStatus#FATAL
-	 */ 		
-	public abstract RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context);
-	
-	/**
-	 * Creates a {@link Change} object that contains the workspace modifications
-	 * of this participant. The changes provided by a participant must not conflict
-	 * with any changes provided by other participants ot by the refactoring itself.
-	 * If the change conflicts it will be ignored during change execution.
-	 * 
-	 * @param pm a progress monitor to report progress
-	 * 
-	 * @return the change representing the workspace modifications
-	 * 
-	 * @throws CoreException if an error occurred while creating the change 
-	 */
-	public abstract Change createChange(IProgressMonitor pm) throws CoreException;
-
-	/**
-	 * TO be deleted before 3.0.
-	 * FIXME
-	 */
-	private final void initialize(RefactoringProcessor processor, Object element) throws CoreException {
-	}
-	/**
-	 * TO be deleted before 3.0.
-	 * FIXME
-	 */
-	private final boolean isApplicable() throws CoreException {
-		return false;
-	}
-	/**
-	 * TO be deleted before 3.0.
-	 * FIXME
-	 */
-	private final RefactoringStatus checkInitialConditions(IProgressMonitor pm, CheckConditionsContext context) throws CoreException {
-		return null;
-	}
-	
-	/**
-	 * TO be deleted before 3.0.
-	 * FIXME
-	 */
-	private final RefactoringStatus checkFinalConditions(IProgressMonitor pm, CheckConditionsContext context) throws CoreException {
-		return null;
-	}
-
-	//---- helper method ----------------------------------------------------
-	
-	/* package */ void setDescriptor(ParticipantDescriptor descriptor) {
-		Assert.isNotNull(descriptor);
-		fDescriptor= descriptor;
-	}
-	
-	/* package */ ParticipantDescriptor getDescriptor() {
-		return fDescriptor;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringProcessor.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringProcessor.java
deleted file mode 100644
index 4782e20..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringProcessor.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.PlatformObject;
-
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * 
- * <p>
- * A refactoring processor can not assume that all resources are saved before any 
- * methods are called on it. Therefore a processor must be able to deal with unsaved
- * resources.
- * </p>
- */
-public abstract class RefactoringProcessor extends PlatformObject {
-	
-	private static final RefactoringParticipant[] EMPTY_PARTICIPANT_ARRAY= new RefactoringParticipant[0];
-	
-	public abstract Object[] getElements();
-	
-	public abstract String getIdentifier();
-	
-	public abstract String getProcessorName();
-	
-	public abstract int getStyle();
-	
-	public abstract boolean isApplicable() throws CoreException;
-	
-	public abstract RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException;
-	
-	public abstract RefactoringStatus checkFinalConditions(IProgressMonitor pm, CheckConditionsContext context) throws CoreException;
-	
-	public abstract Change createChange(IProgressMonitor pm) throws CoreException;
-	
-	/**
-	 * Returns an array of derived participants. There are two different flavours of 
-	 * derived participants that should be added via this hook method:
-	 * <ul>
-	 *   <li>participants listening to changes of derived elements. For example if
-	 *       a Java field gets renamed corresponding setter and getters methods are 
-	 *       renamed as well. The setter and getter methods are considered as
-	 *       derived elements and the corresponding participants should be added
-	 *       via this hook.</li>
-	 *   <li>participants listening to changes of a domain model different than the
-	 *       one that gets manipulated, but changed as a "side effect" of the
-	 *       refactoring. For example, renaming a package moves all its files to a
-	 *       different folder. If the package contains a HTML file then the rename
-	 *       package processor is supposed to load all move HTML file participants 
-	 *       via this hook.</li>
-	 * </ul>
-	 * <p>
-	 * Implementors are responsible to initialize the created participants with the
-	 * right arguments. The method is called after {@link #checkFinalConditions} has
-	 * been called on the processor itself.
-	 * </p>
-	 * <p>
-	 * This default implementation returns an empty array.
-	 * </p>
-	 * 
-	 * @return an array of derived participants
-	 * 
-	 * @throws CoreException if creating or loading of the participants failed
-	 */
-	public abstract RefactoringParticipant[] loadParticipants(SharableParticipants sharedParticipants) throws CoreException;
-	
-	/**
-	 * FIXME
-	 * Must go away before 3.0
-	 */
-	private final RefactoringParticipant[] loadDerivedParticipants() throws CoreException {
-		return EMPTY_PARTICIPANT_ARRAY;
-	}	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringStyles.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringStyles.java
deleted file mode 100644
index a22fc34..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RefactoringStyles.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-
-public final class RefactoringStyles {
-	
-	public static final int NONE= 0;
-	public static final int NEEDS_PREVIEW= 1 << 0;
-	public static final int FORCE_PREVIEW= 1 << 1;
-	public static final int NEEDS_PROGRESS= 1 << 2;
-	
-	private RefactoringStyles() {
-		// no instance
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameArguments.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameArguments.java
deleted file mode 100644
index 64c5352..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameArguments.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * Rename arguments describes the data that a processor
- * provides to its rename participants.
- * 
- * @since 3.0
- */
-public class RenameArguments extends RefactoringArguments {
-	
-	private String fNewName;
-	private boolean fUpdateReferences;
-	
-	/**
-	 * Creates new rename arguments.
-	 * 
-	 * @param newName the new name of the element to be renamed
-	 * @param updateReferences <code>true</code> if reference
-	 *  updating is requested; <code>false</code> otherwise
-	 */
-	public RenameArguments(String newName, boolean updateReferences) {
-		Assert.isNotNull(newName);
-		fNewName= newName;
-		fUpdateReferences= updateReferences;
-	}
-	
-	/**
-	 * Returns the new element name.
-	 * 
-	 * @return the new element name
-	 */
-	public String getNewName() {
-		return fNewName;
-	}
-	
-	/**
-	 * Returns whether reference updating is requested or not.
-	 * 
-	 * @return returns <code>true</code> if reference
-	 *  updating is requested; <code>false</code> otherwise
-	 */
-	public boolean getUpdateReferences() {
-		return fUpdateReferences;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameParticipant.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameParticipant.java
deleted file mode 100644
index 79da41b..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameParticipant.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-public abstract class RenameParticipant extends RefactoringParticipant {
-
-	private RenameArguments fArguments;
-
-	/**
-	 * {@inheritDoc}
-	 */
-	protected void initialize(RefactoringArguments arguments) {
-		fArguments= (RenameArguments)arguments;
-	}
-	
-	public RenameArguments getArguments() {
-		return fArguments;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameProcessor.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameProcessor.java
deleted file mode 100644
index 979dee7..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameProcessor.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A rename processor is a special refactoring processor to support 
- * participating in rename refactorings. A rename processor is responsible
- * for actual renaming the element to be refactored. Additionally the
- * processor can update reference which are part of the same domain as the 
- * element to be renamed. For example a processor to rename a Java field 
- * can also update all references to that field found in Java files.
- * <p>
- * A rename processor is also responsible to load participants that want
- * to participate in a rename refactoring.
- * </p>
- * 
- * @since 3.0
- */
-public abstract class RenameProcessor extends RefactoringProcessor {
-
-	private int fStyle;
-	
-	/**
-	 * Create a new rename processor with the style bit set to
-	 * <code>RefactoringStyles.NEEDS_PREVIEW</code> and <code>
-	 * </code>
-	 */
-	protected RenameProcessor() {
-		fStyle= RefactoringStyles.NEEDS_PREVIEW;	
-	}
-	
-	protected RenameProcessor(int style) {
-		fStyle= style;	
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public int getStyle() {
-		return fStyle;
-	}
-	
-	/**
-	 * Returns the participants that participate in the rename of the element. The
-	 * method is called after {@link #checkInitialConditions} has been called on the 
-	 * processor itself. 
-	 * 
-	 * The arguments are set to the participants by the processor via the call 
-	 * {@link RenameParticipant#setArguments(RenameArguments)}. They are set 
-	 * before {@link #checkFinalConditions}is called on the participants. 
-	 * 
-	 * @return an array of rename participants
-	 * 
-	 * @throws CoreException if creating or loading of the participants failed
-	 */
-	public final RenameParticipant[] loadElementParticipants() throws CoreException {
-		return null;
-	}	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameRefactoring.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameRefactoring.java
deleted file mode 100644
index 3ed3e98..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/RenameRefactoring.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-
-/**
- * A generic rename refactoring. The actual refactoring is done
- * by the rename processor passed to the constructor.
- * 
- * @since 3.0
- */
-public class RenameRefactoring extends ProcessorBasedRefactoring {
-
-	private RenameProcessor fProcessor;
-	
-	/**
-	 * Creates a new rename refactoring with the given rename processor.
-	 * 
-	 * @param processor the rename processor
-	 */
-	public RenameRefactoring(RenameProcessor processor) {
-		Assert.isNotNull(processor);
-		fProcessor= processor;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringProcessor getProcessor() {
-		return fProcessor;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/SharableParticipants.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/SharableParticipants.java
deleted file mode 100644
index 36d2a72..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/SharableParticipants.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.ltk.core.refactoring.participants;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ltk.internal.core.refactoring.ParticipantDescriptor;
-
-public class SharableParticipants {
-	
-	private Map fMap= new HashMap();
-	
-	/* package */ void put(ParticipantDescriptor descriptor, RefactoringParticipant participant) {
-		fMap.put(descriptor, participant);		
-	}
-	/* package */ RefactoringParticipant get(ParticipantDescriptor descriptor) {
-		return (RefactoringParticipant)fMap.get(descriptor);
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ToDo.txt b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ToDo.txt
deleted file mode 100644
index 5cf8a53..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ToDo.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-- remove getElement from participant interface.
-- allow sharing of participants for different element types.
-  <renameParticipant
-    id="..."
-    share="true";
-  />
-- object state. Implement bean object state interface.
-- how to implement special web type rename that renames interface and implementation.
-  o provide a special processor that overrides normal Java processor if project
-    nature is webnature. This means processor gets scopeState as well.
-
-- package rename. At end we delete an empty folder. Should we sent out a folder delete
-  modification. If so participants have to know that the folder doesn't have any children
-  upon deletion, but it might have some upon precondition checking. So for resource 
-  modifications we have to describe some sort of postcondition. For example: folder
-  will be empty on deletion. Can be derived from the ResourceModifications object.
-  
-- IRefactoringProcessor should not have a method getResourceModification since there
-  might be refactorings which don't modifiy resources. For example a database only
-  application might want to describe high level database operations as low level
-  SQL ops.
-  
-- what happens if a web plug-in for some reason registers on resource move and on
-  package rename. Then it might clash if the package rename also tries to handle
-  the move. One argument is that the plug-in knows about its participants and can
-  avoid this in code. Another option is that a participant can specify if it is
-  interested in the comupted resource modifications. Can be a property for some
-  state XML element.
-
-- handling of UNKNOWN paroperty: 
-  o throw exception
-  o pass to caller
-  currently it is turned into true which is the incorrect thing to do. It must be
-  false anyway.
-  
-- ISharedParticipant and propagating data to participant. That doesn't wortk for the
-  current implementation. SetNewName and other methods must have an additional object
-  parameter. Best is to split this into IShared and INonShared participants.
-  
-- Source folder and compilation unit processors object state attribute can be simplified
-  in the following way:
-  <objectState adaptable="org.eclipse.jdt.core.IJavaElement">
-      <property name="instanceof" value="IPackageFragmentRoot"/>
-  </objectState>
-  
-- XML expression must support arrays of elements. For example we want to be able
-  to move more than one method to a different class. This effects the objectState
-  XML element.
-  
-- more than one processor is available: The preferred processor can't be remembered
-  based on the type of the element, since the XML expression can be more complex. So
-  the registry must store the preferred user processor based on the list of picked 
-  processors. If it is the same has been computed for the element in question than 
-  the preferred one can be used. Otherwise the user has to be asked.
-
-- property tester must assumes that projects with no nature have a fake simple nature 
-  called "org.eclipse.core.resource.simpleNature". Otherwise the user has to specify the
-  empty nature string in XML.
-
-- THE LRU optimazation only works for elements which have a processor. If no processor
-  is available we always check all rename processor which can be many. We need some
-  other optimazations as well.
-  
-- determining the participants must be delegated to the processor. Otherwise it is not
-  possible to chain processor. Nor is it possible to introduce a JavaModification object
-  (similar to ResourceModifications) since the refactoring itself can't be extended.
-  
-- processors and participants should derive from PlatformObject if the implement IAdaptable
-
-- we should remove the affected project test from the participants and force them to
-  specify a language the are working on. The language computer then takes a set of
-  projects and computes the effected languages. This will be consistent with what we do
-  for processors.
-  
-- rename processor: how do we handle rename polymorphical for renaming temps. This might
-  be a special editor problem. May be we don't allow contributing to temp renames.
-  
-======================================= UI ===============================================
-  
-- UI: Label and image of preview viewer. Must be determined by the change element
-  structor creator.
-  
-- NeedsPane flag on previewer ??
-
-- Make pane handling consistent in Error and Preview. In error the pane is for free
-  in preview the viewer has to provide the pane.
-  
-- Composite change in preview tree. Strip away root composite that have only one child.
-
-- Error and Preview page need customizable help id.
-
-- Refactoring Wizard Page: can't provide dialog settings. Too high up in the hierarchy.
-
-- Wizard should be able to disbale preview. To do so processors and participants must
-  signal if they want to show a preview. Problem is that we don't know all participants
-  upfront. So the processor has to decide this.
-  
-- RenameRefactoringAction has a hard cast to rename method processor to check for the
-  virtual method case.
-  
-- Currently all refactorings require a save of modiifed resources before the get executed.
-  This is necessary due to undo and search infrastructure. We have to find a better solution
-  for this since we can't assume that saving resources is the right thing to do.
-
-=================================== Rename ================================================
-- rename a Java project must be a participant since a project can have more than 
-  one nature. This means we double code from core and there will be different deltas.
\ No newline at end of file
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ValidateEditChecker.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ValidateEditChecker.java
deleted file mode 100644
index 59c6fbe..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/ValidateEditChecker.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.core.refactoring.participants;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.internal.core.refactoring.Assert;
-import org.eclipse.ltk.internal.core.refactoring.Resources;
-
-/**
- * A validate edit checker is a shared checker to collect files
- * to be validated all at once.
- * 
- * @since 3.0
- */
-public class ValidateEditChecker implements IConditionChecker {
-
-	private List fFiles= new ArrayList();
-	private Object fContext;
-	
-	/**
-	 * The context passed to the validate edit call.
-	 * 
-	 * @param context the context passed to the validate edit call
-	 */
-	public ValidateEditChecker(Object context) {
-		fContext= context;
-	}
-	
-	/**
-	 * Adds the given file to this checker.
-	 * 
-	 * @param file the file to add
-	 */
-	public void addFile(IFile file) {
-		Assert.isNotNull(file);
-		fFiles.add(file);
-	}
-	
-	/**
-	 * Adds the given array of files.
-	 * 
-	 * @param files the array of files to add
-	 */
-	public void addFiles(IFile[] files) {
-		Assert.isNotNull(files);
-		fFiles.addAll(Arrays.asList(files));
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringStatus check(IProgressMonitor monitor) throws CoreException {
-		return RefactoringStatus.create( 
-			Resources.makeCommittable(
-				(IResource[]) fFiles.toArray(new IResource[fFiles.size()]), fContext));
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/package.html b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/package.html
deleted file mode 100644
index 4a25206..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-                    
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-                    
-  <meta name="Author" content="IBM">
-                    
-  <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-  <title>Package-level Javadoc</title>
-    
-</head>
-<body>
-Under construction
-</body>
-</html>
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Assert.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Assert.java
deleted file mode 100644
index c087780..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Assert.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.ltk.internal.core.refactoring;
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks
- * in code.
- * The predicate methods all test a condition and throw some
- * type of unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are
- * thrown when something is misbehaving. Assertion failures are invariably
- * unspecified behavior; consequently, clients should never rely on
- * these being thrown (and certainly should not being catching them
- * specifically).
- * </p>
- */
-public final class Assert {
-	
-	/* This class is not intended to be instantiated. */
-	private Assert() {
-		// not allowed
-	}
-	/** Asserts that an argument is legal. If the given boolean is
-	 * not <code>true</code>, an <code>IllegalArgumentException</code>
-	 * is thrown.
-	 *
-	 * @param expression the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return
-	 *    if the check fails)
-	 * @exception IllegalArgumentException if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression) {
-		return isLegal(expression, ""); //$NON-NLS-1$
-	}
-	/** Asserts that an argument is legal. If the given boolean is
-	 * not <code>true</code>, an <code>IllegalArgumentException</code>
-	 * is thrown.
-	 * The given message is included in that exception, to aid debugging.
-	 *
-	 * @param expression the outcode of the check
-	 * @param message the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return
-	 *    if the check fails)
-	 * @exception IllegalArgumentException if the legality test failed
-	 */
-	public static boolean isLegal(boolean expression, String message) {
-		if (!expression)
-			throw new IllegalArgumentException(message);
-		return expression;
-	}
-	/** Asserts that the given object is not <code>null</code>. If this
-	 * is not the case, some kind of unchecked exception is thrown.
-	 * 
-	 * @param object the value to test
-	 * @exception IllegalArgumentException if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object) {
-		isNotNull(object, ""); //$NON-NLS-1$
-	}
-	/** Asserts that the given object is not <code>null</code>. If this
-	 * is not the case, some kind of unchecked exception is thrown.
-	 * The given message is included in that exception, to aid debugging.
-	 *
-	 * @param object the value to test
-	 * @param message the message to include in the exception
-	 * @exception IllegalArgumentException if the object is <code>null</code>
-	 */
-	public static void isNotNull(Object object, String message) {
-		if (object == null)
-			throw new AssertionFailedException("null argument:" + message); //$NON-NLS-1$
-	}
-	/** Asserts that the given boolean is <code>true</code>. If this
-	 * is not the case, some kind of unchecked exception is thrown.
-	 *
-	 * @param expression the outcode of the check
-	 * @return <code>true</code> if the check passes (does not return
-	 *    if the check fails)
-	 */
-	public static boolean isTrue(boolean expression) {
-		return isTrue(expression, ""); //$NON-NLS-1$
-	}
-	/** Asserts that the given boolean is <code>true</code>. If this
-	 * is not the case, some kind of unchecked exception is thrown.
-	 * The given message is included in that exception, to aid debugging.
-	 *
-	 * @param expression the outcode of the check
-	 * @param message the message to include in the exception
-	 * @return <code>true</code> if the check passes (does not return
-	 *    if the check fails)
-	 */
-	public static boolean isTrue(boolean expression, String message) {
-		if (!expression)
-			throw new AssertionFailedException("assertion failed: " + message); //$NON-NLS-1$
-		return expression;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/AssertionFailedException.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/AssertionFailedException.java
deleted file mode 100644
index 86a39c4..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/AssertionFailedException.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.ltk.internal.core.refactoring;
-
-/**
- * <code>AssertionFailedException</code> is a runtime exception thrown
- * by some of the methods in <code>Assert</code>.
- * <p>
- * This class is not declared public to prevent some misuses; programs that catch 
- * or otherwise depend on assertion failures are susceptible to unexpected
- * breakage when assertions in the code are added or removed.
- * </p>
- */
-/* package */
-class AssertionFailedException extends RuntimeException {
-	/** 
-	 * Constructs a new exception.
-	 */
-	public AssertionFailedException() {
-		super();
-	}
-	/** Constructs a new exception with the given message.
-	 */
-	public AssertionFailedException(String detail) {
-		super(detail);
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/BufferValidationState.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/BufferValidationState.java
deleted file mode 100644
index 21a8906..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/BufferValidationState.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.IFileBuffer;
-import org.eclipse.core.filebuffers.IFileBufferListener;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-
-public abstract class BufferValidationState {
-	
-	protected IFile fFile;
-	protected boolean fExisted;
-	
-	public static BufferValidationState create(IFile file) {
-		ITextFileBuffer buffer= getBuffer(file);
-		if (buffer == null) {
-			return new SavedBufferValidationState(file);
-		} else if (buffer.isDirty()) {
-			return new DirtyBufferValidationState(file);
-		} else {
-			return new SavedBufferValidationState(file);
-		}
-	}
-	
-	public RefactoringStatus isValid() {
-		if (!fExisted) {
-			if (fFile.exists())
-				return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getFormattedString(
-					"TextChanges.error.existing", //$NON-NLS-1$
-					fFile.getFullPath().toString()
-					));
-		} else {
-			if (!fFile.exists())
-				return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getFormattedString(
-					"TextChanges.error.not_existing", //$NON-NLS-1$
-					fFile.getFullPath().toString()
-					));
-		}
-		return new RefactoringStatus();
-	}
-	
-	public void dispose() {
-	}
-	
-	
-	protected BufferValidationState(IFile file) {
-		fFile= file;
-		fExisted= file.exists();
-	}
-	
-	protected IDocument getDocument() {
-		ITextFileBuffer buffer= getBuffer(fFile);
-		if (buffer == null)
-			return null;
-		return buffer.getDocument();
-		
-	}
-	
-	protected static boolean isDirty(IFile file) {
-		ITextFileBuffer buffer= getBuffer(file);
-		if (buffer == null)
-			return false;
-		return buffer.isDirty();
-	}
-	
-	protected static ITextFileBuffer getBuffer(IFile file) {
-		ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
-		IPath path= file.getFullPath();
-		ITextFileBuffer buffer= manager.getTextFileBuffer(path);
-		return buffer;
-	}
-}
-
-class DirtyBufferValidationState extends BufferValidationState {
-	
-	private IDocumentListener fDocumentListener;
-	private FileBufferListener fFileBufferListener;
-	private boolean fChanged;
-	private long fModificationStamp= IResource.NULL_STAMP;
-	
-	class DocumentChangedListener implements IDocumentListener {
-		public void documentAboutToBeChanged(DocumentEvent event) {
-		}
-		public void documentChanged(DocumentEvent event) {
-			DirtyBufferValidationState.this.documentChanged();
-		}
-	}
-	
-	class FileBufferListener implements IFileBufferListener {
-		public void bufferCreated(IFileBuffer buffer) {
-			if (buffer.equals(getBuffer(fFile))) {
-				if (fDocumentListener == null)
-					fDocumentListener= new DocumentChangedListener();
-				getDocument().addDocumentListener(fDocumentListener);
-			}
-		}
-		public void bufferDisposed(IFileBuffer buffer) {
-			if (fDocumentListener != null && buffer.equals(getBuffer(fFile))) {
-				getDocument().removeDocumentListener(fDocumentListener);
-				fDocumentListener= null;
-				fModificationStamp= fFile.getModificationStamp();
-			}
-		}
-		public void bufferContentAboutToBeReplaced(IFileBuffer buffer) {
-		}
-		public void bufferContentReplaced(IFileBuffer buffer) {
-		}
-		public void stateChanging(IFileBuffer buffer) {
-		}
-		public void dirtyStateChanged(IFileBuffer buffer, boolean isDirty) {
-		}
-		public void stateValidationChanged(IFileBuffer buffer, boolean isStateValidated) {
-		}
-		public void underlyingFileMoved(IFileBuffer buffer, IPath path) {
-		}
-		public void underlyingFileDeleted(IFileBuffer buffer) {
-		}
-		public void stateChangeFailed(IFileBuffer buffer) {
-		}
-	}
-	
-	
-	public DirtyBufferValidationState(IFile file) {
-		super(file);
-		fFileBufferListener= new FileBufferListener();
-		FileBuffers.getTextFileBufferManager().addFileBufferListener(fFileBufferListener);
-		fDocumentListener= new DocumentChangedListener();
-		getDocument().addDocumentListener(fDocumentListener);
-	}
-
-	public RefactoringStatus isValid() {
-		RefactoringStatus result= super.isValid();
-		if (result.hasFatalError())
-			return result;
-		if (fChanged || (fModificationStamp != IResource.NULL_STAMP && fModificationStamp != fFile.getModificationStamp())) {
-			result.addFatalError(RefactoringCoreMessages.getFormattedString(
-				"TextChanges.error.conent_changed", //$NON-NLS-1$
-				fFile.getFullPath().toString()
-				)); 
-		}
-		return result;
-	}
-	
-	public void dispose() {
-		if (fFileBufferListener != null) {
-			FileBuffers.getTextFileBufferManager().removeFileBufferListener(fFileBufferListener);
-		}
-		if (fDocumentListener != null) {
-			getDocument().removeDocumentListener(fDocumentListener);
-		}
-	}
-	
-	private void documentChanged() {
-		fChanged= true;
-		getDocument().removeDocumentListener(fDocumentListener);
-		FileBuffers.getTextFileBufferManager().removeFileBufferListener(fFileBufferListener);
-		fFileBufferListener= null;
-		fDocumentListener= null;
-	}
-}
-
-class SavedBufferValidationState extends BufferValidationState {
-	private long fModificationStamp;
-	
-	public SavedBufferValidationState(IFile file) {
-		super(file);
-		fModificationStamp= file.getModificationStamp();
-	}
-
-	public RefactoringStatus isValid() {
-		RefactoringStatus result= super.isValid();
-		if (result.hasFatalError())
-			return result;
-		if (fModificationStamp != fFile.getModificationStamp()) {
-			result.addFatalError(RefactoringCoreMessages.getFormattedString(
-				"TextChanges.error.conent_changed", //$NON-NLS-1$
-				fFile.getFullPath().toString()
-				)); 
-		} else if (fFile.isReadOnly()) {
-			result.addFatalError(RefactoringCoreMessages.getFormattedString(
-				"TextChanges.error.read_only", //$NON-NLS-1$
-				fFile.getFullPath().toString()
-				));
-		} else if (!fFile.isSynchronized(IResource.DEPTH_ZERO)) { 
-			result.addFatalError(RefactoringCoreMessages.getFormattedString(
-				"TextChanges.error.outOfSync", //$NON-NLS-1$
-				fFile.getFullPath().toString()
-				));
-		} else if (isDirty(fFile)){
-			result.addFatalError(RefactoringCoreMessages.getFormattedString(
-				"TextChanges.error.unsaved_changes", //$NON-NLS-1$
-				fFile.getFullPath().toString()
-				)); 
-		}
-		return result;
-	}
-}	
-
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Changes.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Changes.java
deleted file mode 100644
index 89517fb..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Changes.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.core.resources.IFile;
-
-import org.eclipse.jface.text.BadLocationException;
-
-import org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-public class Changes {
-	
-	public static RefactoringStatus validateModifiesFiles(IFile[] filesToModify) {
-		RefactoringStatus result= new RefactoringStatus();
-		IStatus status= Resources.checkInSync(filesToModify);
-		if (!status.isOK())
-			result.merge(RefactoringStatus.create(status));
-		status= Resources.makeCommittable(filesToModify, null);
-		if (!status.isOK())
-			result.merge(RefactoringStatus.create(status));
-		return result;
-	}
-	
-	public static CoreException asCoreException(BadLocationException e) {
-		String message= e.getMessage();
-		if (message == null)
-			message= "BadLocationException"; //$NON-NLS-1$
-		return new CoreException(new Status(IStatus.ERROR, RefactoringCorePlugin.getPluginId(), IRefactoringCoreStatusCodes.BAD_LOCATION, message, e));
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/ListenerList.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/ListenerList.java
deleted file mode 100644
index d5066a2..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/ListenerList.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-/**
- * Local copy of org.eclipse.jface.ListenerList
- */
-public class ListenerList {
-
-	static {
-		//XXX: 1GCQD0A: ITPVCM:WIN2000 - ListenerList should be part of a core project
-	}
-	
-	/**
-	 * The initial capacity of the list. Always >= 1.
-	 */
-	private int capacity;
-
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= size <= listeners.length.
-	 */
-	private int size;
-
-	/**
-	 * 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 IFF size != 0
-	 */
-	private Object[] listeners= 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 an initial capacity of 3.
-	 */
-	public ListenerList() {
-		this(3);
-	}
-	
-	/**
-	 * 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) {
-		Assert.isTrue(capacity >= 1);
-		this.capacity= capacity;
-	}
-	
-	/**
-	 * Adds the given listener to this list. Has no effect if an identical listener
-	 * is already registered.
-	 *
-	 * @param listener the listener
-	 */
-	public void add(Object listener) {
-		Assert.isNotNull(listener);
-		if (size == 0) {
-			listeners= new Object[capacity];
-		} else {
-			// check for duplicates using identity
-			for (int i= 0; i < size; ++i) {
-				if (listeners[i] == listener) {
-					return;
-				}
-			}
-			// grow array if necessary
-			if (size == listeners.length) {
-				System.arraycopy(listeners, 0, listeners= new Object[size * 2 + 1], 0, size);
-			}
-		}
-		listeners[size++]= 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.
-	 *
-	 * @return the list of registered listeners
-	 */
-	public Object[] getListeners() {
-		if (size == 0)
-			return EmptyArray;
-		Object[] result= new Object[size];
-		System.arraycopy(listeners, 0, result, 0, size);
-		return result;
-	}
-	
-	/**
-	 * Returns whether this listener list is empty.
-	 *
-	 * @return <code>true</code> if there are no registered listeners, and
-	 *   <code>false</code> otherwise
-	 */
-	public boolean isEmpty() {
-		return size == 0;
-	}
-	
-	/**
-	 * Removes the given listener from this list. Has no effect if an identical
-	 * listener was not already registered.
-	 *
-	 * @param listener the listener
-	 */
-	public void remove(Object listener) {
-		Assert.isNotNull(listener);
-		for (int i= 0; i < size; ++i) {
-			if (listeners[i] == listener) {
-				if (--size == 0) {
-					listeners= new Object[1];
-				} else {
-					if (i < size) {
-						listeners[i]= listeners[size];
-					}
-					listeners[size]= null;
-				}
-				return;
-			}
-		}
-	}
-	
-	/**
-	 * Returns the number of registered listeners.
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return size;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/ParticipantDescriptor.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/ParticipantDescriptor.java
deleted file mode 100644
index e6810b6..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/ParticipantDescriptor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.expressions.IEvaluationContext;
-
-import org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant;
-
-public class ParticipantDescriptor {
-	
-	private IConfigurationElement fConfigurationElement;
-	private boolean fEnabled;
-
-	private static final String ID= "id"; //$NON-NLS-1$
-	private static final String NAME= "name";  //$NON-NLS-1$
-	private static final String CLASS= "class"; //$NON-NLS-1$
-	
-	public ParticipantDescriptor(IConfigurationElement element) {
-		fConfigurationElement= element;
-		fEnabled= true;
-	}
-	
-	public String getId() {
-		return fConfigurationElement.getAttribute(ID);
-	}
-	
-	public IStatus checkSyntax() {
-		if (fConfigurationElement.getAttribute(ID) == null) {
-			return new Status(IStatus.ERROR, RefactoringCorePlugin.getPluginId(), IStatus.ERROR,
-				RefactoringCoreMessages.getString("ParticipantDescriptor.error.id_missing"), null); //$NON-NLS-1$
-		}
-		if (fConfigurationElement.getAttribute(NAME) == null) {
-			return new Status(IStatus.ERROR, RefactoringCorePlugin.getPluginId(), IStatus.ERROR,
-				RefactoringCoreMessages.getFormattedString( "ParticipantDescriptor.error.name_missing", getId()),  //$NON-NLS-1$
-				null);
-		}
-		if (fConfigurationElement.getAttribute(CLASS) == null) {
-			return new Status(IStatus.ERROR, RefactoringCorePlugin.getPluginId(), IStatus.ERROR,
-				RefactoringCoreMessages.getFormattedString( "ParticipantDescriptor.error.class_missing", getId()),  //$NON-NLS-1$
-				null);
-		}
-		return new Status(IStatus.OK, RefactoringCorePlugin.getPluginId(), IStatus.OK, 
-			RefactoringCoreMessages.getString("ParticipantDescriptor.correct"), null); //$NON-NLS-1$
-	}
-	
-	public boolean matches(IEvaluationContext context) throws CoreException {
-		IConfigurationElement[] elements= fConfigurationElement.getChildren(ExpressionTagNames.ENABLEMENT);
-		if (elements.length == 0)
-			return false;
-		Assert.isTrue(elements.length == 1);
-		Expression exp= ExpressionConverter.getDefault().perform(elements[0]);
-		return convert(exp.evaluate(context));
-	}
-
-	public RefactoringParticipant createParticipant() throws CoreException {
-		return (RefactoringParticipant)fConfigurationElement.createExecutableExtension(CLASS);
-	}
-	
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-	
-	public void disable() {
-		fEnabled= false;
-	}
-	
-	private boolean convert(EvaluationResult eval) {
-		if (eval == EvaluationResult.FALSE)
-			return false;
-		return true;
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.java
deleted file mode 100644
index 093f8cb..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class RefactoringCoreMessages {
-
-	private static final String BUNDLE_NAME= "org.eclipse.ltk.internal.core.refactoring.RefactoringCoreMessages";//$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE= ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private RefactoringCoreMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-	
-	public static String getFormattedString(String key, String arg) {
-		try{
-			return MessageFormat.format(RESOURCE_BUNDLE.getString(key), new String[] { arg });
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}	
-	}
-	
-	public static String getFormattedString(String key, Object arg) {
-		try{
-			return MessageFormat.format(RESOURCE_BUNDLE.getString(key), new Object[] { arg });
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}	
-	}
-	
-	public static String getFormattedString(String key, String[] args) {
-		try{
-			return MessageFormat.format(RESOURCE_BUNDLE.getString(key), args);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}	
-	}
-	
-	public static String getFormattedString(String key, Object[] args) {
-		try{
-			return MessageFormat.format(RESOURCE_BUNDLE.getString(key), args);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.properties b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.properties
deleted file mode 100644
index 58ea6e9..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCoreMessages.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-RefactoringCorePlugin.internal_error=Internal Error
-RefactoringCorePlugin.listener_removed=Listener removed due to the following exception
-RefactoringCorePlugin.participant_removed=Participant {0} removed due to the following exception
-
-Resources.outOfSyncResources= Some resources are out of sync
-Resources.outOfSync= Resource ''{0}'' is out of sync with file system.
-Resources.modifiedResources= There are modified resources
-Resources.fileModified= File ''{0}'' has been modified since the beginning of the operation
-
-NullChange.name= No operation change
-
-TextChanges.error.existing=The file ''{1}'' exists but it should not.
-TextChanges.error.not_existing=''{0}'' does not exist anymore
-TextChanges.error.conent_changed=The content of ''{0}'' has changed
-TextChanges.error.unsaved_changes=The file ''{0}'' has unsaved changes
-TextChanges.error.read_only=The file ''{0}'' is read-only
-TextChanges.error.outOfSync= The file ''{0}'' is out of sync with the underlying file system
-TextChanges.error.document_content_changed= The content of the document has changed
-
-CheckConditionContext.error.checker_exists= A checker of type ''{0}'' already exists
-
-CompositeChange.performingChangesTask.name=Performing changes...
-
-ParticipantDescriptor.correct=Syntactically correct rename participant element
-ParticipantDescriptor.error.id_missing=Disabling refactoring participant: the id attribute is missing
-ParticipantDescriptor.error.name_missing=Disabling refactoring participant: the name attribute is missing for refactoring participant {0}
-ParticipantDescriptor.error.class_missing=Disabling refactoring participant: the class attribute is missing for refactoring participant {0}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCorePlugin.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCorePlugin.java
deleted file mode 100644
index 698bd28..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/RefactoringCorePlugin.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes;
-
-public class RefactoringCorePlugin extends Plugin {
-	
-	private static RefactoringCorePlugin fgDefault;
-	
-	public RefactoringCorePlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgDefault= this;
-	}
-
-	public static RefactoringCorePlugin getDefault() {
-		return fgDefault;
-	}
-	
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-	
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	public static void log(Throwable t) {
-		IStatus status= new Status(
-			IStatus.ERROR, getPluginId(), 
-			IRefactoringCoreStatusCodes.INTERNAL_ERROR, 
-			RefactoringCoreMessages.getString("RefactoringCorePlugin.internal_error"),  //$NON-NLS-1$
-			t);
-		ResourcesPlugin.getPlugin().getLog().log(status);
-	}
-	
-	public static void logRemovedListener(Throwable t) {
-		IStatus status= new Status(
-			IStatus.ERROR, getPluginId(), 
-			IRefactoringCoreStatusCodes.INTERNAL_ERROR, 
-			RefactoringCoreMessages.getString("RefactoringCorePlugin.listener_removed"),  //$NON-NLS-1$
-			t);
-		ResourcesPlugin.getPlugin().getLog().log(status);
-	}
-	
-	public static void logRemovedParticipant(ParticipantDescriptor descriptor, CoreException e) {
-		IStatus status= new Status(
-			IStatus.ERROR, getPluginId(), 
-			IRefactoringCoreStatusCodes.INTERNAL_ERROR, 
-			RefactoringCoreMessages.getFormattedString(
-				"RefactoringCorePlugin.participant_removed",  //$NON-NLS-1$
-				descriptor.getId()),
-			e);
-		ResourcesPlugin.getPlugin().getLog().log(status);
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Resources.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Resources.java
deleted file mode 100644
index 92a9347..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/Resources.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.ltk.internal.core.refactoring;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes;
-
-public class Resources {
-
-	private Resources() {
-	}
-
-	/**
-	 * Checks if the given resource is in sync with the underlying file system.
-	 * 
-	 * @param resource the resource to be checked
-	 * @return IStatus status describing the check's result. If <code>status.
-	 * isOK()</code> returns <code>true</code> then the resource is in sync
-	 */
-	public static IStatus checkInSync(IResource resource) {
-		return checkInSync(new IResource[] {resource});
-	}
-	
-	/**
-	 * Checks if the given resources are in sync with the underlying file
-	 * system.
-	 * 
-	 * @param resources the resources to be checked
-	 * @return IStatus status describing the check's result. If <code>status.
-	 *  isOK() </code> returns <code>true</code> then the resources are in sync
-	 */
-	public static IStatus checkInSync(IResource[] resources) {
-		IStatus result= null;
-		for (int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			if (!resource.isSynchronized(IResource.DEPTH_INFINITE)) {
-				result= addOutOfSync(result, resource);
-			}			
-		}
-		if (result != null)
-			return result;
-		return new Status(IStatus.OK, RefactoringCorePlugin.getPluginId(), IStatus.OK, "", null); //$NON-NLS-1$		
-	}
-
-	/**
-	 * Makes the given resource committable. Committable means that it is
-	 * writeable and that its content hasn't changed by calling
-	 * <code>validateEdit</code> for the given resource on <tt>IWorkspace</tt>.
-	 * 
-	 * @param resource the resource to be checked
-	 * @param context the context passed to <code>validateEdit</code> 
-	 * @return status describing the method's result. If <code>status.isOK()</code> returns <code>true</code> then the resources are committable.
-	 * 
-	 * @see org.eclipse.core.resources.IWorkspace#validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object)
-	 */
-	public static IStatus makeCommittable(IResource resource, Object context) {
-		return makeCommittable(new IResource[] { resource }, context);
-	}
-	
-	/**
-	 * Makes the given resources committable. Committable means that all
-	 * resources are writeable and that the content of the resources hasn't
-	 * changed by calling <code>validateEdit</code> for a given file on
-	 * <tt>IWorkspace</tt>.
-	 * 
-	 * @param resources the resources to be checked
-	 * @param context the context passed to <code>validateEdit</code> 
-	 * @return IStatus status describing the method's result. If <code>status.
-	 * isOK()</code> returns <code>true</code> then the add resources are
-	 * committable
-	 * 
-	 * @see org.eclipse.core.resources.IWorkspace#validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object)
-	 */
-	public static IStatus makeCommittable(IResource[] resources, Object context) {
-		List readOnlyFiles= new ArrayList();
-		for (int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			if (resource.getType() == IResource.FILE && resource.isReadOnly())	
-				readOnlyFiles.add(resource);
-		}
-		if (readOnlyFiles.size() == 0)
-			return new Status(IStatus.OK, RefactoringCorePlugin.getPluginId(), IStatus.OK, "", null); //$NON-NLS-1$
-			
-		Map oldTimeStamps= createModificationStampMap(readOnlyFiles);
-		IStatus status= ResourcesPlugin.getWorkspace().validateEdit(
-			(IFile[]) readOnlyFiles.toArray(new IFile[readOnlyFiles.size()]), context);
-		if (!status.isOK())
-			return status;
-			
-		IStatus modified= null;
-		Map newTimeStamps= createModificationStampMap(readOnlyFiles);
-		for (Iterator iter= oldTimeStamps.keySet().iterator(); iter.hasNext();) {
-			IFile file= (IFile) iter.next();
-			if (!oldTimeStamps.get(file).equals(newTimeStamps.get(file)))
-				modified= addModified(modified, file);
-		}
-		if (modified != null)	
-			return modified;
-		return new Status(IStatus.OK, RefactoringCorePlugin.getPluginId(), IStatus.OK, "", null); //$NON-NLS-1$
-	}
-
-	private static Map createModificationStampMap(List files){
-		Map map= new HashMap();
-		for (Iterator iter= files.iterator(); iter.hasNext(); ) {
-			IFile file= (IFile)iter.next();
-			map.put(file, new Long(file.getModificationStamp()));
-		}
-		return map;
-	}
-	
-	private static IStatus addModified(IStatus status, IFile file) {
-		IStatus entry= new Status(
-			IStatus.ERROR, RefactoringCorePlugin.getPluginId(),
-			IRefactoringCoreStatusCodes.VALIDATE_EDIT_CHANGED_CONTENT, 
-			RefactoringCoreMessages.getFormattedString("Resources.fileModified", file.getFullPath().toString()), //$NON-NLS-1$ 
-			null);
-		if (status == null) {
-			return entry;
-		} else if (status.isMultiStatus()) {
-			((MultiStatus)status).add(entry);
-			return status;
-		} else {
-			MultiStatus result= new MultiStatus(RefactoringCorePlugin.getPluginId(),
-				IRefactoringCoreStatusCodes.VALIDATE_EDIT_CHANGED_CONTENT,
-				RefactoringCoreMessages.getString("Resources.modifiedResources"), null); //$NON-NLS-1$ 
-			result.add(status);
-			result.add(entry);
-			return result;
-		}
-	}	
-
-	private static IStatus addOutOfSync(IStatus status, IResource resource) {
-		IStatus entry= new Status(
-			IStatus.ERROR,
-			ResourcesPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-			IResourceStatus.OUT_OF_SYNC_LOCAL,
-			RefactoringCoreMessages.getFormattedString("Resources.outOfSync", resource.getFullPath().toString()), //$NON-NLS-1$ 
-			null);
-		if (status == null) {
-			return entry;
-		} else if (status.isMultiStatus()) {
-			((MultiStatus)status).add(entry);
-			return status;
-		} else {
-			MultiStatus result= new MultiStatus(
-				ResourcesPlugin.getPlugin().getDescriptor().getUniqueIdentifier(),
-				IResourceStatus.OUT_OF_SYNC_LOCAL,
-				RefactoringCoreMessages.getString("Resources.outOfSyncResources"), null); //$NON-NLS-1$ 
-			result.add(status);
-			result.add(entry);
-			return result;
-		}
-	}
-
-	public static String[] getLocationOSStrings(IResource[] resources) {
-		List result= new ArrayList(resources.length);
-		for (int i= 0; i < resources.length; i++) {
-			IPath location= resources[i].getLocation();
-			if (location != null)
-				result.add(location.toOSString());
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/TextChanges.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/TextChanges.java
deleted file mode 100644
index dee903e..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/TextChanges.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * Helper class for text file changes.
- */
-public class TextChanges {
-	
-	private TextChanges() {
-		// no instance
-	}
-	
-	public static IDocument getDocument(IFile file) throws CoreException {
-		ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
-		IPath path= file.getFullPath();
-		ITextFileBuffer buffer= manager.getTextFileBuffer(path);
-		if (buffer == null)
-			return null;
-		return buffer.getDocument();
-		
-	}
-
-	public static RefactoringStatus isValid(IFile file, boolean existed, long lastModificationStamp, boolean fSave) throws CoreException {
-		// the file did not exist anymore when initializing the
-		// validation state. In this case we must ensure that it
-		// still doesn't exist.
-		if (!existed) {
-			if (file.exists())
-				return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getFormattedString(
-					"TextChanges.error.existing", //$NON-NLS-1$
-					file.getFullPath().toString()
-					));
-		} else {
-			if (!file.exists())
-				return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getFormattedString(
-					"TextChanges.error.not_existing", //$NON-NLS-1$
-					file.getFullPath().toString()
-					));
-			if (lastModificationStamp != file.getModificationStamp())
-				return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getFormattedString(
-					"TextChanges.error.conent_changed", //$NON-NLS-1$
-					file.getFullPath().toString()
-					)); 
-			if (file.isReadOnly())
-				return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getFormattedString(
-					"TextChanges.error.read_only", //$NON-NLS-1$
-					file.getFullPath().toString()
-					));
-			if (!file.isSynchronized(IResource.DEPTH_ZERO)) 
-				return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getFormattedString(
-					"TextChanges.error.outOfSync", //$NON-NLS-1$
-					file.getFullPath().toString()
-					));
-			
-			if (fSave) {
-				ITextFileBufferManager manager= FileBuffers.getTextFileBufferManager();
-				// Don't connect. We want to check if the file is under modification right now
-				ITextFileBuffer buffer= manager.getTextFileBuffer(file.getFullPath());
-				if (buffer != null && buffer.isDirty()) {
-					return RefactoringStatus.createFatalErrorStatus(RefactoringCoreMessages.getFormattedString(
-						"TextChanges.error.unsaved_changes", //$NON-NLS-1$
-						file.getFullPath().toString()
-						)); 
-				}
-			}
-		}
-		return new RefactoringStatus();
-	}
-	
-	public static RefactoringStatus isValid(IDocument document, int length) throws CoreException {
-		RefactoringStatus result= new RefactoringStatus();
-		if (length != document.getLength()) {
-			result.addFatalError(RefactoringCoreMessages.getString("TextChanges.error.document_content_changed")); //$NON-NLS-1$
-		}
-		return result;
-	}
-	
-}
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoDocumentChange.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoDocumentChange.java
deleted file mode 100644
index 3966905..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoDocumentChange.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.text.edits.UndoEdit;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-public class UndoDocumentChange extends Change {
-	
-	private String fName;
-	private UndoEdit fUndo;
-	private IDocument fDocument;
-	private int fLength;
-	
-	public UndoDocumentChange(String name, IDocument document, UndoEdit undo) {
-		fName= name;
-		fUndo= undo;
-		fDocument= document;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getModifiedElement() {
-		return null;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {
-		fLength= fDocument.getLength();
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException {
-		pm.beginTask("", 1); //$NON-NLS-1$
-		RefactoringStatus result= TextChanges.isValid(fDocument, fLength);
-		pm.worked(1);
-		return result;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		try {
-			UndoEdit redo= fUndo.apply(fDocument, TextEdit.CREATE_UNDO);
-			Change result= new UndoDocumentChange(getName(), fDocument, redo);
-			return result;
-		} catch (BadLocationException e) {
-			throw Changes.asCoreException(e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoManager.java b/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoManager.java
deleted file mode 100644
index ba951b7..0000000
--- a/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/UndoManager.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.core.refactoring;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Stack;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.IUndoManager;
-import org.eclipse.ltk.core.refactoring.IUndoManagerListener;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * Default implementation of IUndoManager.
- */
-public class UndoManager implements IUndoManager {
-
-	private Stack fUndoChanges;
-	private Stack fRedoChanges;
-	private Stack fUndoNames;
-	private Stack fRedoNames;
-
-	private ListenerList fListeners;
-
-	/**
-	 * Creates a new undo manager with an empty undo and redo stack.
-	 */
-	public UndoManager() {
-		flush();
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public void addListener(IUndoManagerListener listener) {
-		if (fListeners == null)
-			fListeners= new ListenerList();
-		fListeners.add(listener);
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public void removeListener(IUndoManagerListener listener) {
-		if (fListeners == null)
-			return;
-		fListeners.remove(listener);
-		if (fListeners.size() == 0)
-			fListeners= null;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void aboutToPerformChange(Change change) {
-		if (fListeners == null)
-			return;
-		Object[] listeners= fListeners.getListeners();
-		for (int i= 0; i < listeners.length; i++) {
-			((IUndoManagerListener)listeners[i]).aboutToPerformChange(this, change);
-		}
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public void changePerformed(Change change) {
-		if (fListeners == null)
-			return;
-		Object[] listeners= fListeners.getListeners();
-		for (int i= 0; i < listeners.length; i++) {
-			((IUndoManagerListener)listeners[i]).changePerformed(this, change);
-		}
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public void aboutToPerformRefactoring() {
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public void refactoringPerformed(boolean success) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see IUndoManager#shutdown()
-	 */
-	public void shutdown() {
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public void flush() {
-		flushUndo();
-		flushRedo();
-	}
-
-	private void flushUndo() {
-		if (fUndoChanges != null) {
-			sendDispose(fUndoChanges);
-		}
-		fUndoChanges= new Stack();
-		fUndoNames= new Stack();
-		fireUndoStackChanged();
-	}
-
-	private void flushRedo() {
-		if (fRedoChanges != null) {
-			sendDispose(fRedoChanges);
-		}
-		fRedoChanges= new Stack();
-		fRedoNames= new Stack();
-		fireRedoStackChanged();
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public void addUndo(String refactoringName, Change change) {
-		Assert.isNotNull(refactoringName, "refactoring"); //$NON-NLS-1$
-		Assert.isNotNull(change, "change"); //$NON-NLS-1$
-		fUndoNames.push(refactoringName);
-		fUndoChanges.push(change);
-		flushRedo();
-		fireUndoStackChanged();
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public RefactoringStatus performUndo(IProgressMonitor pm) throws CoreException {
-		RefactoringStatus result= new RefactoringStatus();
-
-		if (fUndoChanges.empty())
-			return result;
-
-		Change change= (Change)fUndoChanges.pop();
-
-		Change redo= executeChange(result, change, pm);
-
-		if (!result.hasFatalError()) {
-			if (redo != null && !fUndoNames.isEmpty()) {
-				fRedoNames.push(fUndoNames.pop());
-				fRedoChanges.push(redo);
-				fireUndoStackChanged();
-				fireRedoStackChanged();
-			} else {
-				flush();
-			}
-		} else {
-			flush();
-		}
-		return result;
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public RefactoringStatus performRedo(IProgressMonitor pm) throws CoreException {
-		RefactoringStatus result= new RefactoringStatus();
-
-		if (fRedoChanges.empty())
-			return result;
-
-		Change change= (Change)fRedoChanges.pop();
-
-		Change undo= executeChange(result, change, pm);
-
-		if (!result.hasFatalError()) {
-			if (undo != null && !fRedoNames.isEmpty()) {
-				fUndoNames.push(fRedoNames.pop());
-				fUndoChanges.push(undo);
-				fireRedoStackChanged();
-				fireUndoStackChanged();
-			}
-		} else {
-			flush();
-		}
-
-		return result;
-	}
-
-	private Change executeChange(final RefactoringStatus status, final Change change, IProgressMonitor pm) throws CoreException {
-		final Change[] undo= new Change[1];
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				boolean undoInitialized= false;
-				try {
-					monitor.beginTask("", 11); //$NON-NLS-1$
-					status.merge(change.isValid(new SubProgressMonitor(monitor, 2)));
-					if (status.hasFatalError()) {
-						return;
-					}
-
-					ResourcesPlugin.getWorkspace().checkpoint(false);
-					aboutToPerformChange(change);
-					
-					undo[0]= change.perform(new SubProgressMonitor(monitor, 8));
-					
-					ResourcesPlugin.getWorkspace().checkpoint(false);
-					changePerformed(change);
-					change.dispose();
-					if (undo[0] != null) {
-						undo[0].initializeValidationData(new SubProgressMonitor(monitor, 1));
-						undoInitialized= true;
-					}
-				} catch (CoreException e) {
-					flush();
-					if (undo[0] != null && undoInitialized) {
-						Change ch= undo[0];
-						undo[0]= null;
-						ch.dispose();
-					} else {
-						undo[0]= null;
-					}
-					throw e;
-				} catch (RuntimeException e) {
-					flush();
-					if (undo[0] != null && undoInitialized) {
-						Change ch= undo[0];
-						undo[0]= null;
-						ch.dispose();
-					} else {
-						undo[0]= null;
-					}
-					throw e;
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		ResourcesPlugin.getWorkspace().run(runnable, pm);
-		return undo[0];
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public boolean anythingToRedo() {
-		return !fRedoChanges.empty();
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public boolean anythingToUndo() {
-		return !fUndoChanges.empty();
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public String peekUndoName() {
-		if (fUndoNames.size() > 0)
-			return (String)fUndoNames.peek();
-		return null;
-	}
-
-	/*
-	 * (Non-Javadoc) Method declared in IUndoManager.
-	 */
-	public String peekRedoName() {
-		if (fRedoNames.size() > 0)
-			return (String)fRedoNames.peek();
-		return null;
-	}
-
-	private void fireUndoStackChanged() {
-		if (fListeners == null)
-			return;
-		Object[] listeners= fListeners.getListeners();
-		for (int i= 0; i < listeners.length; i++) {
-			((IUndoManagerListener)listeners[i]).undoStackChanged(this);
-		}
-	}
-
-	private void fireRedoStackChanged() {
-		if (fListeners == null)
-			return;
-		Object[] listeners= fListeners.getListeners();
-		for (int i= 0; i < listeners.length; i++) {
-			((IUndoManagerListener)listeners[i]).redoStackChanged(this);
-		}
-	}
-	
-	private void sendDispose(Collection collection) {
-		for (Iterator iter= collection.iterator(); iter.hasNext();) {
-			Change change= (Change)iter.next();
-			change.dispose();
-		}
-	}
-	
-	//---- testing methods ---------------------------------------------
-	
-	public boolean testHasNumberOfUndos(int number) {
-		return fUndoChanges.size() == number;
-	}
-	
-	public boolean testHasNumberOfRedos(int number) {
-		return fRedoChanges.size() == number;
-	}
-}
diff --git a/org.eclipse.ltk.ui.refactoring.tests/.classpath b/org.eclipse.ltk.ui.refactoring.tests/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ltk.ui.refactoring.tests/.cvsignore b/org.eclipse.ltk.ui.refactoring.tests/.cvsignore
deleted file mode 100644
index fe99505..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-
diff --git a/org.eclipse.ltk.ui.refactoring.tests/.project b/org.eclipse.ltk.ui.refactoring.tests/.project
deleted file mode 100644
index f8663ef..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ltk.ui.refactoring.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.ltk.ui.refactoring.tests/about.html b/org.eclipse.ltk.ui.refactoring.tests/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/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.ltk.ui.refactoring.tests/build.properties b/org.eclipse.ltk.ui.refactoring.tests/build.properties
deleted file mode 100644
index 1ba17af..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               test.xml,\
-               about.html,\
-               plugin.properties,\
-               *.jar
-src.includes = about.html
-source.refuitests.jar = src/
diff --git a/org.eclipse.ltk.ui.refactoring.tests/plugin.properties b/org.eclipse.ltk.ui.refactoring.tests/plugin.properties
deleted file mode 100644
index cd36049..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= Refactoring UI Test Plug-in
-providerName= Eclipse.org
\ No newline at end of file
diff --git a/org.eclipse.ltk.ui.refactoring.tests/plugin.xml b/org.eclipse.ltk.ui.refactoring.tests/plugin.xml
deleted file mode 100644
index c9ee8c7..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ltk.ui.refactoring.tests"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.ltk.ui.refactoring.tests.RefactoringUITestPlugin">
-
-   <runtime>
-      <library name="refuitests.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ltk.ui.refactoring,org.eclipse.ltk.internal.ui.refactoring"/>
-      </library>
-   </runtime>
-   
-   <requires>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.ltk.core.refactoring"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ltk.ui.refactoring"/>
-   </requires>
-   
-</plugin>
diff --git a/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/AllTests.java b/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/AllTests.java
deleted file mode 100644
index a227bbe..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/AllTests.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.ltk.ui.refactoring.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-	
-	public static Test suite() {
-		TestSuite suite= new TestSuite("All LTK Refactoring UI Tests"); //$NON-NLS-1$
-		suite.addTestSuite(EmptySuite.class);
-		return suite;
-	}
-}
-
diff --git a/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/EmptySuite.java b/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/EmptySuite.java
deleted file mode 100644
index 3d4f42a..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/EmptySuite.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.ui.refactoring.tests;
-
-import junit.framework.TestCase;
-
-public class EmptySuite extends TestCase {
-
-	public void test0() {
-	}
-}
diff --git a/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/RefactoringUITestPlugin.java b/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/RefactoringUITestPlugin.java
deleted file mode 100644
index 47cdc02..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/src/org/eclipse/ltk/ui/refactoring/tests/RefactoringUITestPlugin.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.ui.refactoring.tests;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class RefactoringUITestPlugin extends AbstractUIPlugin {
-	
-	private static RefactoringUITestPlugin fgDefault;
-	
-	public RefactoringUITestPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgDefault= this;
-	}
-
-	public static RefactoringUITestPlugin getDefault() {
-		return fgDefault;
-	}
-	
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}	
-}
diff --git a/org.eclipse.ltk.ui.refactoring.tests/test.xml b/org.eclipse.ltk.ui.refactoring.tests/test.xml
deleted file mode 100644
index 821f3ed..0000000
--- a/org.eclipse.ltk.ui.refactoring.tests/test.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.ltk.ui.refactoring.tests"/>
-  <property name="library-file"
-            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="refactoring-ui-folder" 
-              value="${eclipse-home}/refactoring_ui_folder"/>
-    <delete dir="${refactoring-ui-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${refactoring-ui-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.ltk.ui.refactoring.tests.AllTests"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-</project>
diff --git a/org.eclipse.ltk.ui.refactoring/.classpath b/org.eclipse.ltk.ui.refactoring/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.ltk.ui.refactoring/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ltk.ui.refactoring/.cvsignore b/org.eclipse.ltk.ui.refactoring/.cvsignore
deleted file mode 100644
index fe99505..0000000
--- a/org.eclipse.ltk.ui.refactoring/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-
diff --git a/org.eclipse.ltk.ui.refactoring/.project b/org.eclipse.ltk.ui.refactoring/.project
deleted file mode 100644
index 8d07c0b..0000000
--- a/org.eclipse.ltk.ui.refactoring/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ltk.ui.refactoring</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.ltk.ui.refactoring/about.html b/org.eclipse.ltk.ui.refactoring/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.ltk.ui.refactoring/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.ltk.ui.refactoring/build.properties b/org.eclipse.ltk.ui.refactoring/build.properties
deleted file mode 100644
index 9a2ea26..0000000
--- a/org.eclipse.ltk.ui.refactoring/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               *.jar
-src.includes = about.html,\
-               schema/
-source.refui.jar = src/
diff --git a/org.eclipse.ltk.ui.refactoring/plugin.properties b/org.eclipse.ltk.ui.refactoring/plugin.properties
deleted file mode 100644
index 2f7acb5..0000000
--- a/org.eclipse.ltk.ui.refactoring/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= Refactoring UI
-providerName= Eclipse.org
\ No newline at end of file
diff --git a/org.eclipse.ltk.ui.refactoring/plugin.xml b/org.eclipse.ltk.ui.refactoring/plugin.xml
deleted file mode 100644
index a5a34c3..0000000
--- a/org.eclipse.ltk.ui.refactoring/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ltk.ui.refactoring"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="refui.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ltk.ui.refactoring,org.eclipse.ltk.internal.ui.refactoring"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.ltk.core.refactoring"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-</plugin>
diff --git a/org.eclipse.ltk.ui.refactoring/scripts/exportplugin.xml b/org.eclipse.ltk.ui.refactoring/scripts/exportplugin.xml
deleted file mode 100644
index 7b9fe93..0000000
--- a/org.eclipse.ltk.ui.refactoring/scripts/exportplugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<project name="org.eclipse.jdt.ui" default="export" basedir="..">
-<!-- build script to create a plugin from org.eclipse.core.expressions -->
-
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ltk.ui.refactoring" />
-		<property name="version"  value="_3.0.0" />
-		<property name="dest"  value="${destdir}/${plugin}${version}" />
-	</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}/refui.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/refuisrc.zip">
-		    <fileset dir="src" />
-  		</zip>		
-	</target>
-</project>
diff --git a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIMessages.java b/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIMessages.java
deleted file mode 100644
index 2010654..0000000
--- a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIMessages.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.ui.refactoring;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class RefactoringUIMessages {
-
-	private static final String BUNDLE_NAME= "org.eclipse.ltk.internal.ui.refactoring.RefactoringUIMessages";//$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE= ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private RefactoringUIMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-	
-	public static String getFormattedString(String key, String arg) {
-		try{
-			return MessageFormat.format(RESOURCE_BUNDLE.getString(key), new String[] { arg });
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}	
-	}
-	
-	public static String getFormattedString(String key, Object arg) {
-		try{
-			return MessageFormat.format(RESOURCE_BUNDLE.getString(key), new Object[] { arg });
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}	
-	}
-	
-	public static String getFormattedString(String key, String[] args) {
-		try{
-			return MessageFormat.format(RESOURCE_BUNDLE.getString(key), args);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}	
-	}
-	
-	public static String getFormattedString(String key, Object[] args) {
-		try{
-			return MessageFormat.format(RESOURCE_BUNDLE.getString(key), args);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}	
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIMessages.properties b/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIMessages.properties
deleted file mode 100644
index 21a5529..0000000
--- a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIMessages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-RefactoringUIPlugin.internal_error=Internal Error
-RefactoringUIPlugin.listener_removed=Listener removed due to the following exception
\ No newline at end of file
diff --git a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIPlugin.java b/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIPlugin.java
deleted file mode 100644
index 6f7d08f..0000000
--- a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/RefactoringUIPlugin.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.internal.ui.refactoring;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import org.eclipse.ltk.ui.refactoring.IRefactoringUIStatusCodes;
-
-public class RefactoringUIPlugin extends AbstractUIPlugin {
-	
-	private static RefactoringUIPlugin fgDefault;
-	
-	public RefactoringUIPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		fgDefault= this;
-	}
-
-	public static RefactoringUIPlugin getDefault() {
-		return fgDefault;
-	}
-	
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-	
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	public static void log(Throwable t) {
-		IStatus status= new Status(
-			IStatus.ERROR, getPluginId(), 
-			IRefactoringUIStatusCodes.INTERNAL_ERROR, 
-			RefactoringUIMessages.getString("RefactoringUIPlugin.internal_error"),  //$NON-NLS-1$
-			t);
-		ResourcesPlugin.getPlugin().getLog().log(status);
-	}
-	
-	public static void logRemovedListener(Throwable t) {
-		IStatus status= new Status(
-			IStatus.ERROR, getPluginId(), 
-			IRefactoringUIStatusCodes.INTERNAL_ERROR, 
-			RefactoringUIMessages.getString("RefactoringUIPlugin.listener_removed"),  //$NON-NLS-1$
-			t);
-		ResourcesPlugin.getPlugin().getLog().log(status);
-	}
-}
diff --git a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/IRefactoringUIStatusCodes.java b/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/IRefactoringUIStatusCodes.java
deleted file mode 100644
index 928e7c5..0000000
--- a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/IRefactoringUIStatusCodes.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ltk.ui.refactoring;
-
-/**
- * Status codes used by the refactoring ui plug-in.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.core.runtime.Status
- * 
- * @since 3.0
- */
-public abstract class IRefactoringUIStatusCodes {
-
-	private IRefactoringUIStatusCodes() {
-		// no instance 
-	}
-	
-	/**
-	 * Status code (value 10000) indicating an internal error.
-	 */
-	public static final int INTERNAL_ERROR= 10000;
-
-}
diff --git a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/package.html b/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/package.html
deleted file mode 100644
index 4a25206..0000000
--- a/org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-                    
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-                    
-  <meta name="Author" content="IBM">
-                    
-  <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-  <title>Package-level Javadoc</title>
-    
-</head>
-<body>
-Under construction
-</body>
-</html>
diff --git a/org.junit/.classpath b/org.junit/.classpath
deleted file mode 100644
index e0b26de..0000000
--- a/org.junit/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry exported="true" kind="lib" path="junit.jar" sourcepath="/org.junit/junitsrc.zip"/>
-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-    <classpathentry kind="output" path=""/>
-</classpath>
diff --git a/org.junit/.project b/org.junit/.project
deleted file mode 100644
index 29a06e7..0000000
--- a/org.junit/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.junit</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.junit/about.html b/org.junit/about.html
deleted file mode 100644
index 173b5b1..0000000
--- a/org.junit/about.html
+++ /dev/null
@@ -1,46 +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>29th March, 2004</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>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as follows:</p>
-
-<p><b>JUnit 3.8.1</b></p>
-
-<p>The plug-in is accompanied by software developed by JUnit.org.  The JUnit 3.8.1 code included with the plug-in includes no modifications.
-Your use of JUnit 3.8.1 in both source and binary code form contained in the plug-in is subject to the terms and conditions of the CPL.
-The binary code is located in junit.jar and the source code is located in src.jar.</p>
-
-<p>i) IBM effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;</p>
-
-<p>ii) IBM effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;</p>
-
-<p>iii) IBM states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party.</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.junit/build.properties b/org.junit/build.properties
deleted file mode 100644
index c308cec..0000000
--- a/org.junit/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.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,\
-               junit.jar
-               
-src.includes = *.zip,about.html
-
-
diff --git a/org.junit/junit.jar b/org.junit/junit.jar
deleted file mode 100644
index 674d71e..0000000
--- a/org.junit/junit.jar
+++ /dev/null
Binary files differ
diff --git a/org.junit/junitsrc.zip b/org.junit/junitsrc.zip
deleted file mode 100644
index 8804909..0000000
--- a/org.junit/junitsrc.zip
+++ /dev/null
Binary files differ
diff --git a/org.junit/plugin.properties b/org.junit/plugin.properties
deleted file mode 100644
index 7e995ae..0000000
--- a/org.junit/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=JUnit Testing Framework
-providerName=Eclipse.org
diff --git a/org.junit/plugin.xml b/org.junit/plugin.xml
deleted file mode 100644
index 1e39fc5..0000000
--- a/org.junit/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-  name="%pluginName"
-  id="org.junit"
-  version="3.8.1"
-  provider-name="%providerName">
-
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-	  <packages prefixes="junit"/>
-    </library>
-  </runtime>
-</plugin>
diff --git a/org.junit/scripts/exportplugin.xml b/org.junit/scripts/exportplugin.xml
deleted file mode 100644
index 5574c67..0000000
--- a/org.junit/scripts/exportplugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<!-- build script to create JUnit Plugin -->
-<project name="org.junit" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.junit" />
-		<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}" />
-
-		<copy file="junit.jar" todir="${dest}"/>
-		<copy file="junitsrc.zip" todir="${dest}"/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="about.html" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-				
-	</target>
-</project>